AliOS Things 物联网操作系统介绍

AliOS Things 物联网操作系统介绍
AliOS Things 发布于2017年杭州云栖大会, 是 AliOS 家族旗下的、面向 IoT 领域的、高可伸缩的物联网操作系统。
GitHub 仓库地址:https://github.com/alibaba/AliOS-Things
gitee镜像地址:https://gitee.com/alios-things/AliOS-Things
可视化裁剪页面地址: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 物联网操作系统介绍

目录结构

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
上一篇:企业物联网平台新版公共实例升级企业实例教程


下一篇:物联网时代 企业需要什么样的人才?