Topic路由表- IoT 设备一对多消息通信实战

在企业物联网项目中经常会遇到一对多消息分发需求,即一个消息发布者对应多个消息订阅者的场景(1:N)。IoT企业物联网平台提供了消息路由表能力,可以轻松实现一对多场景的消息实时同步,达到秒级延迟性能。

比如工厂生产设备监控场景,一个机床设备定时上报运行数据,运维人员可以在坐在办公室电脑前用浏览器Web实时查看设备状态,也可以通过随身携带的手机上的App/小程序查看机床实时运行数据。

一对多消息同步操作步骤:

① 通过 API 建立 Topic 路由表 

② 设备发布消息到 srcTopic 

③ IoT平台根据路由表分发到 dstTopic

路由表实战

1.创建产品

我们以一个PLC工控机把实时采集的运行数据同步到多端应用为例,创建3个产品:PLC工控机远程Web应用远程App应用。如下图:

在PLC工控机产品的Topic类列表,创建自定义Topic,

/${productKey}/${deviceName}/user/data ,

权限设置为发布 ,如下图所示:

在远程App应用产品的Topic类列表,创建自定义Topic,

/${productKey}/${deviceName}/user/plc2App/data ,

权限设置为订阅。如下图所示:

在远程App应用产品的Topic类列表,创建自定义Topic,

/${productKey}/${deviceName}/user/plc2web/data ,

权限设置为订阅。如下图所示:

2.注册设备

然后,在三个产品下分别添加设备,如下图:

配置路由表

根据业务场景,我们梳理出路由表的定义,如下:

3.创建路由表

阿里云命令行工具Cloud Shell 创建路由表:

https://shell.aliyun.com/

也可以通过OpenAPI控制台的可视化界面发起CreateTopicRouteTable API调用,如下图:

https://help.aliyun.com/document_detail/69910.html

或者通过编程方式实现,Node.js示例如下:

4.查询路由表

配置完成后,在 Cloud Shell 查询路由表操作如下:

也可以通过OpenAPI控制台的可视化界面发起 QueryTopicRouteTable API调用,如下图:

https://help.aliyun.com/document_detail/69918.html

设备联机运行

PLC工控机M001设备,用来模拟设备上报数据到IoT平台,代码示例如下:

android002设备模拟,用来接收IoT平台路由表流转过来的数据,代码示例:

管理页面 web001逻辑和android002类似,仅需要修改对应的订阅 subTopic 即可。

三个设备端运行日志:

路由表日志

进入监控运维的日志服务页面,我们可以查看到PLC工控机上报数据到IoT物联网平台的日志,如下图:

选择远程应用web,我们可以查看到 web001 接收到IoT物联网平台转发的M001工控机上报的数据日志,如下图:

往期推荐

1、39张传感器工作原理GIF图汇总

2、智能手持测温枪开发实践

3、JMeter压测MQTT服务性能实战

4、IoT物联网平台日志服务详解

5、自建MQTT集群迁移阿里云IoT实践

6、工业Modbus电力104规约接入IoT平台

7、设备免烧录三元组,即时注册解决方案

8、IoT+TSDB+Quick BI 搭建楼宇环境监控

9、JS全栈开发,构建智能家居小程序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值