基于 MQTT 协议的连接¶
设备可以基于 MQTT 协议通过直连或者网关连接至 EnOS。MQTT 协议是一个基于 TCP/IP 协议的轻量级、开源的物联网协议。EnOS 的 MQTT 协议支持下列特性:
基于 topic 的数据订阅和发布,通信资源被 topic 隔离,以避免设备越权获取数据。
反向远程过程调用(Revert-RPC,简称 RRPC),支持云端对设备的实时控制、状态查询和同步交互。
MQTT 端口信息¶
域名 |
端口 |
协议 |
是否支持基于证书的双向认证 |
---|---|---|---|
mqtt-{env} |
11883 |
TCP |
否 |
mqtt-{env} |
18883 |
TCP + TLS |
是 |
其中,{env}
是当前 EnOS 环境的域名。例如你登录的 EnOS 域名为 app-portal-cn5.envisioniot.com
,则域名为 mqtt-cn5.envisioniot.com
。
MQTT 协议版本¶
EnOS 支持下列版本的 MQTT:
对于使用基于密钥的单向认证的设备,支持 MQTT v3.1.1 ,端口号为 11883。
对于使用基于证书的双向认证的设备,支持 SSL/TLS 层的 MQTT v3.1.1,端口号为 18883。
接入流程¶
设备通过 MQTT 协议接入 EnOS 云端的典型流程如下:
注册设备以获取鉴权三元组:
ProductKey
,DeviceKey
和DeviceSecret
。开发设备端程序,将设备接入 EnOS 云端。EnOS 提供了下列 SDK 供你开发自己的设备端程序:
关于各 SDK 功能清单详情,参见 使用设备端 SDK 开发设备。
如果 EnOS 提供的 SDK 无法满足你的需求,你也可以基于 EnOS 的 MQTT 参数规定,开发自己的 MQTT 接入协议。更多信息,参见 基于 MQTT 协议的设备连接。
设备传递三元组以完成激活,并开始传输数据。