入门介绍
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 物联网平台