AliOS Things Versions Save

面向IoT领域的、高可伸缩的物联网操作系统,可去官网了解更多信息https://www.aliyun.com/product/aliosthings

rel_3.3.0

3 years ago


Join the chat at https://gitter.im/aliosthings/Lobby


AliOS Things发布于2017年杭州云栖大会, 是 AliOS 家族旗下的、面向IoT领域的、高可伸缩的物联网操作系统,于2017年10月20号宣布在github上开源,当前最新的版本是 AliOS Things 3.3

架构总览

AliOS Things 支持多种CPU架构,包括:ARM,C-Sky,MIPS,RISCV,rl78,rx600,xtensa等。

AliOS Things 适配了分层架构和组件架构。包括以下部分:

  • BSP: 板级支持包
  • HAL: 硬件适配层,包括WiFi,蓝牙,I2C, SPI, UART,Flash 等
  • Kernel: 包括Rhino RTOS 内核,VFS,KV Storage,CLI,C++ 等
  • Network: 包括LwIP 轻量级TCP/IP协议栈,uMesh 自组网协议栈,BLE 低功耗蓝牙协议栈,LoRaWAN 协议栈,AT Commands Module 等
  • Security: 包括TLS(mbedTLS and cutomized iTLS),ID2,SST(Trusted Storage),Crypto,TEE(Trusted Execution Environment) 等
  • AOS API: AliOS Things 提供给应用软件和组件的API
  • VFS驱动框架:设备驱动提供给组件和应用的服务接口
  • Component: 阿里巴巴增值和常用的物联网组件,包括LinkSDK,OTA(安全差分升级),ulog(日志服务),uData(传感器框架),uLocation(定位框架),WiFi配网 等
  • Application: 丰富的示例代码

所有的模块都作为组件的形式存在,通过yaml进行配置,应用程序可以很方便的选择需要的组件。

AliOS Things 3.3新功能介绍

  • 统一的VFS接入方式,更标准的应用开发模式
  • 更小的系统,yaml构建方式更直观
  • 更全面的JavaScript轻应用接口支持
  • 全面完善的组件、解决方案和系统文档。格式更规范与开发者友好
  • 升级了LinkSDK,新增设备引导服务、设备诊断、日志上报功能;移除CoAP、Http2、Wi-Fi配网及设备绑定的支持
  • 新增蓝牙配网、Wi-Fi Camera、OLED等组件,解决方案能直接调用

AliOS Things 3.3支持硬件

AliOS Things 3.3版本支持官方已适配如下硬件

  • HaaS100
  • HaaS EDU K1

文档

快速上手

HaaS100 快速开始

HaaS EDU K1 快速开始

文档中心

请到HaaS官方网站 文档中心查看。

贡献代码

请参考:Contributing Guideline

物联网平台

AliOS Things 能帮助你更加快速地接入阿里云物联网平台

社区

License

AliOS Things 开源源码遵循 Apache 2.0 license 开源协议。

rel_microkernel

3 years ago

AliOS Things Microkernel Release Note

中文

主要更新:

  • 采用微内核架构,支持用户态文件系统、用户态协议栈、用户态驱动
  • 支持应用独立编译、推送和加载
  • 内核
    • 新增进程支持
    • 内核组件对象化重构,优化系统调用
    • 新增IPC功能,支持高效RPC语义
    • 新增用户态中断框架
    • 新增ARMv8-M支持
  • 系统库
    • C库升级为musl libc(1.2.0)
    • 新增支持C++11标准
    • 新增Signal、读写锁等POSIX接口
    • 优化AOS接口,兼顾内核态与用户态开发
    • 支持三种组件形态:内核态、用户态相同进程、用户态不同进程
  • 中间件
    • 发布“进程管理”应用,集成用户态文件系统和Flash驱动
    • 发布“网络管理”应用,集成网络管理框架、LwIP协议栈和WiFi驱动
    • 发布“驱动管理”应用,集成I2C、ADC、SPI、GPIO、PWM等驱动
    • 全新的驱动框架,提供VFS接口
    • 新增ROMFS文件系统和根目录支持
    • OTA更新,支持多模块升级
    • 升级LinkKit版本到v4.0,并更名为Link SDK
    • CLI更新
      • 优化命令自动补全/历史回滚/方向键功能
      • 新增Ctrl+C等热键功能

English

