开放、平等、协作、快速、分享
点击登录控制台打开SDK定制页面,根据产品需要进行相应SDK功能选择,点击按钮 “开始生成” 下载SDK,如下图所示:说明 :
4.x 版本SDK的API接口与3.x/2.x 分支的API不兼容,使用3.x/2.x分支开发产品的客户请继续使用3.x/2.x分支进行产品开发
4.x目前尚未支持阿里云物联网平台提供的所有功能,在使用4.x分支开发产品前请查看功能是否满足产品要求
支持通过设备预置密钥的方式对设备进行认证,并支持动态注册 支持通过ID2对设备进行认证 支持X.509对设备进行认证 包含对以下OS的适配: Linux FreeRTOS POSIX机制兼容的OS FreeRTOS 若设备使用的OS不支持上述OS,开发者需要对OS进行适配 客户可以通过编写makefile通过GNU Make来编译代码 客户也可以通过编写cmake来编译SDK 对于集成IDE开发环境(比如Eclipse),客户可以将SDK的代码文件添加到IDE中进行编译 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头文件包含 然后再根据选择的功能查看相应模块编程手册中指定包含的头文件即可。比如如果设备使用MQTT协议与物联网平台通信,那么可以打开文档“MQTT接入与数据通信”,该文档中会明确说明需要包含头文件SDK功能列表
目前SDK支持的功能如下表所示:功能模块 功能说明 MQTT连云 设备可以通过MQTT连接阿里云物联网平台,并使用MQTT Topic进行设备与云端之间的数据收发 HTTP连云 设备可以通过HTTP连接阿里云物联网平台,并上传设备数据。注意:本种协议连接方式不支持物联网平台主动向设备发送数据。 设备认证 OS适配 物模型 使用属性、事件、服务来对设备进行建模,云端APP开发时基于物模型对设备进行管理,而无需关心设备与物联网平台之间的数据交互格式 OTA 设备固件升级。 SDK只进行固件的获取,开发者需要实现将固件写入Flash/ROM中让固件生效 时间同步 让设备通过SDK获取当前物联网平台的时间 RRPC 支持云端应用对设备的远程同步调用 设备连接异常告警 当连接延时较大、或者丢包时进行报警 日志上报 提供日志实时上传功能 设备引导服务 设备启动时动态决定连接服务站点的能力,设备全球化部署时使用 SDK编译说明
SDK以源文件方式进行输出,客户可以使用自己喜欢的方式编译SDK,比如:
当用户从阿里云物联网平台下载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
其中:#include "aiot_state_api.h" #include "aiot_sysdep_api.h"
aiot_mqtt_api.h,
用户在程序中加入相应的头文件包含即可。