设备接入 IoTDA-MQTT使用指导:MQTT设备与物联网平台通信
MQTT设备与 物联网平台 通信
设备使用MQTT协议接入平台时,平台和设备通过Topic进行通信。物联网平台预置了Topic,通过这些预置的Topic,平台和设备可以实现消息、属性、命令的交互。您还可以在设备接入控制台,自定义Topic,实现设备平台通信的个性化配置。
数据类型 |
消息类型 |
说明 |
---|---|---|
数据上行 |
设备属性上报 |
用于设备按产品模型中定义的格式将属性数据上报给平台。 |
设备消息上报 |
设备无法按照产品模型中定义的属性格式进行数据上报时,将设备的自定义数据通过设备消息上报接口上报给平台,平台将设备上报的消息转发给应用服务器或华为云其他云服务上进行存储和处理。 |
|
网关批量属性上报 |
用于网关设备将多个设备的属性数据一次性上报给平台。 |
|
设备事件上报 |
用于设备按产品模型中定义的格式将事件数据上报给平台。 |
|
数据下行 |
平台消息下发 |
用于平台下发自定义格式的数据给设备。 |
平台设置设备属性 |
设备的产品模型中定义了平台可向设备设置的属性,平台/应用服务器可通过属性设置的方式修改指定设备的属性值。 |
|
平台查询设备属性 |
平台/应用服务器通过属性查询的方式,实时查询指定设备的属性数据。 |
|
平台命令下发 |
平台/应用服务器按产品模型中定义的命令格式下发控制命令给设备。 |
|
平台事件下发 |
平台/应用服务器按产品模型中定义的事件格式下发事件给设备。 |
Topic接口介绍
物联网平台预置的Topic如下表所示:
Topic分类 |
用途 |
Topic |
Public(发布者) |
Subscriber(订阅者) |
---|---|---|---|---|
设备消息相关Topic |
$oc/devices/{device_id}/sys/messages/up |
设备 |
平台 |
|
$oc/devices/{device_id}/sys/messages/down |
平台 |
设备 |
||
设备命令相关Topic |
$oc/devices/{device_id}/sys/commands/request_id={request_id} |
平台 |
设备 |
|
$oc/devices/{device_id}/sys/commands/response/request_id={request_id} |
设备 |
平台 |
||
设备属性相关Topic |
$oc/devices/{device_id}/sys/properties/report |
设备 |
平台 |
|
$oc/devices/{device_id}/sys/gateway/sub_devices/properties/report |
设备 |
平台 |
||
$oc/devices/{device_id}/sys/properties/set/request_id={request_id} |
平台 |
设备 |
||
$oc/devices/{device_id}/sys/properties/set/response/request_id={request_id} |
设备 |
平台 |
||
$oc/devices/{device_id}/sys/properties/get/request_id={request_id} |
平台 |
设备 |
||
属性查询响应结果,这个结果不会对设备属性和影子产生影响 |
$oc/devices/{device_id}/sys/properties/get/response/request_id={request_id} |
设备 |
平台 |
|
$oc/devices/{device_id}/sys/shadow/get/request_id={request_id} |
设备 |
平台 |
||
$oc/devices/{device_id}/sys/shadow/get/response/request_id={request_id} |
平台 |
设备 |
||
设备事件相关Topic |
$oc/devices/{device_id}/sys/events/up |
设备 |
平台 |
|
$oc/devices/{device_id}/sys/events/down |
平台 |
设备 |
另外,用户还可以通过在控制台上设置自定义Topic,上报用户个性化的数据。具体可参考自定义Topic。