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的关系如下图所示:
其中产品业务逻辑和HAL需要设备厂商实现,SDK的目录wrappers\os下提供了针对Linux、FreeRTOS的部分HAL参考实现供参考。
对于初次接触阿里云IoT的用户,请单击快速体验了解如何在Ubuntu上将一个模拟设备接入阿里云IoT,从而理解一些基本的概念。
设备接入引导
SDK裁剪
如果您的产品基于嵌入式Linux进行开发,请单击基于Make的编译说明和基于Make的交叉编译示例了解如何进行SDK裁剪和开发
如果您的产品基于KEIL、IAR等开发工具进行开发,请单击基于代码抽取时的移植说明了解如何进行SDK裁剪、移植
MCU上集成SDK
如果您的产品使用MCU外接一个WiFi模组、2/3/4G、NB-IoT移动通信模组与互联网进行通信,并且您的产品业务需要在MCU上实现:
如果外接模组支持MQTT协议,请参见MCU+支持MQTT的模组了解移植过程
如果外接模组不支持MQTT、但是支持TCP协议,请参见MCU+支持TCP的模组了解移植过程
模组/SOC上集成SDK
如果您是模组商,或者是在一个支持TCP/IP的SOC上集成SDK,那么:
如果模组/SOC支持MQTT,请参见在支持MQTT的模组上集成SDK如果模组/SOC不支持MQTT但是支持TCP,请参见在支持TCP的广域网模组上集成SDK
SDK功能列表
下面的表格列出了目前最新版本C Link SDK的功能:
功能模块 | 功能点 |
设备连云 |
|
设备身份认证 |
|
物模型 | 使用属性、服务、事件对设备进行描述以及实现,包括:
|
云端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 |
|
3.1.0 | 2019/10/18 | git clone https://github.com/aliyun/iotkit-embedded.git -b v3.1.0 |
|
3.0.1 | 2019/03/15 | git clone https://github.com/aliyun/iotkit-embedded.git -b v3.0.1 |
|
2.3.0 | 2018/11/19 | git clone https://github.com/aliyun/iotkit-embedded.git -b v2.3.0 |
|
2.2.1 | 2018/09/03 | git clone https://github.com/aliyun/iotkit-embedded.git -b v2.2.1 |
|
2.2.0 | 2018/08/06 | git clone https://github.com/aliyun/iotkit-embedded.git-b v2.2.0 |
|
2.1.0 | 2018/03/20 | git clone https://github.com/aliyun/iotkit-embedded.git -b RELEASED_V2_1_20180320 |
|
2.0.3 | 2018/01/31 | git clone https://github.com/aliyun/iotkit-embedded.git -b RELEASED_V2.03 |
|
2.0.2 | 2017/11/30 | git clone https://github.com/aliyun/iotkit-embedded.git -b RELEASED_V2_02_20171130 |
|
2.0.1 | 2017/10/10 | git clone https://github.com/aliyun/iotkit-embedded.git -b RELEASED_V2_01_20171010 |
|
2.0.0 | 2017/08/21 | git clone https://github.com/aliyun/iotkit-embedded.git -b RELEASED_V2_00_20170818 |
|