Highlights:

  • Micro-kernel architecture, including user-space file systems, protocol stack and device drivers.
  • Supported application seperately building, pushing and executing.
  • Kernel
    • Added process support.
    • Re-arched to use object-oriented semantics, and optimized system call.
    • Added IPC, providing efficient RPC semantics.
    • Added user-space interrupt framework.
    • Added ARMv8-M architecture support.
  • System library
    • Upgraded to musl libc (1.2.0).
    • Added C++11 support.
    • Added more POSIX APIs, like signal, rwlock, etc.
    • Optimized AOS APIs, supporting programming both in kernel-space and user-space.
    • Components can be configured in kernel space, in process, or sharing process with other compoenents without any code modification.
  • Middleware
    • Published process management application, containing file system and Flash driver.
    • Published network management application, containing network management framework, protocol stack and WiFi driver.
    • Published driver management application, containing I2C, ADC, SPI, GPIO, PWM, etc.
    • Added driver framework, and provided VFS interfaces.
    • Supported ROMFS file system and root directory.
    • Enhanced OTA, supporting multi-module upgrade.
    • Upgraded LinkKit to v4.0, and renamed as Link SDK.
    • CLI new functionalities
      • Supported autocomplete/history/arrow keys.
      • Supported Linux-like key combinations, like Ctrl+C.

v3.1.0

4 years ago

ZIP Package MD5: 279c2a1b10be223c183a8e603f7bdc21

Clone Command: git clone https://github.com/alibaba/AliOS-Things.git -b rel_3.1.0

Highlights:

  • Bootloader

    • provide HAL interface for easy porting
    • ported to bk7232s chip
  • kernel

    • refined HAL interfaces, added HAL porting demos & refactor HAL interfaces for popular chips
    • enhanced crash backtrace capability & added comprehensive APIs
    • added username/password login function to CLI command line interface
    • provide better POSIX support
  • system buses

    • imporved MODBUS protocol
    • added new CANOpen protocol with extreme small footprint( <4k RAM, <10 ROM)
    • added new KNX protocol for commercial and domestic building automation
  • networking protocols

    • added new RTP/SRTP protocol
    • added new Websocket protocol
    • added new HTTPDNS protocol
    • added new uMesh2 networking protocols, with enhanced local service discovery and inter-operate capability over uMesh
    • added Chunked transfer encoding support for HTTP client
    • improved MAL/SAL modules
  • middleware

    • enhanced uAI framework
    • improved uAgent module: provide remote shell interaction and remote log checking/analysis/download
  • developer tools

    • enable user to focus on application development by separating application and OS into different folders
    • added command for query/install/upgrade/uninstall needed components
    • added python2/python3 compatible development tool

主要更新:

  • BootLoader

    • BootLoader驱动接口层标准化,便于移植;
    • 增加对bk7231s开发板支持;
  • 内核

    • 提供了HAL接口使用实例,并重新整理了部分热门芯片的HAL对接API;
    • 提供更完善的栈回溯能力与相关API;
    • CLI支持用户登录密码;
    • 完善posix接口;
  • 系统总线

    • modbus协议栈完善与优化;
    • 新增轻量级CANopen协议栈(最小开销 <4K RAM, <10K ROM):同时支持主从站;支持将CANopen配置存储到KV;支持报文加密
    • 新增楼宇自动化KNX协议:轻量级;提供精简的Application Layer标准API;支持物理层驱动扩展对接;内置NCN5120与E981.03两款芯片驱动
  • 网络协议

    • 新增RTP/SRTP协议支持
    • 新增Websocket协议支持
    • 新增HTTPDNS协议支持
    • uMesh2自组织网络协议,相较于上一版本,新增本地通信能力
    • HTTP Client新增HTTP CHUNK功能
    • MAL/SAL优化,增加脚手架
  • 中间件

    • uAI增强

      • 支持阿里震旦自动化模型优化及设计工具自动生成的ODLA接口代码基于uAI框架运行;
      • 支持按照channel维度进行量化,以及量化数据加载;新增部分算子支持。
    • uAgent增强

      • 挂载uLog至uAgent使运维控制台具备远程更改日志策略,及日志上云;
      • 挂载CLI至uAgent使运维控制台具备远程交互和调试设备的能力;
  • 开发工具

    • 优化APP开发框架方式,SDK代码和应用代码分离
    • 增加组件安装、卸载、查询等命令
    • 兼容python2/3

v3.0.0

4 years ago

