Codecs
Definition
IoTDA uses codecs to convert data between the binary and JSON formats as well as between JSON formats. For MQTT devices, use JavaScript and FunctionGraph to develop codecs. For LwM2M devices, use online (graphical) and offline codec development.
For example, in the NB-IoT scenario where devices use CoAP over UDP to communicate with the platform, the payload of CoAP messages carries data at the application layer, at which the data type is defined by the devices. As NB-IoT devices require low power consumption, data at the application layer is generally in binary format instead of JSON. However, the platform sends data in JSON format to applications. Therefore, codec development is required for the platform to convert data between binary and JSON formats.
Data Reporting
In the data reporting process, the codec is used in the following scenarios:
- Decoding binary data reported by a device into JSON data and sending the decoded data to an application
- Encoding JSON data returned by an application into binary data and sending the encoded data to a device
Command Delivery
In the command delivery process, the codec is used in the following scenarios:
- Encoding JSON data delivered by an application into binary data and sending the encoded data to a device
- Decoding binary data returned by a device into JSON data and reporting the decoded data to an application
Development Methods
The platform provides multiple methods for developing codecs. You can select a method as required. Offline codec development is complex and time-consuming. Graphical codec development and script-based codec development are recommended.
- Graphical development: The codec of a product can be quickly developed in a visualized manner on the IoTDA console. For details, see Online Development.
- Script-based development: JavaScript scripts are used to implement encoding and decoding. For details, see JavaScript Script-based Development.
- FunctionGraph development: FunctionGraph is used to implement encoding and decoding. For details, see FunctionGraph Documentation.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot