SDK 架构
SDK分为三部分,设备核心模块,设备组件模块,公共库
设备核心模块功能包括
设备验证,支持通过设备密钥的方式对设备进行认证,并支持动态注册;支持X.509对设备进行认证
设备连接,将设备与物联网平台建立MQTT协议的连接,实现设备与物联网平台的通信;将设备与物联网平台建立HTTPS协议的连接,实现设备向物联网平台上报数据
设备消息收发,设备可以通过MQTT,HTTPS将设备数据上报给物联网,如果设备需要远程管理,特别是需要从云端主动发送消息给设备,那么只能选择使用MQTT连接物联网平台
设备分发,引导设备就近连接服务器。
设备动态注册,从云端获取共享密钥,批量烧录设备统一固件。
设备组件模块,可选的模块,组件内模块支持删除,编译前删除不适用即可,可以减少资源开销 | 功能/特性 | 描述 |
---|---|---|
物模型 | 基于物模型对设备进行管理,无需关心设备与物联网平台之间的数据交互格式,降低开发成本,帮助用户快速进行设备的业务开发。 | |
设备标签 | 为设备自定义标识,以便灵活管理设备。 | |
网关与子设备 | 将设备的网关接入物联网平台,使不具备IP地址的设备间接地接入物联网平台。 | |
设备日志 | 将设备的日志上报到云端,以便存储查询分析。 | |
时间同步 | 设备通过物联网平台获取标准时间。 | |
设备升级 | 设备通过物联网平台进行升级。 | |
设备影子 | 缓存设备状态。设备在线时,可以直接获取云端指令;设备离线后,再次上线可以主动拉取云端指令。 | |
安全隧道 | 通过建立访问端与设备端间的WebSocket通道,实现远程连接企业内部网物联网平台设备的功能。 | |
远程配置 | 在不用重启设备或中断设备运行的情况下,在线远程更新设备的系统参数、网络参数等配置信息。 | |
数据压缩 | 支持设备与物联网平台之间的传输压缩数据,节约设备流量,提高传输效率。 | |
单设备多连接 | 支持设备消息每秒请求数QPS的扩展。 |
/external SDK所依赖的外部开源的库,包含cJSON、MbedTLS、noPoll等。
/utils SDK实现的内部工具库,包含文件下载工具及签名校验工具。
portfiles SDK跨平台移植的接口实现,目前仅支持Linux。