更新时间:2023-11-16 GMT+08:00

编解码插件

什么是编解码插件

编解码插件是供物联网平台调用,可以完成二进制格式与JSON格式相互转换、也可以完成JSON格式之间的转换。MQTT协议的设备建议使用JS插件、FunctionGraph、LwM2M协议的设备建议使用图形化插件、离线开发插件。

以NB-IoT场景为例,NB-IoT设备和物联网平台之间采用CoAP协议通讯,CoAP消息的payload为应用层数据,应用层数据的格式由设备自行定义。由于NB-IoT设备一般对省电要求较高,所以应用层数据一般不采用流行的JSON格式,而是采用二进制格式。但是,物联网平台与应用侧使用JSON格式进行通信。因此,您需要开发编码插件,供物联网平台调用,以完成二进制格式和JSON格式的转换。

数据上报流程

图1 数据上报流程图

在数据上报流程中,有两处需要用到编解码插件:

  • 将设备上报的二进制码流解码成JSON格式的数据,发送给应用服务器。
  • 将应用服务器响应的JSON格式数据编码成二进制码流,下发给设备。

命令下发流程

图2 命令下发流程图

在命令下发流程中,有两处需要用到编解码插件:

  • 将应用服务器下发的JSON格式数据编码成二进制码流,下发给设备。
  • 将设备响应的二进制码流解码成JSON格式的数据,上报给应用服务器。

编解码插件开发方法

物联网平台提供了多种开发编解码插件的方法,您可以根据自己需求,选择对应的方法开发编解码插件。由于离线开发编解码插件的方法较为复杂,且耗时比较长,我们推荐使用图形化开发编解码插件脚本化开发

  • 图形化开发:是指在设备接入控制台,通过可视化的方式快速开发一款产品的编解码插件。详细请参考图形化开发
  • 脚本化开发:是指使用JavaScript脚本实现编解码的功能。详细请参考脚本化开发
  • FunctionGraph开发:是指通过FunctionGraph来实现编解码的功能。详细请参考FunctionGraph开发