更新时间: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开发。
父主题: 消息通信