阿里云物联网平台AMQP服务端订阅NodeJS Demo

简介: 服务端可以直接订阅产品下所有类型的消息:设备上报消息、设备状态变化通知、网关发现子设备上报、设备生命周期变更、设备拓扑关系变更。配置服务端订阅后,物联网平台会将产品下所有设备的已订阅类型的消息转发至您的服务端。本文主要演示如果使用NodeJs SDK进行AMQP服务端订阅

Step By Step

配置服务端订阅

1、创建消费组
图片.png

2、创建订阅
图片.png

参数获取

3、ConsumerGroupId获取位置
图片.png

4、AccessKeyId、AccessKeySecret及Uid获取

参考地址:阿里云常见参数获取位置

5、iotInstanceId 独享实例需要指定,公共实例配置为空即可。
图片.png

6、ClientId可以任意指定,例如设置为:tarodemo。

7、Host: ${uid}.iot-amqp.${regionId}.aliyuncs.com

例如:184*.iot-amqp.cn-shanghai.aliyuncs.com

SDK 安装

npm install rhea

图片.png

Code Sample
const container = require('rhea');
const crypto = require('crypto');

//建立连接。
var connection = container.connect({
    //接入域名,请参见AMQP客户端接入说明文档。
    'host': '18482************.iot-amqp.cn-shanghai.aliyuncs.com',
    'port': 5671,
    'transport':'tls',
    'reconnect':true,
    'idle_time_out':60000,
    //userName组装方法,请参见AMQP客户端接入说明文档。其中的iotInstanceId,购买的实例请填写实例ID,公共实例请填空字符串""。
    //'username':'${YourClientId}|authMode=aksign,signMethod=hmacsha1,timestamp=1573489088171,authId=${YourAccessKeyId},iotInstanceId=${YourIotInstanceId},consumerGroupId=${YourConsumerGroupId}|', 
    'username':'tarodemo|authMode=aksign,signMethod=hmacsha1,timestamp=1573489088171,authId=LTAIOZZgYXPsMbDA,iotInstanceId=,consumerGroupId=R45CIUGUE3LJie1uaFjI000100|', 
    //计算签名,password组装方法,请参见AMQP客户端接入说明文档。
    //'password': hmacSha1('${YourAccessKeySecret}', 'authId=${YourAccessKeyId}&timestamp=1573489088171'),
    'password': hmacSha1('v7C***********', 'authId=**********&timestamp=1573489088171'),
});

//创建Receiver-Link。
var receiver = connection.open_receiver();

//接收云端推送消息的回调函数。
container.on('message', function (context) {
    var msg = context.message;
    var messageId = msg.message_id;
    var topic = msg.application_properties.topic;
    var content = Buffer.from(msg.body.content).toString();
    
    // 输出内容
    console.log(content);

    //发送ack,注意不要在回调函数有耗时逻辑。
    context.delivery.accept();
});

//计算password签名。
function hmacSha1(key, context) {
    return Buffer.from(crypto.createHmac('sha1', key).update(context).digest())
        .toString('base64');
}
测试效果

图片.png

参考链接

