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
相关文章
|
1月前
|
存储 安全 物联网
使用 Java 进行物联网(IoT)应用开发
【4月更文挑战第19天】Java,凭借其跨平台特性和丰富库,成为物联网开发热门选择。开发者利用Java进行物联网应用开发,可实现设备连接、数据处理、数据库管理及安全保障。熟悉Java基础、物联网知识、数据通信和数据库管理是必备技能。利用MQTT客户端、数据存储框架和可视化工具能提升开发效率。随着物联网发展,Java在该领域的影响力将持续增强。
|
1月前
|
传感器 物联网 5G
物联网的通信技术以及Wi-Fi、一键配网技术、BLE、GPRS(2G)、LTE-Cat1 、NB-IoT简介
物联网的一个重要的特点是接入了网络,因此这些设备才能将传感器采集的数据上传到云平台,然后根据平台对数据的分析做出反应。而这种接入网络的技术,就是通信技术,是物联网的基础之一。通信的方式可以分为有线和无线两种方式,因为有线通信的成本较高,无线通信技术在物联网中应用比较广泛。
149 1
|
27天前
|
传感器 存储 机器学习/深度学习
物联网(IoT)简介:定义、技术与应用
【5月更文挑战第30天】物联网(IoT)是将物品通过嵌入式系统、传感器及通信技术连接至互联网,实现物物、物人交互和数据共享的技术。其关键包括传感器、通信、嵌入式系统、云计算和人工智能技术。物联网应用于智能家居、智慧城市、工业自动化、农业和健康医疗等领域,通过Arduino等平台可实现简单数据传输。随着技术发展,物联网将深远影响人们生活和工作方式。
119 3
|
8天前
|
传感器 人工智能 搜索推荐
人工智能(AI)与物联网(IoT)的融合是当今技术领域的一个重要趋势
人工智能(AI)与物联网(IoT)的融合是当今技术领域的一个重要趋势
|
9天前
|
安全 物联网 物联网安全
物联网(IoT)的兴起与挑战:技术变革的双刃剑
【6月更文挑战第17天】**物联网的崛起带来了智能家居、智慧城市等便利,但安全挑战、设备兼容性和带宽压力也随之而来。加强安全、统一标准及提升处理能力是关键。面对挑战,持续的技术创新和法规完善将推动其健康发展,物联网的未来充满希望。**
|
1月前
|
存储 NoSQL 物联网
【MongoDB 专栏】MongoDB 在物联网(IoT)领域的应用
【5月更文挑战第11天】MongoDB,一种灵活可扩展的非关系型数据库,在物联网(IoT)领域中大放异彩。应对海量设备产生的多样化数据,MongoDB的文档型数据结构适应性强,适合存储设备信息及传感器读数。其实时更新、强大查询语言、索引机制和扩展性(通过分片技术)满足物联网的高实时性、复杂查询和数据增长需求。尽管面临数据安全和管理挑战,MongoDB已广泛应用于智能家居、工业 IoT 和智能交通等领域,并有望随着物联网技术进步和与其他领域的融合,如人工智能、大数据,持续发展。未来,优化数据质量、提升并发处理能力将是关键,MongoDB将在物联网的智能未来中扮演重要角色。
【MongoDB 专栏】MongoDB 在物联网(IoT)领域的应用
|
30天前
|
存储 关系型数据库 物联网
【PolarDB开源】PolarDB在物联网(IoT)数据存储中的应用探索
【5月更文挑战第27天】PolarDB,阿里云的高性能云数据库,针对物联网(IoT)数据存储的挑战,如大规模数据、实时性及多样性,展现出高扩展性、高性能和高可靠性。它采用分布式架构,支持动态扩展,保证99.95%的高可用性,并能处理结构化、半结构化和非结构化数据。通过SDK实现数据实时写入,支持SQL查询和冷热数据分层,有效降低成本。随着IoT发展,PolarDB在该领域的应用将更加广泛。
129 1
|
1月前
|
传感器 数据采集 监控
什么是物联网通信网关?
物联网通信网关是连接物联网设备与云或外部网络的关键桥梁。
28 2
|
1月前
|
监控 安全 物联网
探索物联网(IoT)的潜力与挑战
【5月更文挑战第21天】物联网(IoT)技术正改变生活,从智能家居到智慧城市,提升生活便利性和工业效率。然而,安全问题、互操作性、成本及法规挑战并存。为实现物联网潜力,需强化技术、法规创新,保障安全与隐私。
|
1月前
|
传感器 监控 安全
IoT,即物联网
【5月更文挑战第15天】IoT,即物联网
23 1

热门文章

最新文章

相关产品

  • 物联网平台