AliOS Things 发布于2017年杭州云栖大会, 是 AliOS 家族旗下的、面向 IoT 领域的、高可伸缩的物联网操作系统。
GitHub 仓库地址:
可视化裁剪页面地址:https://aliosthings.iot.aliyun.com/aos/download。
AliOS Things 致力于搭建云端一体化 IoT 基础设施,具备极致性能、极简开发、云端一体、丰富组件、安全防护等关键能力。AliOS Things 支持多种多样的设备连接到阿里云IoT平台,可广泛应用在智能家居、智慧城市、工业,新出行等领域。
特性
即插即用的连接和丰富服务
- 通过 Alink 与阿里云计算 IoT 服务无缝连接
- 支持 uMesh 即插即用网络技术,设备上电自动连网
差分+安全OTA升级
- 差分增量包升级
- 安全数字签名
- 安全下载通道
- 断点续传
- 乒乓升级
- 版本回溯
彻底全面的安全保护
- 提供系统和芯片级别安全保护
- 支持可信运行环境(支持 ARMV8-M Trust Zone)
- 支持预置 ID2 根身份证和非对称密钥以及基于 ID2 的可信连接和服务
高度优化的性能
- 内核支持 Idle Task,资源消耗:RAM < 1KB, ROM < 2KB,提供硬实时能力
- 提供 Yloop 事件框架以及基于此整合的核心组件,避免栈空间消耗,核心架构良好支持极小 footprint的设备
极简开发
- 基于Linux之上的轻量虚拟化环境,开发者直接在 Linux 平台上开发硬件无关的 IoT 应用和软件库,使用GDB/Valgrind/SystemTap 等 PC 平台工具诊断开发问题
- 提供 IDE,支持系统/内核行为 Trace, Mesh 组网图形化显示
- 提供 Shell 交互,支持内存踩踏、泄露、最大栈深度等各类侦测
- 提供面向组件的编译系统以及 aos-cube 工具,支持灵活组合 IoT 产品软件栈
- 提供包括存储(掉电保护、负载均衡)在内的各类产品级别的组件
License
AliOS Things 开源代码遵循 Apache 2.0 license 开源协议。
AliOS Things的架构可以适用于分层架构和组件化架构。
目录结构
AliOS Things core SDK包含以下目录:
AliOS-Things
├── application
│ ├── example # 示例代码
│ └── profile # 典型场景的应用方案
├── build # 编译构建相关工具和脚本
├── components # 功能组件
│ ├── dm # 设备管理组件
│ │ ├── bootloader
│ │ ├── ota
│ │ ├── ulog
│ │ └── und
│ ├── linkkit # 阿里云IoT连接套件
│ ├── network # IP网络协议栈组件
│ │ ├── http
│ │ ├── lwip
│ │ └── netmgr
│ ├── security # 安全类组件
│ │ └── mbedtls
│ └── utility # 工具类组件
│ ├── cjson
│ └── yloop
├── core # 内核及相关组件
├── document # 说明文档
├── include # 组件对外的头文件
├── platform # 芯片平台支持和BSP
│ ├── arch # 架构移植
│ ├── board # 板级支持
│ └── mcu # MCU, SoC 移植支持
└── projects # 为不同开发环境提供的工程相关文件
增值类组件,可以通过uCube命令下载、安装、升级和卸载。 增值类组件,一般都安装到components目录。
components
├── bus # 本地通讯协议
│ ├── canopen
│ ├── knx
│ ├── mbmaster
│ └── usb
├── dm # 设备管理
│ └── uagent
├── fs # 文件系统
│ ├── cramfs
│ ├── fatfs
│ ├── jffs2
│ ├── ramfs
│ ├── spiffs
│ ├── uffs
│ └── yaffs2
├── gui # 人机交互界面
│ ├── freetype-2.5.3
│ └── littlevGL
├── language # 脚本引擎
│ ├── jsengine
│ └── micropython
├── network # IP网络协议栈
│ ├── coap
│ ├── httpdns
│ ├── libsrtp
│ ├── lwm2m
│ ├── mal
│ ├── rtp
│ ├── sal
│ ├── umesh2
│ └── websocket
├── peripherals # 外设驱动
│ ├── iot_comm_module
│ │ ├── mal
│ │ └── sal
│ └── sensor
├── security # 安全
│ └── linksecurity
├── service # 应用组件
│ ├── uai
│ ├── udata
│ └── ulocation
├── utility # 工具类
│ ├── at
│ ├── debug_tools
│ └── zlib
└── wireless # 无线类
├── bluetooth
└── lorawan