IoT物联网平台通信用Topic梳理

简介: 基于设备实践梳理出来的Topic总结

1.前言

IoT物联网平台基于MQTT协议的Pub/Sub通信,那么topic和payload设计就很重要。
我们可以定义出不同topic来处理不同业务场景,类似web开发中的API设计。

2.自定义Topic类

2.1 默认自定义Topic

当我们创建产品后,系统会自动生成3个自定义topic,方便我们使用。

Topic 权限 备注
/${ProductKey}/${DeviceName}/user/update 发布 上报数据
/${ProductKey}/${DeviceName}/user/update/error 发布 上报错误事件
/${ProductKey}/${DeviceName}/user/get 订阅 接收云端数据

2.2 自定义Topic

默认topic是一个示范,我们可以根据业务需求,自己定义Topic和Payload,来解决现实中的问题。比如下面的示例:

Topic 权限 备注
/${ProductKey}/${DeviceName}/user/heart/post 发布 定期上报数据
/${ProductKey}/${DeviceName}/user/bizdata/post 发布 业务触发上报
/${ProductKey}/${DeviceName}/user/biz/control 订阅 接收云端指令
/${ProductKey}/${DeviceName}/user/config/modify 订阅 接收设备配置变更

对于设备上报数据,我们可以把不同优先级的消息做分类,通过规则引擎流转分流到不同队列,给予不同处理资源,避免重要业务消息延迟过高。
对于云端指令接收,我们也可以区分业务指令和配置指令,给予不同优先级。

3.系统Topic列表

3.1 设备影子 

用于实现设备影子功能,需要使用如下topic

Topic 权限 备注
/shadow/update/${ProductKey}/${DeviceName} 发布 更新设备影子 QoS=1
/shadow/get/${ProductKey}/${DeviceName} 订阅 获取设备影子

设备影子可以实现设备的运行参数的配置更新功能。

3.2 固件升级

Topic 权限 备注
/ota/device/inform//${ProductKey}/${DeviceName} 发布 上报当前固件版本
/ota/device/upgrade/${ProductKey}/${DeviceName} 订阅 接收OTA信息
/ota/device/progress/${ProductKey}/${DeviceName} 发布 上报OTA进度
/ota/device/request/${ProductKey}/${DeviceName} 发布 主动请求OTA信息

3.3 广播

Topic 权限 备注
/broadcast/${YourProductKey}/+ 订阅 接收广播信息

同一产品的设备,可以接收到云端的广播指令,由于IoT平台限制广播最大触达1000个设备。
这里我们可以把设备按规则做分组,不同组设备自动订阅不同group的topic,比如:

  • /broadcast/${YourProductKey}/group/a 
  • /broadcast/${YourProductKey}/group/b

3.4 RRPC通信

使用下面topic,IoT平台实现了基于mqtt协议的云端发起对设备的同步RPC调用

Topic 权限 备注
/sys/${ProductKey}/${DeviceName}/rrpc/request/+ 订阅 接收RRPC调用
/sys/${ProductKey}/${DeviceName}/rrpc/response/${msgId} 发布 响应msgId对应RRPC请求

3.5 设备标签

使用设备标签topic可以动态给设备添加运行时标签

Topic 权限 备注
/sys/${ProductKey}/${DeviceName}/thing/deviceinfo/update 发布 更新设备标签

3.6 远程配置

Topic 权限 备注
/sys/${ProductKey}/${DeviceName}/thing/config/get 发布 主动查询配置信息
/sys/${ProductKey}/${DeviceName}/thing/config/push 订阅 接收配置信息
/sys/${ProductKey}/${DeviceName}/thing/config/get_reply 订阅 接收配置信息

4.物模型通信

4.1 物模型JSON数据通信

Topic 权限 备注
/sys/${ProductKey}/${DeviceName}/thing/event/property/post 发布 上报属性数据
/sys/${ProductKey}/${DeviceName}/thing/event/property/post_reply 订阅 接收返回结果
/sys/${ProductKey}/${DeviceName}/thing/event/{identifer}/post 发布 上报事件数据
/sys/${ProductKey}/${DeviceName}/thing/event/{identifer}/post_reply 订阅 接收返回结果
/sys/${ProductKey}/${DeviceName}/thing/service/property/set 订阅 接收属性设置指令
/sys/${ProductKey}/${DeviceName}/thing/service/property/set_reply 发布 返回处理结果
/sys/${ProductKey}/${DeviceName}/thing/service/{identifer} 发布 接收服务调用指令
/sys/${ProductKey}/${DeviceName}/thing/service/{identifer}_reply 订阅 返回服务处理结果

4.2 物模型透传数据通信

