近日,阿里云物联网操作系统AliOS Things时隔一年,新版本AliOS Things 3.3.0正式开源发布。作为广大开发者的新宠,AliOS Things 3.3.0推出轻应用开发模式,为碎片化的物联网提供统一的操作系统解决方案。
一个物联网操作系统,做到效率高,资源占用少不算难,但要提升操作系统的易用性,降低开发门槛,是很难的。万物互联时代,需要更多的开发者参与到物理世界的数字化进程中,为了引入更多开发者,物联网操作系统一定要有一个低门槛,一定要有丰富的工具,一定要有详实易读的文档,一定要有简单易上手的代码开发模式。
为此,本次发布主要包括:
- 推出轻应用开发模式
- IDE更新
- SmartTrace调试工具发布
- HaaS积木方案上线
- 文档库上线
- AliOS Things更新
AliOS Things 3.3.0更新
如上图所示,本次的发布版本中,我们默认适配了HaaS生态的HaaS100系列和HaaS EDU系列两种开发板。但为了更好的服务开发者,我们基于这些开发板打造了大量的案例,代码已开源,相关的文章有:
HaaS100 云端钉一体智能语音播放器设计
1小时打造HaaS版小小蛮驴智能车
HaaS EDU场景式应用方案
一步步打造能手机远程管理的HaaS花卉养植系统
HaaS物联网设备OTA解决方案
基于HaaS100搭建云端一体RFID读卡器
基于HaaS100实现LoRa点对点通信
HaaS AI应用实践之 老板来了
本次发布我们精简了一些不常用组件,同时在3.1.0 的基础上,增加了如下组件能力:
- 轻应用框架:同时支持JavaScript和Python两种轻应用开发模式。
- HaaS UI:ugraphics, udisplay,提供从点阵屏到小屏的支持。
- HaaS AI:ucloud_ai, ai_agent,提供云端AI推理能力。
- VFS:统一文件和驱动的接入方式,同时提供IO多路复用机制。
- 文件系统:LittleFS和FatFS,分别为Nand/NOR Flash和SD卡提供文件操作能力。
- 音频组件:a2sa, uvoice,提供从端到云全链路的语音能力。
- 摄像头组件:ucamera,提供Wi-Fi摄像头的支持。
- 云存储:oss,为设备增加云端存储的能力。
基于3.1.0升级的组件有:
- OTA:全面开源。
- LinkSDK:升级到4.0版本,新增设备引导服务、设备诊断、日志上报功能。
- CLI:增加类Shell操作方式,提升易用性;增加文件系统相关命令。
- Debug:增强调试能力。
- 增加了更多POSIX接口,提升标准性和易用性。
特色1:更易用的轻应用开发
轻应用是我们本次发布的一个重点功能。为了降低物联网开发的门槛,我们提供了轻应用的开发框架,同时支持JavaScript和Python两种语言。目前我们为此封装了大量的API,而且还在持续扩展,后续会陆续开源。我们希望为物联网提供轻应用的开发标准,从而为万物互联的进程做出贡献。
轻应用开发框架提供了支撑轻应用运行所需的全套基础设施。是一套集成了包括硬件抽象、网络接口、物联网组件、运行时引擎、对象封装等功能的应用软件框架。
轻应用之所以轻,是因为有如下特点:
- 采用解释型编程语言JavaScript和Python,整个开发过程无需搭建嵌入式开发环境,也无需编译、烧写。
- 硬件设备的开发可以不再依赖嵌入式软件技术栈,调用简洁的API即可操控硬件行为。
- 支持一键热更新推送应用代码到硬件,极致开发体验。
特色2:更易用的开发调试工具
易用的操作系统一定要有丰富的开发调试工具。为此首先升级了IDE (AliOS Studio),增强点包括:
- 图形化完整支持开发编译调试烧录全流程,提供易用性。
- 重构构建系统,使用更先进直观的yaml方式编译脚本。
- 代码从单库改成多库,代码下载量最少只需要不到300MB。
本次还发布了自研的智能串口工具SmartTrace V1.4。提供的能力有:
- 查看串口日志。
- 自动截取coredump信息,解析出相应的文件名和行号。
- 自动提取CLI日志至单独窗口,解决日志刷屏时找不到CLI日志的问题。
- 可以实时查看内存变量,自动和代码里的变量一一对应,方便调试。
- 在运行时设置内存变量,执行函数。
- 支持uart、telnet等方式连接设备。
- 支持本地日志离线分析。
- 支持业内常用性能测试工具SystemView
特色3:更丰富的积木方案
为了帮忙开发者快速开发,还上线了HaaS积木方案,如上图所示,其中汇集了目前提供的丰富的解决方案,硬件积木和软件积木,方便开发者参考设计,后续会陆续上新。
特色4:更易用的文档库
易用性很重要的就是文档,为此在AliOS Things 3.3.0新版本中投入了大量的精力撰写和打磨文档,共推出近40万字的中文文档库,其中包括每个案例和组件的使用方式,内核开发指南,API用户手册等等。同时我们的文档全部集成在代码中,也同步开源,希望能够得到开发者的反馈和贡献,不断的提升文档的可读性和准确性。