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

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

SDK获取

SDK 3.X

当前最新版本:v3.2.0

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

历史版本以及功能说明请参考:历史版本清单

注:

  • SDK 2.3.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的关系如下图所示:

其中产品业务逻辑和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 Kit 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时,通知云端清除记录。例如清除设备与用户的绑定关系,清除网关与子设备的关联关系等。
时间获取 从阿里云物联网平台获取当前最新的时间
文件上传 通过HTTP2上传文件
说明 注:表格中并没有对每种功能给出详细描述,在相应功能的开发章节中会对每个功能进行详细描述。

历史版本清单

版本号 发布日期 下载链接 更新内容
3.2.0 2020/03/03 sdk下载
  • OTA支持软件模块升级
  • TLS支持SNI
  • 提供设备影子的API
3.1.0 2019/10/18 sdk下载
  • 对关键过程增加状态码机制
  • WiFi配网增强,解决AP Isolation、移除路由器配网方案、新增Linux平台的配网HAL函数参考代码
  • 增加对X.509的支持
  • OTA新增断点续传
  • 子设备管理新增子设备/网关多对多拓扑关系
  • 系统topic订阅优化,缩短订阅时间
3.0.1 2019/03/15 sdk下载
  • 新增对异步/通知式的底层TCP/IP协议栈的支持
  • 支持将选中功能对应的代码抽取出来,方便快速将SDK放入客户的编译环境进行编译
  • 代码抽取时自动生成客户HAL适配文件
  • 新增http2文件上传功能
  • 配网增加设备热度配网方案
2.3.0 2018/11/19 sdk下载
  • 新增一套物模型编程接口:风格为IOT_Linkkit_XXX(), 旧版接口linkkit_xxx()仍然保留
  • 新增图形化配置方式支持
  • WiFi配网的四种模式可以分离
2.2.1 2019/09/03 sdk下载
  • 新增一型一密/动态注册功能
  • 新增OTA使用iTLS下载固件功能
  • WiFi配网功能开源发布
  • 本地控制功能开源发布
2.2.0 2018/08/06 sdk下载
  • 离线reset支持
  • 简化版TSL支持
  • 设备禁用/使能支持
  • TSL数组支持object类型
  • MQTT海外多站点连接支持
  • itls支持
2.1.0 2018/03/20 sdk下载
  • 新增cmake编译系统
  • 增加物模型支持
2.0.3 2018/01/31 sdk下载
  • 子设备管理支持
  • 优化tls,修复内存泄露
  • 升级MQTT通道,支持更长的topic、支持更多的订阅请求、MQTT支持多线程
2.0.2 2017/11/30 sdk下载
  • 新增mbedtls支持,目前适配Linux和Windows系统
  • 优化HTTP接口,支持发送报文时不断开TLS连接
  • 新增OpenSSL适配
  • 支持用mingw32编译Win7的库和例程
  • make reconfig可弹出和选择已适配平台
2.0.1 2017/10/10 sdk下载
  • 新增基于CoAP通知方式的OTA
  • 增加HTTP+TLS的云端连接通道
  • 细化OTA状态
  • 修正SDK在armcc编译器编译时出现的报错
2.0.0 2017/08/21 sdk下载
  • 新增MQTT直连
  • 新增CoAP通道
  • 增加OTA功能
  • 升级构建系统