设备接入 IOTDA-Node.js SDK接入示例:代码示例

时间:2024-07-30 14:22:53

代码示例

  1. 在本地计算机创建一个JavaScript文件(例:HwIotAmqpClient.js),保存以下示例代码到文件中。参考AMQP客户端接入说明修改相关连接参数。
    const container = require('rhea');
    //获取当前时间戳
    var timestamp = Math.round(new Date());
    
    //建立连接。
    var connection = container.connect({
         //接入 域名 ,请参考这里。
         'host': '${UUCID}.iot-amqps.cn-north-4.myhuaweicloud.com',
         'port': 5671,
         'transport': 'tls',
         'reconnect': true,
         'idle_time_out': 8000,
         //userName组装方法,请参考这里。
          'username': 'accessKey=${yourAccessKey}|timestamp=' + timestamp + '|instanceId=${instanceId}',
         //accessCode,请参考这里。
         'password': '${yourAccessCode}',
         'saslMechannisms': 'PLAIN',
         'rejectUnauthorized': false,
         'hostname': 'default',
    });
    
    //创建Receiver连接。 队列名,可以使用默认队列DefaultQueue
    var receiver = connection.open_receiver('${yourQueue}');
    
    //接收云端推送消息的回调函数。
    container.on('message', function (context) {
         var msg = context.message;
         var content = msg.body;
         console.log(content);
         //发送ACK,注意不要在回调函数有耗时逻辑。
         context.delivery.accept();
     });
  2. 进入上一步创建的文件(HwIotAmqpClient.js)所在目录,执行以下命令安装rhea库。
    npm install rhea

    安装完成后,项目文件如下图所示。

  3. 通过命令启动AMQP客户端,命令如下。
    node HwIotAmqpClient.js
  4. 运行结果示例
  • 订阅成功:

    显示如下日志代表AMQP客户端订阅成功,并成功获取到 物联网平台 数据。

  • 订阅失败

    以下日志代表AMQP客户端在物联网平台鉴权失败,请确认接入码是否正确,时间戳与标准时间的差异是否大于5分钟。

support.huaweicloud.com/usermanual-iothub/iot_01_00100_4.html