物联网操作系统AliOS Things探索与实践
上QQ阅读APP看书,第一时间看更新

前言

自从1991年麻省理工学院的Kevin Ashton教授首次提出“物联网”概念后,物联网已经经历了二十多年起起落落的发展。近年来,在云计算、大数据、人工智能等创新科技日益成熟的背景下,在一些新兴物联技术特别是低功耗广域物联技术的推动下,物联网重新被深度关注。除了技术层面的推动之外,过去十年移动互联网基于人与人的互联造就了很多新的硬件产品以及软件应用公司的爆发式发展,人们对“得入口者得天下”仿佛突然有了更深刻的认识。相比移动互联网的连接数,物联网的连接数将有数量级的提升,流量数意味着入口,这使得物联网给了人们更多的想象空间,这是近年来物联网被重新深度关注的另一个主要原因。2018年3月的深圳云栖大会上,阿里巴巴集团资深副总裁胡晓明宣布:“阿里巴巴将全面进军物联网领域,IoT成为继电商、金融、物流、云计算后,阿里又一业务主赛道。”这将人们对万物互联的关注热度推上了一个新高度。

从技术角度来看,物联网的应用开发是一个较为“碎片化”的问题,这一观点已经成为行业共识。这种“碎片化”不仅体现在终端和通信模块电气接口的多样化、终端传感访问协议和控制命令标准的多样化、物联通信和组网方式的多样化,也体现在处理器、存储器等系统硬件的多样化以及对接云端平台的多样化。“碎片化”的工作意味着大量重复性劳动,很大程度上会影响物联网应用行业的发展速度。解决物联网“碎片化”的一个重要途径,就是使用物联网操作系统。

实际上,物联网操作系统远非解决“碎片化”这一功能。物联网操作系统的主要功能还包括:通过设备认证、服务认证、安全加密算法等技术手段,为物联网终端设备带来安全保障;通过提供完善的操作系统组件和通用的开发环境,降低应用开发的成本和时间;通过提供多种通信协议连接管理平台的能力,为物联网终端统一管理提供技术支撑;通过建立产业上下游连接,使物联网应用形成积极健康的行业生态。用一种历史观的眼光来看,不难发现,在物联网成为新浪潮的今天,物联网操作系统将对整个行业生态起到革命性的影响。

物联网操作系统的研究与开发,受到了众多物联网行业领先公司、中小创公司以及开源开发者的广泛关注和持续投入,市面上已经有一系列开源和商用物联网操作系统。其中,AliOS Things是AliOS家族旗下面向物联网领域的轻量级物联网嵌入式操作系统。依托阿里云强大的云端能力,AliOS Things致力于搭建云端一体化物联网基础设施,具备极致性能、极简开发、云端一体、丰富组件、安全防护等关键能力,并支持终端设备连接到阿里云Link,可广泛应用在智能家居、智慧城市、新出行等领域。与大多数物联网操作系统仅仅提供一个内核不同,AliOS Things除内核外还提供了丰富的功能,包括Wi-Fi/BLE配网、mesh自组网、语音交互能力、多bin的FOTA、安全的加密算法等,能够为物联网开发应用提供更加可靠、方便、适用的技术支撑。

为了使广大物联网应用开发者更快地了解AliOS Things的功能,理解AliOS Things的工作机制,将AliOS Things运用于实际项目开发之中,缩短开发周期,我们编写了本书。本书的主体内容分为两部分,前面部分为AliOS Things的探索部分,后面部分为AliOS Things的实践部分。前面部分包括第1章至第5章:第1章对物联网操作系统进行了概述,讨论了AliOS Things的主要技术特征和能力;第2章重点阐述AliOS Things的Rhino内核运转机制和Rhino内核接口,涵盖了任务、定时器、工作队列、系统时钟、信号量、互斥机制、环形缓冲池、事件机制、内存管理、低功耗框架、异步事件框架等内容;第3章主要讨论了AliOS Things提供的组件,包括自组织网络uMesh、空中固件升级功能FOTA、网络适配框架SAL、消息传输协议MQTT、感知设备软件框架uData、JavaScript引擎Bone Engine@Lite、智能语音服务Link Voice、安全支持等内容;第4章给出了目前AliOS Things已移植支持的硬件,并对编译开发环境进行了详细介绍;第5章简要介绍了用于本书后续章节实践的开发板硬件。

在前几章的基础上,本书的后面部分给出了AliOS Things实践的5个例程:第6章是一个热身性的例程,学习运用AliOS Things的CLI组件进行Shell交互实验,并穿插了对Rhino内核移植、UARTHAL移植的讨论和实践;第7章是通过MQTT协议上传数据到物联网套件的例程,其中穿插了Wi-Fi移植的讨论和实践;第8章使用uData框架进行数据读取的例程,讨论了uData移植的方法和实践;第9章是使用FOTA进行固件升级的例程,其中穿插了Flash HAL的移植以及FOTA移植的讨论和实践;第10章给出了uMesh自组网的实践例程。本书的一个重要特点就是注重实践性,所以例程和移植代码都已经在开发板硬件上验证,并全部提供给读者,相信这对于读者快速掌握使用AliOS Things进行物联网应用开发是大有裨益的。

全书由史治国和陈积明负责统稿、审稿与定稿;依托于浙江大学阿里巴巴前沿技术研究中心物联网实验室,参加本书编写的人员包括浙江大学的孙怡琳、胡康、刘波、王志浩、潘骏,阿里云物联网事业部的蔡俊杰、陈凌君、戴胜平、范剑刚、葛伟、桂挺、郭雷、黄震、李诚、廖怡然、马骁、钱帆、王路、王之磊、巍骛、谢琳峰、杨佳、杨纾、郑文建、张畋、朱卿、庄勤益等。本书还得到了浙江大学本科生院的大力支持,在此一并表示感谢。

由于编者水平有限,成书时间紧迫,书中难免存在不足之处,敬请读者批评指正。