ZIP Package MD5: 30911bcdf5ba5236776dfe8847c9cd96

Clone Command: git clone https://github.com/alibaba/AliOS-Things.git -b rel_3.0.0 Please go to https://aliosthings.iot.aliyun.com to get your minimal code.

Highlights:

  • Highly reliable and scalable OS with innovation isolation technology:
    • Kernel and application are separated, running in different privileged mode. Application cannot directly access kernel space and other application space.
    • Applications get kernel services through system calls, and communicate with other applications through IPC.
    • Kernel and applications can be compiled and linked independently, user can update any one at any time.
    • Multiple applications can be loaded, and dynamically loaded or unloaded.
    • Support arm v6m/v7m/v7a architecture processors.
  • WiFi low-power:
    • Power Save (PS) mode specified in IEEE-802.11 supported
    • Very simple to use. BSP developers only adapt few interfaces, while application developers only make configuration.
    • switch on/off for WiFi low-power feature, running in coordination with MCU low power.
  • LwM2M added:
    • LwM2M device register, bootstrap, and basic device management
    • message upstream with multiple data formats, such as plain-text, Opaque, TLV and JSON
    • UDP transmission channel bound
    • multiple resource models, such as object, object instance, single resource, multiple resource etc.
    • security capability, such as NonSec and Pre-shared-key
  • Http Client supported:
    • common http and https capabilities
    • 4 methods for http: GET/POST/PUT/HEAD
    • https over iTLS added
  • uAgent enhanced :
    • internal module’s service output to CLI or other modules
    • device module’s message and real-time uLog sent to cloud
    • OTA service loaded in uAgent
  • uAI framework added: DNN and CNN models can be run in AliOS Things just with parameters configuration.
  • OTA re-architected:
    • local difference package and verification tool
    • more secure download mode, break-point resume, and parameters configuration
    • OTA HAL interface standardization
    • XZ format package supported
    • https over iTLS OTA
  • Qianxun involved in uLocation: difference LBS supported,position precision within 1 meter and static position within 1 centimeter.
  • JS engine supported: JS applications can be run in OS,and GUI added.
  • Upgrade Link kit from 2.3.1 to 3.0.1:
    • subscribe-free Topic for sub-device
    • multicast WiFi provision
    • appToken transmission in hotspot config and smart config

主要更新:

  • 采用创新隔离技术实现高可靠和高可扩展OS。
    • 应用与内核隔离,分别运行在不同的权限模式,应用不能直接访问内核空间和其他应用空间;
    • 应用通过系统调用获取内核服务,通过IPC与其他应用通信;
    • 内核可独立编译、链接和更新;可同时加载运行多个应用,并动态加载与卸载;
    • 支持arm v6m/v7m/v7a架构处理器;
  • WiFi芯片低功耗支持:
    • WiFi模块支持IEEE-802.11规定的Power Save模式,BSP开发者只需适配少量接口,App开发者只需简单配置便可使用WiFi低功耗特性;
    • 使用特性开关使能和关闭低功耗;支持与MCU低功耗协同运行;
    • 并基于多种芯片完成深度验证,如esp8266、mk3060、mk3080、mk3072、asr5501、rda5981、bk7231s、sv6266等;
  • LwM2M支持:
    • 提供LwM2M设备注册、bootstrap和设备基本管理能力;
    • 支持多种数据格式的信息上报和UDP传输通道绑定能力;
    • 支持多种LwM2M资源模型,以及NonSec和Pre-shared-key安全能力;
  • Http Client支持:
    • 提供http和https的通用能力;
    • 支持http GET/POST/PUT/HEAD四种方法;
    • 支持https over iTLS;
  • uAgent增强:
    • 将客户模块的服务代理给外部控制命令或内部模块;
    • 发送端侧模块的信息至云端展示;
    • 代理uLog实时日志上云;
    • OTA挂载至uAgent;
  • 新增uAI框架。 通过配置表将DNN、CNN等神经网络模型运行于AliOS Things;
  • OTA重构:
    • 提供本地差分包制作和验证工具;
    • 提供安全下载模式、断点续传和下载参数配置;
    • 标准化OTA HAL接口使移植更容易;
    • 支持升级包的XZ压缩格式;
    • 支持https over iTLS升级;
  • uLocation支持千寻。 支持千寻位置差分定位服务,将卫星定位精度提升至亚米级和静态厘米级;
  • JSengine支持。 恢复原来的TinyEngine,支持JS上层应用, 并增加GUI模块;
  • Linkkit升级至3.0.1:
    • 支持子设备Topic免订阅能力;
    • 支持组播方案配网;
    • 热点配网和一键配网(组播方案)中传递appToken;

