- C语言Link Kit SDK适用于使用C语言开发业务处理逻辑的设备, 由于C语言运行速度快/需要的运行内存较少, 目前大多数的IoT设备使用C语言进行功能开发。
- 设备需要支持TCP/IP协议栈或通过AT指令外挂网络通信模组才能集成Link Kit SDK, 对于zigbee/433/KNX这样的非IP设备需要通过集成了Link Kit SDK的网关设备接入到阿里云IoT平台。
- C-SDK提供了诸多的功能比如MQTT上云, CoAP上云, OTA下载固件, 高级版物模型等, 并且为每个功能都有相应的例子程序提供。
C-SDK本身是一个不假设自己运行在哪款硬件平台, 以及运行在哪个操作系统(甚至可以没有操作系统)上的跨平台SDK。它对底层的依赖, 都抽象成一组
HAL_XXX
风格的函数接口来代替。AliOS Things 的 linkkit_demo 示例可作为该SDK的使用参考。
Link Kit SDK用户编程接口
Alink协议相关API:(Alink协议简介)
- IOT_Linkkit_Open
- IOT_Linkkit_Connect
- IOT_Linkkit_Yield
- IOT_Linkkit_Close
- IOT_Linkkit_TriggerEvent
- IOT_Linkkit_Report
- IOT_Linkkit_Query
- IOT_RegisterCallback
- IOT_Ioctl
- Event列表详解
基础API:
MQTT相关API:
- IOT_MQTT_Construct
- IOT_MQTT_Destroy
- IOT_MQTT_Yield
- IOT_MQTT_CheckStateNormal
- IOT_MQTT_Subscribe
- IOT_MQTT_Subscribe_Sync
- IOT_MQTT_Unsubscribe
- IOT_MQTT_Publish
- IOT_MQTT_Publish_Simple
CoAP上云相关API:
- IOT_CoAP_Init
- IOT_CoAP_Deinit
- IOT_CoAP_DeviceNameAuth
- IOT_CoAP_Yield
- IOT_CoAP_SendMessage
- IOT_CoAP_GetMessagePayload
- IOT_CoAP_GetMessageCode
HTTP上云相关API:
OTA固件下载相关API:
- IOT_OTA_Init
- IOT_OTA_Deinit
- IOT_OTA_ReportVersion
- IOT_OTA_ReportProgress
- IOT_OTA_IsFetching
- IOT_OTA_IsFetchFinish
- IOT_OTA_FetchYield
- IOT_OTA_Ioctl
- IOT_OTA_GetLastError
HTTP2流式传输相关API:
- IOT_HTTP2_Connect
- IOT_HTTP2_Stream_Open
- IOT_HTTP2_Stream_Send
- IOT_HTTP2_Stream_Query
- IOT_HTTP2_Stream_Close
- IOT_HTTP2_Stream_UploadFile
- IOT_HTTP2_Disconnect
WIFI配网绑定相关API:
- awss_start
- awss_stop
- awss_config_press
- awss_dev_ap_start
- awss_dev_ap_stop
- awss_report_cloud
- awss_report_reset
- iotx_event_regist_cb
Link Kit SDK HAL接口
基础功能相关HAL:
- HAL_Free
- HAL_GetChipID
- HAL_GetDeviceID
- HAL_GetDeviceName
- HAL_GetDeviceSecret
- HAL_GetFirmwareVersion
- HAL_GetModuleID
- HAL_GetPartnerID
- HAL_GetProductKey
- HAL_GetProductSecret
- HAL_GetTimeStr
- HAL_Kv_Del
- HAL_Kv_Erase_All
- HAL_Kv_Get
- HAL_Kv_Set
- HAL_Malloc
- HAL_Printf
- HAL_Random
- HAL_Reboot
- HAL_SetDeviceName
- HAL_SetDeviceSecret
- HAL_SetProductKey
- HAL_SetProductSecret
- HAL_SleepMs
- HAL_Snprintf
- HAL_Srandom
- HAL_Timer_Create
- HAL_Timer_Delete
- HAL_Timer_Start
- HAL_Timer_Stop
- HAL_UptimeMs
- HAL_UTC_Get
- HAL_UTC_Set
- HAL_Vsnprintf
多线程相关HAL:
- HAL_MutexCreate
- HAL_MutexDestroy
- HAL_MutexLock
- HAL_MutexUnlock
- HAL_SemaphoreCreate
- HAL_SemaphoreDestroy
- HAL_SemaphorePost
- HAL_SemaphoreWait
- HAL_ThreadCreate
- HAL_ThreadDelete
- HAL_ThreadDetach
MQTT上云相关HAL:
- HAL_SSL_Destroy
- HAL_SSL_Establish
- HAL_SSL_Read
- HAL_SSL_Write
- HAL_TCP_Destroy
- HAL_TCP_Establish
- HAL_TCP_Read
- HAL_TCP_Write
CoAP上云相关HAL:
- IOT_CoAP_Init
- IOT_CoAP_Deinit
- IOT_CoAP_DeviceNameAuth
- IOT_CoAP_Yield
- IOT_CoAP_SendMessage
- IOT_CoAP_GetMessagePayload
- IOT_CoAP_GetMessageCode
OTA固件升级相关HAL:
HTTP2流式传输相关HAL:
- HAL_SSL_Destroy
- HAL_SSL_Establish
- HAL_SSL_Read
- HAL_SSL_Write
- HAL_TCP_Destroy
- HAL_TCP_Establish
- HAL_TCP_Read
- HAL_TCP_Write
- HAL_Fopen
- HAL_Fread
- HAL_Fwrite
- HAL_Fseek
- HAL_Ftell
- HAL_Fclose
WiFi配网相关HAL:
- HAL_Aes128_Cbc_Decrypt
- HAL_Aes128_Cbc_Encrypt
- HAL_Aes128_Cfb_Decrypt
- HAL_Aes128_Cfb_Encrypt
- HAL_Aes128_Destroy
- HAL_Aes128_Init
- HAL_Awss_Close_Monitor
- HAL_Awss_Connect_Ap
- HAL_Awss_Get_Channelscan_Interval_Ms
- HAL_Awss_Get_Connect_Default_Ssid_Timeout_Interval_Ms
- HAL_Awss_Get_Timeout_Interval_Ms
- HAL_Awss_Open_Monitor
- HAL_Awss_Switch_Channel
- HAL_RF433_Get_Rssi_Dbm
- HAL_Sys_Net_Is_Ready
- HAL_Wifi_Enable_Mgmt_Frame_Filter
- HAL_Wifi_Get_Ap_Info
- HAL_Wifi_Get_IP
- HAL_Wifi_Get_Mac
- HAL_Wifi_Low_Power
- HAL_Wifi_Scan
- HAL_Wifi_Send_80211_Raw_Frame
- HAL_Awss_Open_Ap
- HAL_Awss_Close_Ap
参考:Linkkit用户手册