100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 阿里云物联网平台设备间通信(通过规则引擎-云产品流转)

阿里云物联网平台设备间通信(通过规则引擎-云产品流转)

时间:2023-03-27 21:05:58

相关推荐

阿里云物联网平台设备间通信(通过规则引擎-云产品流转)

阿里云物联网平台设备间通信(通过规则引擎-云产品流转)

前言

我们正常的使用阿里云物联网平台,一般是:

设备通过物模型上报数据属性App通过云端API获取设备的数据属性App通过云端API调用设备的服务,来控制设备执行各种命令

一般都是设备和App的互动,很少有设备和设备间的通信。但是最近正好就有这种需求,所以开始研究,如何在阿里云物联网平台上面实现设备间通信。

自定义Topic

阿里云物联网平台给了很多Topic,基础通信Topic、物模型通信Topic,这些一看就不知道跟我们的需求没关系,不能乱用。直到看到了自定义Topic,一眼就相中了,感觉遇到了对的人。于是有了如下的思路。

新建一个自定义Topic/${productKey}/${deviceName}/user/m2mA设备订阅/${productKey}/aName/user/m2m主题B设备订阅/${productKey}/bName/user/m2m主题A设备如果想要给B设备发消息,只要往/${productKey}/bName/user/m2m 发送消息即可B设备就可以接收到A设备发送的消息

But,理想是美好的,现实是残酷的,阿里云物联网平台做了限制,设备只能给自身的Topic发送消息,不能给别的设备的Topic发送消息。所以在第4步就行不通,A设备无法往/${productKey}/bName/user/m2m 发送消息

所以,这一招失败,但是自定义Topic还是有用的。后面再说。

云产品流转

选择JSON格式

编写SQL

转发数据

这一步是关键,本来是只能转发到固定的设备,但是通过${target}设置了一个变量,即目标设备的deviceName。

具体操作

A设备订阅/${productKey}/aName/user/get主题B设备订阅/${productKey}/bName/user/get主题A设备如果想要给B设备发消息,只要往/${productKey}/aName/user/update 发送消息消息格式是JSON,里面必须包含target这个字段,target:bName云产品流转就将一条消息转发到/${productKey}/bName/user/getB设备就可以接收到A设备发送的消息,而且还可以从target这个字段知道是谁发消息给他

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。