Q群:
电话:
邮箱:
地址:
Aliiotkit-v3.1.0是OneOS操作系统移植的用于连接阿里云平台的第三方组件,适用于使用C语言开发产品业务处理逻辑的设备接入阿里云物联网平台,基础是阿里云的C-SDK软件包。
产品的业务逻辑、SDK、HAL的关系如下图所示。
功能模块 | 功能 |
---|---|
设备连接云 | MQTT连接云,设备可通过MQTT与阿里云IoT物联网平台通信 CoAP连接云,设备可通过CoAP与阿里云IoT物联网平台通信,用于设备主动上报信息的场景 HTTPS连接云,设备可通过HTTPS与阿里云IoT物联网平台通信,用于设备主动上报信息的场景 |
设备身份认证 | 一机一密 一型一密 x.509证书 |
物模型 | 使用属性、服务、事件对设备进行描述以及实现,包括: 属性上报、设置 服务调用 事件上报 |
云端region设置 | 厂商指定region,告知设备连接到阿里云的具体云端站点,例如中国上海、新加坡、美国、法国 动态连云设备自动连接到距离设备延时最短的云端站点 |
OTA | 设备固件升级 |
远程配置 | 设备配置文件获取 |
子设备管理 | 用于让网关添加、删除子设备,以及对子设备进行控制 |
WiFi配网 | 将WiFi热点的SSID/密码传输给WiFi设备 |
设备本地控制 | 局域网内,通过CoAP协议对设备进行控制,包括:ALCS Server,被控端实现ALCS Client,控制端实现,通常被希望通过本地控制设备的网关使用 |
设备绑定支持 | 设备绑定token维护,设备通过WiFi、以太网接入,并且通过阿里云开放只能生活平台管理时使用 |
设备影子 | 在云端存储设备指定信息提供APP查询,避免总是从设备获取信息引入的延时 |
Reset支持 | 当设备执行Factory Reset时,通知云端清楚记录。例如清楚设备与用户的绑定关系,清除网关与子设备的关联关系等。 |
时间获取 | 从阿里云物联网平台获取当时的最新时间 |
文件上传 | 通过HTTP2上传文件 |
文件名 | 功能 |
---|---|
demo | 示例 |
external_lib | 外部依赖 |
src | 功能实现 |
tools | 配置工具 |
wrappers | 封装 |
基础API接口 | 说明 |
---|---|
IOT_OpenLog | 日志系统的初始化函数 |
IOT_CloseLog | 日志系统的销毁函数 |
IOT_SetLogLevel | 日志系统的日志级别配置函数 |
IOT_DumpMemoryStats | 显示SDK各模块的内存使用情况 |
IOT_SetupConnInfo | 获取认证模式向云端进行认证 |
IOT_Ioctl | 进行SDK部分参数的配置或获取 |
MQTT协议API | 说明 |
---|---|
IOT_MQTT_Construct | 与云建立MQTT连接 |
IOT_MQTT_Destroy | 销毁指定MQTT连接并释放资源 |
IOT_MQTT_Yield | 接收网络报文并将消息分发到用户的回调函数 |
IOT_MQTT_CheckStateNormal | 获取当前MQTT连接状态 |
IOT_MQTT_Subscribe | 向云端订阅指定的MQTT Topic |
IOT_MQTT_Subscribe_Sync | 同步接口,向云端订阅指定的MQTT Topic |
IOT_MQTT_Unsubscribe | 向云端取消订阅指定的topic |
IOT_MQTT_Publish | 向指定topic推送消息 |
IOT_MQTT_Publish_Simple | 向指定topic推送消息 |
CoAP协议API | 说明 |
---|---|
IOT_CoAP_Init | CoAP模块初始化函数 |
IOT_CoAP_Deinit | CoAP反初始化函数 |
IOT_CoAP_DeviceNameAuth | 向云端发送设备认证请求 |
IOT_CoAP_Yield | 尝试从网络上接收报文 |
IOT_CoAP_SendMessage | 向云端发送CoAP消息 |
IOT_CoAP_GetMessagePayload | 获取CoAP消息中的Payload部分 |
IOT_CoAP_GetMessageCode | 获取CoAP消息中的Code(错误码)部分 |
HTTP协议API | 说明 |
---|---|
IOT_HTTP_Init | HTTP模块初始化函数 |
IOT_HTTP_DeInit | HTTP反初始化函数, 断开与云端的连接并释放所有指定Context中分配的资源 |
IOT_HTTP_DeviceNameAuth | 向云端发送设备认证请求 |
IOT_HTTP_SendMessage | 向云端发送HTTP消息 |
IOT_HTTP_Disconnect | 断开指定HTTP Context的连接 |
OTA API | 说明 |
---|---|
IOT_OTA_Init | 初始化OTA模块 |
IOT_OTA_Deinit | 反初始化OTA模块 |
IOT_OTA_ReportVersion | 向云端上报当前SDK版本号 |
IOT_OTA_ReportProgress | 向云端上报升级进度 |
IOT_OTA_IsFetching | 检测当前OTA模块是否处于从云端获取数据的状态 |
IOT_OTA_IsFetchFinish | 检测当前OTA模块是否获取数据完成 |
IOT_OTA_FetchYield | 从网络接收报文 |
IOT_OTA_Ioctl | 设置OTA部分参数或获取当前OTA运行状态 |
IOT_OTA_GetLastError | 获取最近一次的错误码 |
使用阿里云软件包需要通过Menuconfig的图形化工具进行配置选择,如下所示:
[*] Ali-iotkit: Aliyun cloud sdk 'iotkit-embedded'
Version (v3.1.0) --->
() Config Product Key
() Config Product Secret
() Config Device Name
() Config Device Secret
[ ] PLATFROM_HAS_MBEDTLS
-*- PLATFORM_HAS_STDINT
[ ] PLATFORM_HAS_DYNMEM
[ ] FEATURE_INFRA_NETWORK_PAYLOAD
[ ] FEATURE_INFRA_LOG
Log Configurations --->
[ ] FEATURE_MQTT_COMM_ENABLED
MQTT Configurations --->
[ ] FEATURE_DYNAMIC_REGISTER
[ ] FEATURE_DEVICE_MODEL_ENABLED
Device Model Configurations --->
[ ] FEATURE_SUPPORT_TLS
[ ] FEATURE_OTA_ENABLED
[ ] FEATURE_COAP_COMM_ENABLED
[ ] FEATURE_DEV_RESET
[ ] FEATURE_HTTP_COMM_ENABLED
[ ] FEATURE_HTTP2_COMM_ENABLED
[ ] FEATURE_WIFI_PROVISION_ENABLED
[ ] FEATURE_DEV_BIND_ENABLED
[ ] Samples
配置相关协议连入阿里云平台需配置相关选项,以及根据阿里云平台上产品需求及验证方式配置ProductKey、ProductSecret、DeviceName、DeviceSecret。
开启阿里云加密传输功能后悔自动勾选mbedtls加密组件,当用户取消阿里云的加密传输功能时需记得手动关闭阿里云的加密选项,并同时关闭mbedtls组件。