C语言Link SDK适用于使用C语言开发业务处理逻辑的设备,由于C语言运行速度快、需要的运行内存较少,目前大多数的IoT设备使用C语言进行产品开发。

重要通知:生活物联网平台推出了专有的设备端SDK,针对生活场景增加了一些新的功能,若产品需接入生活物联网平台请参照生活物联网平台的获取SDK进行产品开发。

SDK获取

SDK 3.X

当前最新版本:v3.2.0,您可以通过历史版本清单下载SDK。

说明
  • 使用v3.0.1和v3.1.0开发产品的客户,如果用不到新增功能可不用升级SDK。

  • 用户如果正在使用SDK2.3.0开发产品,并且想升级到SDK3.0.1,可以查看版本变动记录

SDK使用说明

SDK提供了API供设备厂商调用,用于实现与阿里云IoT平台通信以及一些其它的辅助功能,例如WiFi配网、本地控制等。

另外,C语言版本的SDK被设计为可以在不同的操作系统上运行,例如Linux、FreeRTOS、Windows,因此SDK需要OS或者硬件支持的操作被定义为一些HAL函数,设备厂商在使用SDK开发产品时需要将这些HAL函数进行实现。

产品的业务逻辑、SDK、HAL的关系如下图所示:image

其中产品业务逻辑和HAL需要设备厂商实现,SDK的目录wrappers\os下提供了针对Linux、FreeRTOS的部分HAL参考实现供参考。

对于初次接触阿里云IoT的用户,请单击快速体验了解如何在Ubuntu上将一个模拟设备接入阿里云IoT,从而理解一些基本的概念。

设备接入引导

SDK裁剪

MCU上集成SDK

如果您的产品使用MCU外接一个WiFi模组、2/3/4G、NB-IoT移动通信模组与互联网进行通信,并且您的产品业务需要在MCU上实现:

模组/SOC上集成SDK

如果您是模组商,或者是在一个支持TCP/IP的SOC上集成SDK,那么:

如果模组/SOC支持MQTT,请参见在支持MQTT的模组上集成SDK如果模组/SOC不支持MQTT但是支持TCP,请参见在支持TCP的广域网模组上集成SDK

SDK功能列表

下面的表格列出了目前最新版本C Link SDK的功能:

功能模块

功能点

设备连云

  • MQTT连云,设备可通过MQTT与阿里云IoT物联网平台通信

  • CoAP连云,设备可通过CoAP与阿里云IoT物联网平台通信,用于设备主动上报信息的场景

  • HTTPS连云,设备可通过HTTPS与阿里云IoT物联网平台通信,用于设备主动上报信息的场景

设备身份认证

  • 一机一密

  • 一型一密

物模型

使用属性、服务、事件对设备进行描述以及实现,包括:

  • 属性上报、设置

  • 服务调用

  • 事件上报

云端region设置

  • 厂商指定region,告知设备连接到阿里云的具体的云端站点,例如中国上海、新加坡、美国、法国

  • 动态连云,设备自动连接到距离设备延时最短的云端站点

OTA

设备固件升级

远程配置

设备配置文件获取

子设备管理

用于让网关设备添加、删除子设备,以及对子设备进行控制

WiFi配网

将WiFi热点的SSID/密码传输给WiFi设备,包括:

  • 一键配网

  • 手机热点配网

  • 设备热点配网

  • 零配

设备本地控制

局域网内,通过CoAP协议对设备进行控制,包括:ALCS Server,被控端实现ALCS Client,控制端实现,通常被希望通过本地控制设备的网关使用。

设备绑定支持

设备绑定token维护,设备通过WiFI、以太网接入,并且通过阿里云开放智能生活平台管理时使用。

设备影子

在云端存储设备指定信息供APP查询,避免总是从设备获取信息引入的延时。

Reset支持

当设备执行Factory Reset时,通知云端清除记录。例如清除设备与用户的绑定关系,清除网关与子设备的关联关系等。

时间获取

从阿里云物联网平台获取当前的时间。

文件上传

通过HTTP方式上传文件。

历史版本清单

版本号

发布日期

下载方式

更新内容

3.2.0

2020/03/03

git clone https://github.com/aliyun/iotkit-embedded.git -b v3.2.0

  • OTA支持软件模块升级

  • TLS支持SNI

  • 提供设备影子的API

3.1.0

2019/10/18

git clone https://github.com/aliyun/iotkit-embedded.git -b v3.1.0

  • 对关键过程增加状态码机制

  • WiFi配网增强,解决AP Isolation、移除路由器配网方案、新增Linux平台的配网HAL函数参考代码

  • 增加对X.509的支持

  • OTA新增断点续传

  • 子设备管理新增子设备/网关多对多拓扑关系

  • 系统topic订阅优化,缩短订阅时间

3.0.1

2019/03/15

git clone https://github.com/aliyun/iotkit-embedded.git -b v3.0.1

  • 新增对异步/通知式的底层TCP/IP协议栈的支持

  • 支持将选中功能对应的代码抽取出来,方便快速将SDK放入客户的编译环境进行编译

  • 代码抽取时自动生成客户HAL适配文件

  • 新增http2文件上传功能

  • 配网增加设备热度配网方案

2.3.0

2018/11/19

git clone https://github.com/aliyun/iotkit-embedded.git -b v2.3.0

  • 新增一套物模型编程接口:风格为IOT_Linkkit_XXX(), 旧版接口linkkit_xxx()仍然保留

  • 新增图形化配置方式支持

  • WiFi配网的四种模式可以分离

2.2.1

2018/09/03

git clone https://github.com/aliyun/iotkit-embedded.git -b v2.2.1

  • 新增一型一密/动态注册功能

  • 新增OTA使用iTLS下载固件功能

  • WiFi配网功能开源发布

  • 本地控制功能开源发布

2.2.0

2018/08/06

git clone https://github.com/aliyun/iotkit-embedded.git-b v2.2.0

  • 离线reset支持

  • 简化版TSL支持

  • 设备禁用/使能支持

  • TSL数组支持object类型

  • MQTT海外多站点连接支持

  • itls支持

2.1.0

2018/03/20

git clone https://github.com/aliyun/iotkit-embedded.git -b RELEASED_V2_1_20180320

  • 新增cmake编译系统

  • 增加物模型支持

2.0.3

2018/01/31

git clone https://github.com/aliyun/iotkit-embedded.git -b RELEASED_V2.03

  • 子设备管理支持

  • 优化tls,修复内存泄露

  • 升级MQTT通道,支持更长的topic、支持更多的订阅请求、MQTT支持多线程

2.0.2

2017/11/30

git clone https://github.com/aliyun/iotkit-embedded.git -b RELEASED_V2_02_20171130

  • 新增mbedtls支持,目前适配Linux和Windows系统

  • 优化HTTP接口,支持发送报文时不断开TLS连接

  • 新增OpenSSL适配

  • 支持用mingw32编译Win7的库和例程

  • make reconfig可弹出和选择已适配平台

2.0.1

2017/10/10

git clone https://github.com/aliyun/iotkit-embedded.git -b RELEASED_V2_01_20171010

  • 新增基于CoAP通知方式的OTA

  • 增加HTTP+TLS的云端连接通道

  • 细化OTA状态

  • 修正SDK在armcc编译器编译时出现的报错

2.0.0

2017/08/21

git clone https://github.com/aliyun/iotkit-embedded.git -b RELEASED_V2_00_20170818

  • 新增MQTT直连

  • 新增CoAP通道

  • 增加OTA功能

  • 升级构建系统