设备接入 IoTDA
设备接入 IoTDA
- 最新动态
- 功能总览
- 服务公告
- 计费说明
- 产品介绍
- 快速入门
- 用户指南
- 最佳实践
- 开发指南
-
API参考
- 应用侧API参考
- 设备侧MQTT/MQTTS接口参考
- 设备侧HTTPS接口参考
- 设备侧LwM2M接口参考
- 安全隧道WebSocket接口参考
- 模组AT指令参考
- 修订记录
- SDK参考
- 场景代码示例
-
常见问题
- 热门问题
-
方案咨询
- 连接IoT平台的业务场景有哪些?
- 设备管理服务和设备接入服务合一后的差异点是什么?
- IAM子用户或子项目是否可以开通物联网平台服务?
- 物联网平台支持在华为云的哪些区域开通?
- 华为是否提供模组/硬件终端/应用软件等?
- IAM用户访问API提示没有权限?(是否区分版本?)
- 创建规则或者设置资源文件存储时候提示赋予Security Administrator权限
- 物联网平台设置默认资源空间的规则是什么?
- 设备接入服务如何获取设备数据?
- 物联网平台的资源空间和设备可以无限创建吗?
- 物联网平台支持批量注册设备吗?
- 物联网平台对应用侧和设备侧在开发或使用时有限制吗?
- 物联网平台支持的DTLS加密算法有哪些?
- 物联网平台支持二进制大小端模式切换吗?
- 什么是NB-IoT?
- 物联网平台支持的硬件架构和使用的相关组件有哪些?
- 如何获取平台接入地址?
- 设备集成相关问题
- 设备侧SDK相关问题
- 设备发放相关问题
- LWM2M/CoAP接入相关问题
- MQTT接入相关问题
- 泛协议接入相关问题
- 物模型相关问题
- 消息通信相关问题
- 订阅推送相关问题
- 编解码插件相关问题
- OTA升级相关问题
- 应用集成相关问题
- 实例管理相关问题
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
设备间消息通信使用示例
前置步骤
配置流转规则
- 访问设备接入服务,单击“管理控制台”进入设备接入控制台。选择您的实例,单击实例卡片进入。
- 左侧导航栏单击“规则 > 数据转发”,进入数据转发界面。
图1 数据转发-列表
- 在“数据转发>规则列表”界面单击“创建规则”,填写规则参数,设置转发数据,配置数据过滤语句为:STARTS_WITH(notify_data.body.topic,'/test/M2M/')。
说明:
- 图2 创建数据转发规则的设置代表:在资源空间XXX中的所有设备,Topic中包含/test/M2M/的消息上报,都会触发该流转规则,转发到设置的转发目标。
- 若希望指定某个设备上报的数据进行流转,可在SQL语句中添加:AND notify_data.header.device_id='${对应的设备ID}'。
- 若希望指定某种产品上报的数据进行流转,可在SQL语句中添加:AND notify_data.header.product_id='${对应的产品ID}'。
图3 数据转发-M2M_SQL语句示例
- 关于SQL的设置,详情可见:SQL语句。
- 设置转发目标。单击“添加”,设置转发目标为“设备”,Topic为:“$topic()”(转发后Topic不变),ttl设置为5分钟(数据缓存5分钟)。设置完成后单击“确定”。
图4 新建转发目标-转发至设备
说明:
由于对转发目标的范围是对应的资源空间(范围较大),只要在该资源空间下的设备进行订阅,都可以收到M2M下发的数据,因此对应的安全系数不高,在复杂场景下容易弄混,对设备侧代码配置较为麻烦。可以使用场景二: 端到端(M2M)+策略的方法管理设备的订阅与发布,从而解决该问题。
- 启动规则。单击页面中央的“启动规则”,完成规则设置。
图5 启动规则-转发至设备
策略配置
由于策略暂时只在华南友好局点开启,若在其他局点中使用M2M,可先跳过该步骤,直接进行验证。
- 访问设备接入服务,单击“管理控制台”进入设备接入控制台。选择您的实例,单击实例卡片进入。
- 左侧导航栏单击“设备 > 策略”,进入策略界面。
图6 设备策略-进入界面
- 在策略界面单击“创建策略”,填写策略参数,单击生成策略。策略的应用范围是资源空间(appId),其中资源“topic:”开头代表MQTT中的Topic,用于发布与订阅。允许发布和订阅主题:/test/M2M/*。
图7 设备策略-创建策略(M2M)
- 绑定策略。下面以某个设备为例进行绑定。选择策略目标类型,单击需要绑定策略的产品或设备。
图8 设备策略-绑定设备
验证
- 使用设备间消息通信功能时,具体步骤如下:
- 在1中创建的产品下分别注册设备A(test111)和设备B(test222),详细步骤可参考注册单个设备。
图10 设备-注册M2M设备
- 您可以根据自己的业务场景来实现设备间消息通信。下面以MQTT.fx为例说明如何进行设备间消息通信:
- 打开两个MQTT.fx,分别模拟设备A(test111)、B(test222)。如何使用MQTT.fx可参考使用Mqtt.fx调测使用Mqtt.fx调测。
- 设备B在Subscribe页面中输入Topic“ /test/M2M/#”后,单击“Subscribe”订阅。
图11 设备B(test222)在Subscribe页面中输入topic
- 设备A(test111)向设备B(test222)发送消息,在设备A(test111)的MQTT.fx的“Publish”页面中,输入topic“/test/M2M/${任意单词}”(其中“${任意单词}”替换成任意单词) ,在内容输入框中输入要发送的消息(如:hello)单击“Publish”即可发送。
图12 设备A Publish页面输入消息
在设备B的Subscribe页面可以看到接收的消息如下:
图13 设备B Subscribe页面展示
父主题: 设备间消息通信(M2M)