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 |
|