Skip to content
Yang, Xiao edited this page Nov 22, 2017 · 25 revisions

物联网套件设备端SDK

物联网套件是阿里云专门为物联网领域的开发人员推出的, 其目的是帮助开发者搭建安全且性能强大的数据通道, 方便终端(如传感器, 执行器, 嵌入式设备或智能家电等等)和云端的双向通信.

具体来说, 物联网套件提供了如下的能力:

  • 嵌入式设备快速接入(设备端SDK)
  • 设备管理
  • 设备和数据信息安全
  • 桥接到阿里云其他产品, 对设备数据存储/计算

image

在物联网套件场景架构图中, 物联网设备端SDK就是将嵌入式设备连接到阿里云的部分, 也是这组维基页面将要详细介绍的

设备端SDK的概述

架构框图

image

目录和文件组成

+-- build-rules             : 编译构建系统, 基于GNU Make和bash脚本
+-- doc                     : 阿里云产品帮助文档页面(https://help.aliyun.com/product/30520.html)的文档镜像
+-- layout.mk               : 编译系统配置, 指定SDK的目录排布
+-- LICENSE                 : 软件许可证, 物联网套件设备端SDK使用的是Apache-2.0版本软件许可证
+-- makefile                : 基于GNU Make编译SDK的Makefile
+-- make.settings           : 功能裁剪配置, 可编辑该文件裁剪通信模块如MQTT|CoAP, 或裁剪服务模块如OTA|Shadow
+-- README.md               : 快速开始导引, 可浏览该文件快速体验如何注册自己的阿里云设备ID, 并结合设备端SDK连接
+-- sample                  : 例程目录, 演示通信模块和服务模块的使用
|   +-- mqtt                :     演示如何使用通信模块MQTT的API
|   +-- coap                :     演示如何使用通信模块CoAP的API
|   +-- device-shadow       :     演示如何使用服务模块DeviceShadow的API
|   +-- http                :     演示如何使用通信模块HTTP的API
|   +-- ota                 :     演示如何使用服务模块OTA的API
+-- src
    +-- sdk-impl            : SDK的接口层, 提供总体的头文件, 和一些API的接口封装
    +-- sdk-tests           : SDK的单元测试
    +-- mqtt                : 通信模块, 实现以MQTT协议接入
    +-- guider              : 通信模块, 允许以HTTPS+MQTT协议接入, 保持向下兼容
    +-- coap                : 通信模块, 实现以CoAP协议接入
    +-- http                : 通信模块, 实现以HTTP协议接入
    +-- ota                 : 服务模块, 实现基于MQTT|CoAP+HTTP+TLS的固件下载通道
    +-- shadow              : 服务模块, 实现设备影子
    +-- platform            : 硬件平台抽象层, 存放不同嵌入式设备的抽象层接口实现, 支撑以上模块形成跨平台
    +-- import              : 外部输入目录, 存放芯片/模组厂商提供的头文件/二进制库, 如高通NBIoT芯片MDM9206和芯讯通开发板SIM7000C相关文件
    +-- configs             : 硬件平台编译配置, 存放编译系统需要读入的各平台编译方式, 如交叉编译工具链的设置, 软件模块的裁剪等
    +-- scripts             : 编译过程将要外部引用的脚本, 用户不必关注
    +-- packages            : SDK引用的外部软件模块, 用户不必关注
    +-- log                 : 基础模块, 实现运行日志
    +-- system              : 基础模块, 实现全局信息保存, 如预置的TLS/DTLS连接时的阿里云官方根证书, 设备标识ID等
    +-- tls                 : 基础模块, 实现TLS/DTLS, 来自裁剪过的开源软件mbedtls
    +-- utils               : 基础模块, 实现工具函数, 如连接鉴权时的SHA1摘要计算, 或NTP服务器的epoch对时等

设备端SDK的更新历史

设备端SDK会不定期的迭代更新, 可访问SDK的迭代历史页面, 查看更新历史

设备端SDK的使用

关于SDK使用的详细说明, 可访问SDK的使用页面, 了解更多细节

设备端SDK的编译

设备端SDK以64位Ubuntu作为主要的主机开发环境, 可访问SDK的编译页面, 了解如何编译

设备端SDK的分部介绍

有兴趣深入设备端SDK每个部分的读者, 可访问SDK的分部介绍页面, 了解模块细节

设备端SDK的FAQ

最后, 我们收集了长期以来, 来自广大使用设备端SDK客户群的比较有共性的问题, 可访问SDK的常见问题页面查看

Clone this wiki locally