Node.js SDK接入示例
阿里云常见参数获取位置

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
消息中间件 物联网 Java
阿里云物联网平台服务端订阅之AMQP
服务端可以直接订阅产品下所有类型的消息:设备上报消息、设备状态变化通知、网关发现子设备上报、设备生命周期变更、设备拓扑关系变更。配置服务端订阅后,物联网平台会将产品下所有设备的已订阅类型的消息转发至您的服务端。 AMQP(Advanced Message Queuing Protocol)即高级消息队列协议。您配置AMQP服务端订阅后,物联网平台会将产品下所有已订阅类型的消息,通过AMQP通道推送至您的服务端。
2629 0
阿里云物联网平台服务端订阅之AMQP
|
消息中间件 物联网 数据格式
阿里云物联网平台服务端订阅排查流程
服务端可以直接订阅产品下所有类型的消息:设备上报消息、设备状态变化通知、网关发现子设备上报、设备生命周期变更、设备拓扑关系变更。配置服务端订阅后,物联网平台会将产品下所有设备的已订阅类型的消息转发至您的服务端。本文梳理了问题排查流程,供开发者参考。
1197 0
阿里云物联网平台服务端订阅排查流程
|
消息中间件 JSON 网络协议
阿里云物联网平台设备历史属性上报及MNS服务端订阅
本文结合物联网平台最新推出的独享实例,在新的实例下面创建产品及设备,进行历史属性的上报测试,并进行 MNS 历史属性服务端订阅。
阿里云物联网平台设备历史属性上报及MNS服务端订阅
HH
|
消息中间件 物联网
阿里云物联网平台服务端订阅AMQP典型问题——Client failed to authenticate using SASL: PLAIN
服务端可以直接订阅产品下多种类型的消息:设备上报消息、设备状态变化通知、设备生命周期变更、网关发现子设备上报、设备拓扑关系变更等。配置服务端订阅后,物联网平台会将产品下所有设备的已订阅类型的消息转发至您的服务器。
HH
2988 0
阿里云物联网平台服务端订阅AMQP典型问题——Client failed to authenticate using SASL: PLAIN
|
消息中间件 JavaScript 物联网
阿里云物联网平台AMQP服务端订阅NodeJS Demo
服务端可以直接订阅产品下所有类型的消息:设备上报消息、设备状态变化通知、网关发现子设备上报、设备生命周期变更、设备拓扑关系变更。配置服务端订阅后,物联网平台会将产品下所有设备的已订阅类型的消息转发至您的服务端。本文主要演示如果使用NodeJs SDK进行AMQP服务端订阅
659 0
阿里云物联网平台AMQP服务端订阅NodeJS Demo
|
消息中间件 JavaScript 物联网
阿里云物联网平台AMQP服务端订阅NetSDK Demo
服务端可以直接订阅产品下所有类型的消息:设备上报消息、设备状态变化通知、网关发现子设备上报、设备生命周期变更、设备拓扑关系变更。配置服务端订阅后,物联网平台会将产品下所有设备的已订阅类型的消息转发至您的服务端。本文主要演示如果使用NET SDK进行AMQP服务端订阅。
1803 0
阿里云物联网平台AMQP服务端订阅NetSDK Demo
|
消息中间件 物联网 数据挖掘
物联网平台服务端订阅排查流程
服务端可以直接订阅产品下所有类型的消息:设备上报消息、设备状态变化通知、网关发现子设备上报、设备生命周期变更、设备拓扑关系变更。配置服务端订阅后,物联网平台会将产品下所有设备的已订阅类型的消息转发至您的服务端。
物联网平台服务端订阅排查流程
|
物联网 开发工具 Java
物联网平台实用技巧:通过服务端订阅(HTTP/2)获取设备状态
物联网很多业务场景中,时常需要获取设备的实时状态,以便根据不同的状态(在线或离线)做不同的处理。阿里云物联网平台提供服务端订阅功能来获取设备的状态信息。本文介绍通过HTTP/2通道订阅获取设备状态的方法
4289 0
|
Java 物联网 开发工具
物联网平台服务端订阅Java SDK解读
物联网平台服务端订阅Java SDK解读。
2444 0
|
3天前
|
供应链 安全 物联网
未来已来:区块链技术在物联网与虚拟现实中的融合创新
【9月更文挑战第30天】随着科技的飞速进步,区块链、物联网(IoT)和虚拟现实(VR)技术不断突破旧有边界,相互交织形成新的技术生态。本文将深入探讨这些技术的发展趋势,并分析它们如何在实际应用中相互促进,共同塑造我们的未来。我们将看到,通过智能合约和去中心化的特性,区块链为物联网设备提供了安全的数据交换平台;同时,物联网的广泛部署又为区块链技术带来了丰富的应用场景。而在虚拟现实领域,区块链不仅能够确保数字资产的安全交易,还能增强用户的沉浸式体验。这些技术的融合预示着一个更加互联、高效和可信的未来。
19 8

相关产品

  • 物联网平台
  • 下一篇
    无影云桌面