Introduction to SDKs
SDK Classification
To help devices quickly connect to the platform, Huawei provides the AgentLite SDK, AgentTiny SDK, and LiteOS SDK. As shown in the following figure, devices that support the TCP/IP protocol stack can directly communicate with the platform after being integrated with the AgentLite or AgentTiny SDK. Devices that do not support the TCP/IP protocol stack, such as Bluetooth and Zigbee devices, need to use a gateway integrated with the AgentLite SDK to communicate with the platform. For intelligent devices, LiteOS can be integrated for communication with the platform. For more information about LiteOS, visit the official website of LiteOS.

Old SDKs use the V3 APIs provided by the platform. The address information displayed on the console, the certificates in documents, and the SDK resources use V5 APIs. The platform still supports V3 APIs. Old SDKs or APIs must be used together with the corresponding version of domain name and certificate.
For details about the differences, see Differences Between Old and New SDKs.
The following table describes the differences between the AgentLite and AgentTiny SDKs.
| SDK Type | Pre-integration Solution | IoT Protocols Supported |
|---|---|---|
| AgentLite SDK | Embedded devices with strong computing and storage capabilities, such as industrial gateways and collectors | HTTPS+MQTTS |
| AgentTiny SDK | Devices that have strict restrictions on power consumption, storage, and computing resources, such as single-chip microcomputer, chipsets, and modules | LwM2M over CoAP and MQTT |
The requirements for hardware and software are as follows.
| SDK Type | RAM Capacity | Flash Memory Capacity | CPU Frequency | OS Type and Version Requirements | Programming Language Supported |
|---|---|---|---|---|---|
| AgentLite SDK | > 4 MB | > 2 MB | > 200 MHz |
| Languages: C, Java, and Android |
| Agent Tiny SDK | > 32 KB | > 128 KB | > 100 MHz | There is no special requirements for the OS as long as it supports Internet connection. | Language: C |
Software Architecture
The figure below shows the software structure of the AgentTiny SDK. The AgentTiny SDK consists of the following layers:
- API layer: opens up the capabilities of the AgentTiny SDK. Devices call APIs to quickly access the Huawei IoT platform for data reporting and command delivery.
- Device-cloud interworking component layer: enables devices to access the Huawei IoT platform using MQTT and LwM2M over CoAP.
- IoT component layer: integrates IoT protocols such as LwM2M, CoAP, and MQTT. You can add user-defined protocols based on device features.
- Basic component layer: provides frameworks for drivers, sensors, and AT commands. You can adapt the frameworks to different hardware platforms.
- OS adaptation layer: provides OS kernels such as LiteOS and Linux. You can also add third-party OS kernels.
- Hardware abstraction layer (HAL): provides the cross compilation capability so that the AgentTiny can be integrated on different hardware platforms.

The AgentLite SDK architecture consists of the following modules:
- API module: opens up the capabilities of the AgentLite SDK. Devices call APIs to quickly access the Huawei IoT platform for data reporting and command delivery.
- Data reporting module: reports gateway and child device data to the IoT platform.
- Command receiving module: receives commands from the IoT platform to gateways and child devices.
- Callback listening module: enables third-party applications to obtain IoT platform messages from the AgentLite.
- Device-cloud interworking module: enables modules to access the Huawei IoT platform using MQTT.
- Log collection module: collects run logs of devices.
- Child device management layer: allows users to add and delete child devices and update device status.
- HAL module: provides the cross compilation capability so that the AgentLite can be integrated on different hardware platforms.

Last Article: Differences Between Old and New SDKs
Next Article: Application Python SDK API Reference
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.