入门介绍

MQTT基础知识

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

MQTT身份认证

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

一般认证形式

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

MQTT连贯参数阐明
usernameAccessToken设施创立后主动生成,每个设施惟一,量产设施可通过API 主动获取AccessToken,实现一型一密。
passwordProjectKey我的项目创立后主动生成,不反对批改。
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物联网平台