haas506 2.0开发教程 - 阿里云M2M设备间通信 - 规则引擎/Topic消息路由
阿里云M2M设备间通信
M2M(即Machine-to-Machine)是一种端对端通信技术。本案例实现两块haas506开发板通信.向设备A输入信息,控制设备B的LED灯亮灭. 阿里云基于规则引擎的M2M设备间通信介绍
通信流程
→向开发板A输入信息 →开发板A将信息发布到/$ {productKey}/aName/user/update →规则引擎或Topic消息路由转发至 /$ {productKey}/bName/user/get →开发板B控制相应LED灯亮灭
具体流程 1.准备2块开发板 : 开发板A , 发送消息 ; 开发板B , 接收消息 .两块开发板都需要连接到云端 2.开发板A订阅 /$ {productKey}/aName/user/get主题 3.开发板B订阅 /$ {productKey}/bName/user/get主题 4.使用串口工具向开发板A的485串口发送消息,开发板A将接受到的消息发布到 /$ {productKey}/aName/user/update 5.设置规则引擎或Topic消息路由,将/$ {productKey}/aName/user/update中的数据转发给/$ {productKey}/bName/user/get 6.开发板B接受到消息,控制LED灯
功能实现
1.创建产品
2.设备端开发
将下列代码烧录至对应设备 设备A代码 设备B代码 两个代码都需要修改一下三元组信息: 修改cfg.json中的deviceName",“productKey”,"productSecret"后再烧写程序.
联云测试
- 正常连接后将打印如下log
- 云端也会显示在线
3.建立topic之间的联系
下列两种方法选择其中一种即可,两个同时建立设备B会收到2次消息.
方法一:规则引擎 - 云产品流转
- 规则引擎→云产品流转→创建规则
- 输入名字→使用json数据格式
- 设置处理数据,选择设备A对应产品及设备,选择user/update
- 设置转发数据 , 选择设备B对应产品与名字,选择user/get
- 启动规则
方法二:新建topic剪的消息路由关系
打开阿里OpenAPI Explorer 使用服务器,调用云端接口CreateTopicRouteTable,创建设备A与设备B之间的消息路由关系。
- 将入参SrcTopic指定为设备A的Topic:/$ {productKey}/aName/user/update
- 将入参DstTopics指定为设备B的Topic:/$ {productKey}/bName/user/get
M2M测试
- 设备A通过485发送信息,发送led1,设备B LED7灯会亮起,再次发送会关闭
- 发送led2时,设备B LED6灯会亮起,再次发送会关闭
|