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

  • SUSE Linux Enterprise Server
    • Release version: SUSE Linux Enterprise Server 12 SP2 (x86_64); kernel version: Linux version 4.4.21; GCC version: gcc version 4.8.5 (SUSE Linux)
    • Release version: SUSE Linux Enterprise Server 11 SP3 (i586); kernel version: Linux version 3.0.76-0.11-pae; GCC version: gcc version 4.3.4 [gcc-4_3-branch revision 152973] (SUSE Linux)
  • Ubuntu
    • Release version: Ubuntu 14.04.5; kernel version: Linux version 3.5.0; GCC version: gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
    • Release version: Ubuntu 14.04.5; kernel version: Linux version 3.13.0-24; GCC version: gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1)
    • Release version: Ubuntu 14.04; kernel version: Linux version 3.13.0; GCC version: gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1)
  • Centos
    • Release version: CentOS release 6.7; kernel version: Linux version 2.6.32; GCC version: gcc version 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC)
    • Release version: CentOS; kernel version: Linux version 3.10.0; GCC version: gcc version 4.8.3 20140911 (Red Hat 4.8.3-9)
  • x86_64 Windows: There is no version restriction as long as it can run the JVM.
  • Android: Android 5.0 or later is required. Other OSs have no version restriction.

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.