v1.3.4

4 years ago

ZIP Package MD5: e50c6ab39e2603ed4cc2375e5133917e

Clone Command: git clone https://github.com/alibaba/AliOS-Things.git -b rel_1.3.4

Highlights:

  • Link Kit SDK upgraded from 2.2.1 to 2.3.0
  • BLE Breeze assisted WiFi provisioning added, currently available on BK7231 platform;
  • Device hotspot WiFi provisioning function added, currently available on RDA5981A platform;
  • Device hotspot WiFi provisioning AP switch function optimized; SmartConfig WiFi provisioning optimized;
  • MQTT optimized: reconnection robustness improved, large packet transmit/receive improved;
  • Service message post over LAN network supported;
  • OTA supported compressed image, currently available on RDA5981A platform;
  • footprint optimization: flash usage cut down to 524KB from 879KB(40% lower);
  • Low Power mode Wifi function added, currently support RDA5981, MK3080, ASR5501 SoCs;
  • More MCU/SoC platforms added & comprehensively tested (BK7231, ASR5501, SV6266 etc.)

Note: This is an enhancement release based on v1.3.3 and the added commits is NOT merged/included into the master branch. The master branch development is still based on rel_2.0.0 branch.

主要更新:

  • Link Kit SDK 从2.2.1升级至2.3.0版本;
  • 增加基于BLE Breeze的蓝牙辅助配网功能,已支持BK7231U平台;
  • 增加设备热点配网功能,已支持RDA5981A平台;
  • 优化设备热点配网切换ap和一键配网;
  • 增加本地控制支持服务下发;
  • MQTT高频重连或弱网环境连接成功率提升,优化长报文收发;
  • 增加压缩OTA升级,已支持RDA5981A平台;
  • footprint优化,flash占用从879K缩减为524KB,下降40%;
  • 增加wifi芯片低功耗模式支持,已适配RDA5981、MK3080、ASR5501等
  • 增加多款芯片的支持和强化测试, 如 BK7231、ASR5501、SV6266等

注意:此版本基于v1.3.3生成,仅有release分支,对master分支无影响。master分支仍然基于rel_2.0.0分支正常演进。

v2.1.0

5 years ago

ZIP Package MD5: e1e5a59d935d566e11a4ec9b4d828ff6

Clone Command: git clone https://github.com/alibaba/AliOS-Things.git -b rel_2.1.0

Highlights:

  • new middleware modules added
    • uLocation: provide location service base on cellular aided GPS/BDS position system.
    • uLog: provide a unified logging service. An asynchronous non-blocking design. Provided multiple levels of logging.
    • Bootloader: added bootloader to provide a unified way of firmware updating. Support differential firmware updating.
  • network protocol stacks upgraded
    • Bluetooth Mesh stack added. Provide SDK to speed up BT Mesh application development.
    • CANOpen protocol stack added.
    • LoRaWAN protocol stack upgraded and Class B LoRA device supported
    • BLE Breeze protocol stack upgraded and footprint optimized
  • Component-based improved and visual configurability provided
    • Decoupled code and simplified component dependencies;
    • Provided enhanced configurability: add menuconfig for tailoring the OS according to application needs;
    • upgrade the build process to a Config-then-Make fashion. Refer here for details.
  • Footprint optimized

主要更新:

  • uLocation功能发布。提供基于GPS,北斗,以及结合云服务的基站定位能力;
  • BT Mesh协议栈发布。提供相应SDK,实现快速BT Mesh节点设备开发及通信;
  • CANOpen协议适配。通过AliOS Things提供的硬件抽象接口,对接通用CANOpen协议栈,使适配过AliOS Things并带有CAN bus接口的控制器快速实现CANOpen主从站开发;
  • LoRaWAN协议栈升级及Class B支持;
  • uLog功能发布。采用异步设计,在弱资源的MCU系统中实现日志系统不干扰主业务系统的执行,并支持多种输出方式;
  • 重构BLE Breeze协议SDK,完全开源同时,大幅减小code size;
  • 提供统一的bootloader,实现适配后的控制器统一工具升级,并支持差分升级;
  • 通过功能间的解耦,实现AliOS Things代码的组件化输出;
  • 优化AliOS Things 的flash占用;
  • 构建命令变化,分为配置和编译两步;同时,uCube工具配合组件化进行重构。详情参见文档

