阿里云物联网套件设备间互相通信_规则引擎
2018-04-12 本文已影响250人
风逝_5329
接入阿里云物联网套件基础版、接入过程详见阿里云文档
https://help.aliyun.com/product/30520.html
本来以为mqtt的订阅和发布 是直接支持M2M,即设备和设备之间通信的,不需要什么配置。错误实验过程如下
设备1 device1 用来发布topic 和payload productKEY/device2/drive payload=1
设备2 device2 订阅topic productKEY/device2/drive
结果设备1、设备2都上线之后 设备1调用发布报错code 520
后来发现,默认不支持M2M通信 需要加规则引擎 过程如下
1 2 3图3(上)只需要填写对应的产品名 和发布设备的topic名
4选择添加操作 填写订阅设备的topic值即可
到这里本来以为什么都OK了 在发布设备上 发布一个productKey/发布设备名/topic值(如XXXX/contralphone/drive)payload=1 没有反应 看日志 报错playload is not json
所以m2m不能像用api或者直接在管理后台哪有 直接写payload的值而是要转成json 比如
{"protocolMessageId":"1","topic":"/PUQIWwvKCJl/contralphone/drive"}
转成json后 就可以实现M2M了
不理解为什么不能直接夸设备订阅。可能有个中含义吧 另注:用阿里云文档中API的方式发布消息,接入过程中也是有坑的 。