Updated on 2024-10-12 GMT+08:00

Device Access Guide

Device Access Mode

The Huawei Cloud IoTDA provides multiple access modes to meet the requirements of device fleets in different access scenarios. You can select a proper development mode based on the device type.

Development Mode

Feature

Scenario

Difficulty Level

Certificated MCU development

The IoT Device SDK Tiny has been pre-integrated into the main control unit (MCU) and can call methods to connect to the platform.

Devices need to be quickly put into commercial use, with low R&D costs. Devices are connected to the platform directly, without using gateways.

Certificated module development

The IoT Device SDK Tiny has been pre-integrated into the module and can invoke AT commands to connect to the platform.

There are few MCU resources. Devices are connected to the platform directly, without using gateways.

LiteOS development

Devices run LiteOS that manages MCU resources. In addition, LiteOS has a built-in IoT Device SDK Tiny that can call functions to connect to the platform. This development mode shortens the device development duration and reduces the development difficulty.

No operating system is required. Devices are connected to the platform directly, without using gateways.

Common development

The IoT Device SDK Tiny is integrated into the MCU and calls the SDK functions to connect to the platform. This type of call is more convenient than API access.

There is sufficient time for devices to put into commercial use, and the flash and RAM resources of the MCU meet the conditions for integrating the IoT Device SDK Tiny.

OpenCPU development

Use the MCU capability in the common module, and compile and run device applications on the OpenCPU.

Devices with a small size have high security requirements and need to be quickly put into commercial use.

Gateway development

The IoT Device SDK is pre-integrated into the CPU or MPU and can call functions to connect to the platform.

Child devices connected to the platform using gateways.

Device Development Resources

You can connect devices to IoTDA using MQTT, LwM2M/CoAP, and HTTPS, as well as connect devices that use Modbus, OPC UA, and OPC DA through IoT Edge. You can also connect devices to IoTDA by calling APIs or integrating SDKs.

Resource Package

Description

Download Link

IoT Device SDK (Java)

Devices can connect to the platform by integrating the IoT Device SDK (Java). The demo provides the sample code for calling SDK APIs. For details, see IoT Device SDK (Java).

IoT Device SDK (Java)

IoT Device SDK (C)

Devices can connect to the platform by integrating the IoT Device SDK (C). The demo provides the sample code for calling SDK APIs. For details, see IoT Device SDK (C).

IoT Device SDK (C)

IoT Device SDK (C#)

Devices can connect to the platform by integrating the IoT Device SDK (C#). The demo provides the sample code for calling SDK APIs. For details, see IoT Device SDK (C#).

IoT Device SDK (C#)

IoT Device SDK (Android)

Devices can connect to the platform by integrating the IoT Device SDK (Android). The demo provides the sample code for calling SDK APIs. For details, see IoT Device SDK (Android).

IoT Device SDK (Android)

IoT Device SDK (Go)

Devices can connect to the platform by integrating the IoT Device SDK (Go). The demo provides the code sample for calling the SDK APIs. For details, see IoT Device SDK (Go) User Guide.

IoT Device SDK (Go)

IoT Device SDK(Python)

Devices can connect to the platform by integrating the IoT Device SDK (Python). The demo provides the code sample for calling the SDK APIs. For details, see

IoT Device SDK (Python) Usage Guide.

IoT Device SDK(Python)

IoT Device SDK Tiny (C)

Devices can connect to the platform by integrating the IoT Device SDK Tiny (C). The demo provides the sample code for calling SDK APIs. For details, see IoT Device Tiny SDK (C).

IoT Device SDK Tiny (C)

Native MQTT or MQTTS access example

Devices can be connected to the platform using the native MQTT or MQTTS protocol. The demo provides the sample code for SSL-encrypted link setup, TCP link setup, data reporting, and topic subscription.

Examples: Java, Python, Android, C, C#, and Node.js

quickStart(Java)

quickStart(Android)

quickStart(Python)

quickStart(C)

quickStart(C#)

quickStart(Node.js)

Product model template

Product model templates of typical scenarios are provided. You can customize product models based on the templates.

For details, see Developing a Product Model Offline.

Product Model Example

Codec example

Demo codec projects are provided for you to perform secondary development.

Codec Example

Codec test tool

The tool is used to check whether the codec developed offline is normal.

Codec Test Tool

NB-IoT device simulator

The tool is used to simulate the access of NB-IoT devices to the platform using LwM2M over CoAP for data reporting and command delivery.

For details, see Connecting and Debugging an NB-IoT Device Simulator.

NB-IoT Device Simulator