阿里云物联网平台提供SDK定制功能,您可以根据需要一键定制SDK。本文介绍了SDK的获取及其使用说明。

获取SDK

  1. 登录阿里云物联网平台
  2. 单击文档与工具,之后在设备接入 SDK区域,单击SDK定制
  3. 根据您的实际环境需求配置相关参数后单击开始生成
    SDK文件会下载到您浏览器设置的默认文件夹中。文档与工具
注意
  • 4.x 版本SDK的API接口与3.x/2.x 分支的API不兼容,使用3.x/2.x分支开发产品的您请继续使用3.x/2.x分支进行产品开发。

SDK功能列表

目前SDK 4.x支持的功能如下表所示:
功能模块 功能说明
MQTT连云 设备可以通过MQTT连接阿里云物联网平台,并使用MQTT Topic进行设备与云端之间的数据收发。
HTTP连云 设备可以通过HTTP连接阿里云物联网平台,并上传设备数据。
设备认证
  • 支持通过设备预置密钥的方式对设备进行认证,并支持动态注册(包括通过HTTPS和MQTT两种实现方式)。
  • 支持通过ID²对设备进行认证。
  • 支持X.509对设备进行认证。
OS适配

包含对以下OS的适配:

  • Linux
  • FreeRTOS
  • POSIX机制兼容的OS

若设备使用的OS不支持上述OS,开发者需要对OS进行适配。

物模型 使用属性、事件、服务来对设备进行建模,云端APP开发时基于物模型对设备进行管理,而无需关心设备与物联网平台之间的数据交互格式。
OTA 设备固件升级。 SDK只进行固件的获取,开发者需要实现将固件写入Flash/ROM中让固件生效。
时间同步 让设备通过SDK获取当前物联网平台的时间。
RRPC 支持云端应用对设备的远程同步调用。
设备连接异常告警 当连接延时较大、或者丢包时进行报警。
日志上报 提供日志实时上传功能。
设备引导服务 设备启动时动态决定连接服务站点的能力,设备全球化部署时使用。
子设备管理 支持通过网关将不具备IP地址的设备接入物联网平台的能力
设备诊断 用于检测设备连接、通信延时是否正常
设备取证 用于监控设备是否为伪造设备使用,如果动态注册选择了免白名单,该模组一定需要使能
说明 通过HTTP连云的方式不支持物联网平台主动向设备发送数据。

SDK编译说明

SDK以源文件方式进行输出,您可以使用自己喜欢的方式编译SDK,比如:
  • 您可以通过编写makefile通过GNU Make来编译代码。
  • 您也可以通过编写cmake来编译SDK。
  • 对于集成IDE开发环境(比如Eclipse),您可以将SDK的代码文件添加到IDE中进行编译。
当用户从阿里云物联网平台下载SDK之后,SDK的目录结构如下所示:
$ ls -l
total 20
-rwxrwxrwx 1 root root 1067  4月 26 14:14 ChangeLog.md
drwxrwxrwx 1 root root 4096  4月 26 14:14 components
drwxrwxrwx 1 root root 4096  4月 26 14:14 core
drwxrwxrwx 1 root root 4096  4月 26 14:14 demos
drwxrwxrwx 1 root root    0  4月 26 14:38 external
-rwxrwxrwx 1 root root 1026  4月 26 14:14 Makefile
drwxrwxrwx 1 root root    0  4月 26 14:14 portfiles
目录说明
  • ChangeLog.md:包含SDK中各个功能模块的更新时间。
  • components:根据您的选择,在该目录下会出现各种子模块的目录
  • core:SDK的核心代码文件。
  • demos:存放各种功能的示例代码。
  • external:当需要使用TLS功能时,SDK使用了第三方的mbedtls,您可以使用其它的TLS库来替换mbedtls。
  • portfiles:SDK运行时与TCP/IP协议栈、与TLS库的集成实现。
说明
  • 您在移植SDK的时候,demos目录可以不用加入编译系统,将其它目录下面的代码文件加入编译系统进行编译即可。
  • 若SDK并未提供对指定系统下TCP/IP协议栈、TLS库的移植,您需要自行实现portfiles下相关函数的移植。

SDK头文件

说明 您对SDK进行初始化时可以参见LinkSDK/demos下面的示例文件。
您的程序首先需要包含以下头文件:
#include "aiot_state_api.h"
#include "aiot_sysdep_api.h"

然后再根据选择的功能查看相应模块编程手册中指定包含的头文件即可。例如设备使用MQTT协议与物联网平台通信,可以打开文档MQTT接入与数据通信,该文档中会明确说明需要包含头文件aiot_mqtt_api.h,您在程序中加入相应的头文件包含即可。