设备侧IoT Device SDK介绍
为了帮助设备快速连接到物联网平台,华为提供了设备侧IoT Device SDK。支持TCP/IP协议栈的设备集成设备侧IoT Device SDK后,可以直接与物联网平台通信。不支持TCP/IP协议栈的设备,例如蓝牙设备、ZigBee设备等需要利用网关将设备数据转发给物联网平台,此时网关需要事先集成设备侧IoT Device SDK。

- 设备接入前,需创建产品(可通过控制台创建或者调用应用侧API接口创建产品)。
 - 产品创建完毕后,需注册设备(可通过控制台注册单个设备或者使用应用侧API接口注册设备)。
 - 设备注册完毕后,按照图中流程实现消息/属性上报、接收命令/属性/消息、OTA升级、自定义TOPIC、泛协议接入(相关Demo)等功能。
 
平台提供了两种SDK,它们之间的区别如下表:
| 
       SDK种类  | 
     
       SDK集成场景  | 
     
       SDK支持的物联网通信协议  | 
    
|---|---|---|
| 
       IoT Device SDK  | 
     
       面向运算、存储能力较强的嵌入式设备,例如网关、采集器等。  | 
     
       MQTT  | 
    
| 
       IoT Device SDK Tiny  | 
     
       面向对功耗、存储、计算资源有苛刻限制的终端设备,例如单片机、模组。  | 
     
       LWM2M over CoAP、MQTT  | 
    
对接入设备的硬件要求:
| 
       SDK名称  | 
     
       RAM容量  | 
     
       FLASH容量  | 
     
       CPU频率  | 
     
       操作系统类型  | 
     
       开发语言  | 
    
|---|---|---|---|---|---|
| 
       IoT Device SDK  | 
     
       > 4MB  | 
     
       > 2MB  | 
     
       > 200MHZ  | 
     
       C版(Linux)、Java版(Linux/Windows)、C#版(Windows)、Android版(Android)、Go社区版(Linux/Windows/类unix)、OpenHarmony版(OpenHarmony)  | 
     
       C、Java、C#、Android、Go  | 
    
| 
       IoT Device SDK Tiny  | 
     
       > 32KB  | 
     
       > 128KB  | 
     
       > 100MHZ  | 
     
       适配了LiteOS/LINUX/MACOS/freertos,可以通过修改SDK来适配其他环境。  | 
     
       C  | 
    

详细SDK使用指南,请参考:
- 设备侧 IoT Device C# SDK使用指南
 - 设备侧 IoT Device Android SDK使用指南
 - 设备侧 IoT Device Go SDK使用指南
 - 设备侧 IoT Device C for SDK Tiny使用指南
 - 设备侧 IoT Device C for OpenHarmony SDK使用指南
 - 设备侧 IoT Device Python SDK使用指南
 
SDK主要功能矩阵,请参考:
| 
       主要功能  | 
     
       C  | 
     
       Java  | 
     
       C#  | 
     
       Android  | 
     
       GO  | 
     
       python  | 
     
       C Tiny  | 
     
       ArkTS  | 
    
|---|---|---|---|---|---|---|---|---|
| 
       属性上报  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
    
| 
       消息上报、下发  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
    
| 
       事件上报、下发  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       ×  | 
    
| 
       命令下发、响应  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
    
| 
       设备影子  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
    
| 
       OTA升级  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       ×  | 
    
| 
       bootstrap  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       ×  | 
    
| 
       时间同步  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       ×  | 
    
| 
       网关与子设备管理  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       ×  | 
    
| 
       端侧规则引擎  | 
     
       √  | 
     
       ×  | 
     
       √  | 
     
       ×  | 
     
       ×  | 
     
       ×  | 
     
       √  | 
     
       ×  | 
    
| 
       远程SSH  | 
     
       √  | 
     
       ×  | 
     
       √  | 
     
       ×  | 
     
       ×  | 
     
       ×  | 
     
       ×  | 
     
       ×  | 
    
| 
       异常检测  | 
     
       √  | 
     
       ×  | 
     
       √  | 
     
       ×  | 
     
       ×  | 
     
       ×  | 
     
       ×  | 
     
       ×  | 
    
| 
       端云安全通信(软总线)  | 
     
       √  | 
     
       ×  | 
     
       √  | 
     
       ×  | 
     
       ×  | 
     
       ×  | 
     
       ×  | 
     
       ×  | 
    
| 
       M2M功能  | 
     
       √  | 
     
       ×  | 
     
       √  | 
     
       ×  | 
     
       ×  | 
     
       ×  | 
     
       ×  | 
     
       ×  | 
    
| 
       泛协议接入  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       √  | 
     
       ×  | 
     
       √  | 
     
       ×  | 
     
       ×  |