Topic 权限 备注
/sys/${ProductKey}/${DeviceName}/thing/model/up_raw 发布 上报数据
/sys/${ProductKey}/${DeviceName}/thing/model/down_raw 订阅 接收云端指令

更多信息参考: https://www.yuque.com/cloud-dev/iot-tech/kg84mi

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
12天前
|
安全 物联网 网络安全
智能设备的安全隐患:物联网(IoT)安全指南
智能设备的安全隐患:物联网(IoT)安全指南
38 12
|
10天前
|
传感器 监控 安全
物联网(IoT):定义、影响与未来
物联网(IoT):定义、影响与未来
29 3
|
19天前
|
存储 JSON 运维
智能物联网平台:Azure IoT Hub在设备管理中的实践
【10月更文挑战第26天】随着物联网技术的发展,Azure IoT Hub成为企业管理和连接数百万台设备的强大平台。本文介绍Azure IoT Hub的设备管理功能,包括设备注册、设备孪生、直接方法和监控诊断,并通过示例代码展示其应用。
22 4
|
1月前
|
物联网 5G 智能硬件
物联网卡:物联网卡不支持语音通话,是如何实现设备间的数据传输和通信的?
物联网卡(IoT SIM卡)通常被设计用于支持物联网(IoT)设备之间的数据传输,而不直接支持语音通话功能。这是因为物联网设备主要关注的是数据的收集、传输和处理,而不是语音通信。为了实现设备间的数据传输和通信,物联网卡及其背后的技术采用了多种方法,主要包括但不限于以下几种方式:
物联网卡:物联网卡不支持语音通话,是如何实现设备间的数据传输和通信的?
|
18天前
|
SQL 监控 物联网
ClickHouse在物联网(IoT)中的应用:实时监控与分析
【10月更文挑战第27天】随着物联网(IoT)技术的快速发展,越来越多的设备被连接到互联网上,产生了海量的数据。这些数据不仅包含了设备的状态信息,还包括用户的使用习惯、环境参数等。如何高效地处理和分析这些数据,成为了一个重要的挑战。作为一位数据工程师,我在一个物联网项目中深入使用了ClickHouse,以下是我的经验和思考。
45 0
|
1月前
|
人工智能 安全 物联网
|
2月前
|
存储 物联网 关系型数据库
PolarDB在物联网(IoT)数据存储中的应用探索
【9月更文挑战第6天】随着物联网技术的发展,海量设备数据对实时存储和处理提出了更高要求。传统数据库在扩展性、性能及实时性方面面临挑战。阿里云推出的PolarDB具备高性能、高可靠及高扩展性特点,能有效应对这些挑战。它采用分布式存储架构,支持多副本写入优化、并行查询等技术,确保数据实时写入与查询;多副本存储架构和数据持久化存储机制保证了数据安全;支持动态调整数据库规模,适应设备和数据增长。通过API或SDK接入IoT设备,实现数据实时写入、分布式存储与高效查询,展现出在IoT数据存储领域的巨大潜力。
68 1
|
2月前
|
传感器 监控 安全
物联网通信的基石:LoRa、Sigfox与NB-IoT详解
物联网通信的基石:LoRa、Sigfox与NB-IoT详解
325 0
|
2月前
|
机器学习/深度学习 人工智能 算法
物联网(IoT)就像是一个大型派对,无数的设备都在欢快地交流着信息
【9月更文挑战第4天】在这个万物互联的时代,物联网(IoT)犹如一场盛大的派对,各类设备欢聚一堂。然而,如何让这些设备互相理解并协同工作呢?这就需要机器学习与人工智能的助力。例如,智能空调通过学习你的使用习惯来调节温度,使你更加舒适;智能安防系统则能识别异常行为并及时报警,保障家庭安全。此外,智能农业、交通等领域也因机器学习和人工智能的应用变得更加高效。下面通过一个简单的温度预测代码示例,展示机器学习在物联网中的实际应用,让我们一起感受其强大潜力。
61 0
|
3月前
|
消息中间件 传感器 物联网
Producer 在物联网 (IoT) 中的应用
【8月更文第29天】在物联网 (IoT) 领域,设备和传感器不断生成大量的数据。为了有效地收集、处理和分析这些数据,通常会采用消息队列技术。消息队列允许设备将数据发送给后端系统进行进一步处理。在这个过程中,消息生产者(Producer)扮演着关键角色,负责将数据从设备发送到消息队列。本文将详细介绍如何使用消息生产者来收集来自各种传感器和其他 IoT 设备的数据,并提供一个基于 Python 和 Kafka 的示例代码。
42 0

相关产品

  • 物联网平台