步骤 :
1)环境安装 node.js (下载安装包,下一步.....就行了)
这个是我的版本
IT-C1MPD4X5G943:webpack11 ganjun$ node -v
v14.15.1
IT-C1MPD4X5G943:webpack11 ganjun$
2)安装nodejs的包管理器 cnpm
这个是我的版本
IT-C1MPD4X5G943:webpack11 ganjun$ cnpm -v
cnpm@6.1.1 (/usr/local/lib/node_modules/cnpm/lib/parse_argv.js)
npm@6.14.9 (/usr/local/lib/node_modules/cnpm/node_modules/npm/lib/npm.js)
node@14.15.1 (/usr/local/bin/node)
npminstall@3.28.0 (/usr/local/lib/node_modules/cnpm/node_modules/npminstall/lib/index.js)
prefix=/usr/local
darwin x64 20.2.0
registry=https://r.npm.taobao.org
3)参考官网代码
https://help.aliyun.com/document_detail/143599.html?spm=a2c4g.11186623.6.656.5dd67cd8K9IMzE
4)代码以及依赖
在package.json中添加以下依赖。
"dependencies": { "rhea": "^1.0.12" }
代码
constcontainer=require('rhea'); constcrypto=require('crypto'); //创建Connection。varconnection=container.connect({ //接入域名,请参见AMQP客户端接入说明文档。'host':'11112560*******.iot-amqp.cn-shanghai.aliyuncs.com', 'port':5671, 'transport':'tls', 'reconnect':true, 'idle_time_out':60000, //userName组装方法,请参见AMQP客户端接入说明文档。其中的iotInstanceId,企业版实例请填写实例ID,公共实例直接删除${YourIotInstanceId}。'username':'4444444444|authMode=aksign,signMethod=hmacsha1,timestamp=1573489088171,authId=LTAIVne33sFywOG8,iotInstanceId=,consumerGroupId=DEFAULT_GROUP|', //计算签名,password组装方法,请参见AMQP客户端接入说明文档。'password':hmacSha1('9ViU8**********', 'authId=LTAIVne33sFywOG8×tamp=1573489088171'), }); //创建Receiver Link。varreceiver=connection.open_receiver(); //接收云端推送消息的回调函数。container.on('message', function(context) { varmsg=context.message; varmessageId=msg.message_id; vartopic=msg.application_properties.topic; varcontent=Buffer.from(msg.body.content).toString(); // 输出内容。console.log(content); //发送ACK,注意不要在回调函数有耗时逻辑。context.delivery.accept(); }); //计算password签名。functionhmacSha1(key, context) { returnBuffer.from(crypto.createHmac('sha1', key).update(context).digest()) .toString('base64'); }