本文為您介紹C Link SDK的擷取方法及其使用說明。
擷取SDK
下載連結:C SDK 4.x
4.x 版本SDK的API介面與3.x/2.x 分支的API不相容,使用3.x/2.x分支開發產品的您請繼續使用3.x/2.x分支進行產品開發。
SDK功能列表
目前SDK 4.x支援的功能如下表所示:
功能模組 | 功能說明 |
MQTT連雲 | 裝置可以通過MQTT串連阿里雲物聯網平台,並使用MQTT Topic進行裝置與雲端之間的資料收發。 |
HTTP連雲 | 裝置可以通過HTTP串連阿里雲物聯網平台,並上傳裝置資料。 |
裝置認證 |
|
OS適配 | 包含對以下OS的適配:
若裝置使用的OS不支援上述OS,開發人員需要對OS進行適配。 |
物模型 | 使用屬性、事件、服務來對裝置進行建模,雲端APP開發時基於物模型對裝置進行管理,而無需關心裝置與物聯網平台之間的資料互動格式。 |
OTA | 裝置韌體升級。 SDK只進行韌體的擷取,開發人員需要實現將韌體寫入Flash/ROM中讓韌體生效。 |
時間同步 | 讓裝置通過SDK擷取當前物聯網平台的時間。 |
RRPC | 支援雲端應用對裝置的遠程同步調用。 |
裝置串連異常警示 | 當串連延時較大、或者丟包時進行警示。 |
日誌上報 | 提供日誌即時上傳功能。 |
裝置引導服務 | 裝置啟動時動態決定串連服務網站的能力,裝置全球化部署時使用。 |
子裝置管理 | 支援通過網關將不具備IP地址的裝置接入物聯網平台的能力 |
裝置診斷 | 用於檢測裝置串連、通訊延時是否正常 |
裝置取證 | 用於監控裝置是否為偽造裝置使用,如果動態註冊選擇了免白名單,該模組一定需要使能 |
通過HTTP連雲的方式不支援物聯網平台主動向裝置發送資料。
SDK編譯說明
SDK以源檔案方式進行輸出,您可以使用自己喜歡的方式編譯SDK,比如:
您可以通過編寫makefile通過GNU Make來編譯代碼。
您也可以通過編寫cmake來編譯SDK。
對於整合IDE開發環境(比如Eclipse),您可以將SDK的代碼檔案添加到IDE中進行編譯。
當使用者從阿里雲物聯網平台下載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
目錄說明:
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標頭檔
您對SDK進行初始化時可以參見LinkSDK/demos下面的樣本檔案。
您的程式首先需要包含以下標頭檔:
#include "aiot_state_api.h"
#include "aiot_sysdep_api.h"
然後再根據選擇的功能查看相應模組編程手冊中指定包含的標頭檔即可。例如裝置使用MQTT協議與物聯網平台通訊,可以開啟文檔MQTT接入與資料通訊,該文檔中會明確說明需要包含標頭檔aiot_mqtt_api.h
,您在程式中加入相應的標頭檔包含即可。
後續步驟
擷取C Link SDK後,您可以根據業務需要,選擇要配置的功能,然後對裝置端進行開發。關於C Link SDK的功能介紹,請參見功能介紹。