v2.0.0

5 years ago

ZIP Package MD5:436d5ccfcab6d19c10545846c5c1b17f

Clone Command: git clone https://github.com/alibaba/AliOS-Things.git -b rel_2.0.0

Highlights:

  • Link Kit upgraded to 2.2.1;
  • BLE Breeze assisted WiFi provisioning added;
  • Sensor Data to Cloud (DTC) function added;
  • Incremental Over the Air (OTA) upgrade supported;
  • More architectures and CPUs supported;

Detailed Enhancements:

  • Link Kit:
    • Dynamic register function added: single firmware can be burn into thousands of devices, instead of hardcode ID string for each device;
    • New offline countdown app added, demonstrating how to implement offline countdown function using LinkKit APIs;
  • Network:
    • BLE Breeze assisted WiFi provisioning added;
    • AT Host protocol enhanced: Mqtt and Coap protocols supported;
    • LoRa turnkey version added; LoRA HAL APIs provided and ICA LoRa AT specification supported;
    • ID2 one-time provisioning added
  • uData:
    • Sensor Data to Cloud(DTC) function added;
    • 3rd party sensor algorithm and service supported;
    • Static sensor calibration APIs added;
    • Sensor APIs upgraded to 2.0: supported I2C,SPI,Modbus bus protocols; added IRQ support;
  • OTA:
    • Incremental OTA added (currently supported mk3060 & esp8266);
    • OTA firmware digital signature verification supported;
    • Secure download channel over iTLS https protocols added;
  • Core OS:
    • OS backtrace and panic modules added, supporting main architectures (Cortex-M, Cortex-A, Xtensa, etc.);
    • Task statistics function added; power management module added;
    • Modbus-master protocol supported;
    • New architectures support added: Cortex-A9 and RSIC-V;

主要更新:

  • 网络连接:
    • 增加动态注册功能,一份固件可烧录多台设备,无需每台设备烧录不同的标识字符串;
    • 增加离线倒计时例程,演示如何用linkkit API编写离线倒计时功能;
    • 增加基于BLE Breeze的蓝牙辅助配网功能;
    • 增加AT Host中MQTT和CoAP的支持;
    • 增加LoRa Turnkey版本,提供HAL移植接口、ICA LoRa AT指令集合功能;
  • uData组件:
    • 支持数据上云功能;
    • 支持传感器第三方应用服务和传感器算法;
    • 支持传感器静态校准接口;
    • 传感器API2.0,支持SPI、I2C、MODBUS接口,以及传感器驱动中断处理;
  • OTA:
    • 差分增量升级,已支持mk3060和esp8266平台;
    • 固件数字签名验证;
    • 基于iTLS https安全下载通道支持;
  • 基础OS:
    • 新增调用栈回溯、异常解析功能,覆盖Cortex-M, Cortex-A, Xtensa等主流架构;
    • 增加任务占用率统计、电源管理功能;
    • 增加modbus主模式协议;
    • 增加Cortex-A9与RSIC-V的支持;

v1.3.3

5 years ago

ZIP Package MD5: 24ab9d3356735ca07e52e5afb4c92d53

Clone Command: git clone https://github.com/alibaba/AliOS-Things.git -b rel_1.3.3

Highlights:

  • Link Kit upgraded to 2.2:
    • Device can be offline reset;
    • Add gateway support;
    • Support objects for array data type in TSL(Thing Specification Language);
  • LinkWAN enhancements:
    • footprint optimization for extremely resource-constrained devices (up to 6K RAM usage);
  • Security enhancements for iTLS:
    • Use pre-shared key(ID square) for mutual authentication: smaller footprint, higher performance;
    • Support different security level for ID square to balance between security and cost;

v1.3.2

5 years ago

ZIP Package MD5: 3c47c8dec7b2e7dfc2c929537fa1ea20

Clone command: git clone https://github.com/alibaba/AliOS-Things.git -b rel_1.3.2

Highlights:

  • Link Kit update
  • Link WAN support low power mode

v1.3.1

5 years ago

ZIP Package MD5: 2553ec26629cf1396d1693a7b1d68845

Clone command: git clone https://github.com/alibaba/AliOS-Things.git -b rel_1.3.1

Highlights:

  • Link Kit update
  • Link WAN update