文档首页/ 设备接入 IoTDA/ 最佳实践/ 设备接入/ 通过协议转换网关实现泛协议设备接入
更新时间:2023-09-26 GMT+08:00

通过协议转换网关实现泛协议设备接入

场景说明

目前平台只支持MQTT/HTTP/LWM2M等标准协议接入,如果设备是其他协议(统称为第三方协议),怎么接入平台?

由于第三方协议设备不能直接接入平台,需要在平台外部完成协议转换。我们推荐使用网关来完成协议转换,将第三方协议转成MQTT协议。我们把用来进行协议转换的网关叫做协议转换网关。

实现原理

方案总体架构框图如下:

协议转换网关是一个网关,可以部署在云上或者本地。第三方协议设备作为协议转换网关的子设备接入平台。

协议转换网关一般由三部分组成:

  1. 第三方协议接入。完成第三方协议的解析,鉴权。
  2. 协议转换。负责完成第三方协议数据和平台格式数据的互相转换。
    • 上行:把第三方协议数据转成平台格式数据,并调用设备SDK接口进行上报。
    • 下行:收到平台下行数据时,转换为第三方协议数据转发给第三方协议设备。
  3. 设备SDK。即平台提供的设备接入SDK,提供了网关的通用功能实现,用户可以在此基础上实现自己的网关。

业务流程

  1. 在物联网平台上注册网关,详细方法请参考设备注册
  2. 网关上电,连接到平台,连接所需的鉴权参数在注册网关时获取。
  3. 用户在平台上注册子设备时,平台下发添加子设备事件到网关。网关收到后,保存子设备信息到本地并持久化(SDK提供了默认的持久化实现,用户可以自定义扩展)。
  4. 第三方协议设备连接到网关。网关根据子设备信息对设备进行鉴权。
  5. 设备上报数据到网关。网关转换为平台格式数据后,调用SDK的上报子设备属性/消息 的接口上报给平台。
  6. 平台向设备下发命令。网关收到后,转换为第三方协议,转发给子设备。设备收到后对命令进行处理。

协议转换网关的具体实现

网关具体实现和使用方法参见 Java版本C版本