基于 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 云端的典型流程如下:

  1. 注册设备以获取鉴权三元组:ProductKey, DeviceKeyDeviceSecret

  2. 开发设备端程序,将设备接入 EnOS 云端。EnOS 提供了下列 SDK 供你开发自己的设备端程序:

    关于各 SDK 功能清单详情,参见 使用设备端 SDK 开发设备

    如果 EnOS 提供的 SDK 无法满足你的需求,你也可以基于 EnOS 的 MQTT 参数规定,开发自己的 MQTT 接入协议。更多信息,参见 基于 MQTT 协议的设备连接

  3. 设备传递三元组以完成激活,并开始传输数据。

相关信息


快速入门:将智能设备连接至 EnOS 云端