乐趣区

关于物联网:ThingsKit物联网平台设备MQTT接入

入门介绍

MQTT 基础知识

MQTT 全称 Message Queuing Telemetry Transport,它是一种基于音讯队列的轻量级应用层通信协议,实现了音讯公布和订阅。设施能够作为客户端的模式通过它来公布和接管音讯,实现数据上报和实时控制。设计用于具备低带宽的受限设施。因而,它是物联网设施接入的完满解决方案。您能够在此处找到无关 MQTT 的更多信息。
ThingsKit 平台提供了规范的 MQTT 接入协定,反对 MQTTv3.1/v.5,任何反对 MQTT 协定的设施都能够通过相应的 MQTT 客户端代码接入云平台。

MQTT 身份认证

设施通过 MQTT 协定连贯平台时,须要实现基于 MQTT 的身份认证,平台反对以下认证形式。

一般认证形式

对于一般认证形式,在 MQTT 连贯时,应用基于 username/password 的认证形式,须要用到设施的一般证书,如下:

MQTT 连贯参数 阐明
username AccessToken 设施创立后主动生成,每个设施惟一,量产设施可通过 API 主动获取AccessToken,实现一型一密。
password ProjectKey 我的项目创立后主动生成,不反对批改。
clientId 空或任意 不对 clientid 做任何限度,可随便填写。

要留神的是,ThingsKit 对同一个设施身份信息只反对一个 MQTT 连贯,也就是说,如果在两个或多个物理设施中,应用同样的 username/password 身份信息连贯平台,即使 clientid 应用不同的字符串,平台依然将这些连贯视为同一个设施,这会导致后一个设施连贯胜利后会顶掉之前的设施连贯。

X.509TLS 认证形式

在一些对通信安全要求严格的物联网畛域,比方智能门锁、电表、水表、燃气表等,您能够应用基于 X.509TLS 的 MQTT 平安认证形式。
更进一步的物联网安全措施,能够在设施端集成 SE 平安芯片,或应用内置 SE 平安芯片的通信模组,实现设施和平台双向认证。

遥测上传主题

为了将遥测数据公布到 ThingsBoard 服务器,请将 PUBLISH 音讯发送到以下主题:

v1/devices/me/telemetry

数据格式:

{"key1":"value1", "key2":"value2"}

或者

[{"key1":"value1"}, {"key2":"value2"}]

:::info
💡提醒
在这种状况下,服务器端工夫戳将主动调配给上传的数据!
:::
如果您的设施可能获取客户端工夫戳,您能够应用以下格局:

{"ts":1451649600512, "values":{"key1":"value1", "key2":"value2"}}

管制接口 RPC 调用

服务器端调用 RPC

为了从服务器订阅 RPC 命令,发送 SUBSCRIBE 音讯到以下主题:

v1/devices/me/rpc/request/+

客户端调用 RPC

为了向服务器发送 RPC 命令,向以下主题发送 PUBLISH 音讯:

v1/devices/me/rpc/request/$request_id

附:模仿设施接入示例

模仿直连设施 MQTT 接入
文章起源(首发地址):ThingsKit 物联网平台

退出移动版