MQTT
MQTT 是轻量级基于代理的发布/订阅的消息传输协议,进行低带宽、不可靠或间歇性的通信。MQTT Server 为 MQTT 客户端提供 3.1 兼容版本的 MQTT API 接口连接服务,支持 QoS 0, QoS 1 的消息传递服务质量。
登陆 IoT 云平台官网,进入 开发者
页面,在 基本设置
中得到用于连接的 AppID(应用唯一标示符 - MQTT username/clientId), AppSecret(消息签名密钥 - MQTT password)。在 MQTT配置
中设置消息传输服务质量, Beta 阶段服务端默认 QoS 0。在 消息推送设置
中 设置消息传输模式为 安全模式
时,MQTT 推送的数据采用相同的加密方案对数据进行加密。
MQTT BROKER IP | 端口 | 是否加密 |
---|---|---|
iot.sensoro.com | 1883 | 安全模式下加密 |
一、客户端设置
连接 MQTT Server 之前,需要设置 username, password,clientId 等基本参数。
将从 IoT 云平台官网的
开发者
页面中得到的 AppID 作为 username,AppSecret 作为 password。
clientId 需要满足正则表达式
^#AppId#(\/[-_a-zA-Z0-9]{0,36})?$
。(假设 AppID 为foobar
,则 clientId 需要满足正则:^foobar(/[-_0-9a-zA-Z]{0,36})?$
;foobar
,foobar/
和foobar/abc
,都是合法的 clientID)。
注意:
如果有多个客户端使用相同的AppID,确保它们使用不同的clientID。
成功与服务器建立连接后立即被断开,并收到
[Error: Connection refused: Not authorized]
信息时,请确定填写的参数是否正确。
NodeJS 示例代码如下:
二、接收传感器数据推送(users/:APPID/devices)
MQTT 客户端通过 users/:APPID/devices
topic 接收传感器数据的推送,数据格式与 Webhook(自定义回调URL) 推送的数据格式一致。