书名:华为LiteOS:快速上手物联网应用开发
ISBN:978-7-115-56104-6
本书由人民邮电出版社发行数字版。版权所有,侵权必究。
您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。
我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。
如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。
著 朱有鹏 樊心昊 左新戈 涂小平
责任编辑 赵祥妮
人民邮电出版社出版发行 北京市丰台区成寿寺路11号
邮编 100164 电子邮件 315@ptpress.com.cn
网址 http://www.ptpress.com.cn
读者服务热线:(010)81055410
反盗版热线:(010)81055315
本书基于华为LiteOS编写,循序渐进地带领读者利用LiteOS快速开发自己的物联网产品,内容讲解上逐步递进。首先讲解物联网的典型案例、物联网的技术架构、产品开发流程,以及华为公司全套物联网解决方案的主要产品。然后深入浅出地讲述操作系统的原理,以及物联网操作系统的发展历程、特征特点。随后开始聚焦LiteOS的软件框架,分别细致解读了LiteOS的内核源代码和外围组件源代码。最后在介绍本书所使用的硬件平台和移植技术的基础上,以温湿度传感器的实战案例讲解了基于LiteOS和华为云IoT的物联网解决方案的开发过程,并在本书最后一章介绍了LiteOS的后续发展方向。
本书适合对LiteOS感兴趣的初学者和相关技术人员阅读。
我开始研究物联网(IoT)是在2014年初,当时我已算得上是一名经验丰富的单片机和嵌入式Linux软件开发工程师,也参与过大大小小十来个产品和项目的研发。但是与物联网的相遇,那种久违的、得遇新技术的兴奋与躁动让我“寝食难安”。尤其是共享单车的火爆,让“高大上”“不食人间烟火”的物联网瞬间接了地气儿,让资本圈和技术圈都惊叹:物联网技术潜力无限,“造化”无穷。
近几年,随着5G、人工智能、大数据等技术的发展和逐步商用,物联网技术和产业飞速发展,各行各业涌现出一批世界级的优秀物联网解决方案厂商,这其中又以华为技术有限公司(简称华为)为杰出代表。大多数消费者只知道华为手机好用,华为5G世界领先,实际上,华为在物联网领域也有一套成体系的解决方案,其核心产品有物联网平台华为云IoT、物联网操作系统LiteOS、华为海思NB-IoT芯片等,分别覆盖物联网的平台层和感知层。这套解决方案已经广泛应用在智能仪表、智慧路灯、智能家居等产品中,可以极大助力传统电子产品厂商的物联网化转型。
本书的主要目标是向读者全面介绍LiteOS,读完本书,你可对LiteOS有深度和广度两方面的全新认知,并且有一定能力利用LiteOS快速开发自己的物联网解决方案和产品。为了实现这一目标,本书为大家带来逐步递进的讲解。
本书可供零基础起步的读者阅读。第1章和第2章讲解物联网的概念和典型案例、物联网的技术架构及产品开发流程等,希望加深读者对物联网的认识和理解。第3章全面介绍华为全套物联网解决方案的主要产品,目的是让读者对华为物联网解决方案有整体性和框架性认识,从而能对物联网的特点有更深刻的认识,对物联网系统开发中的重点和难点有所了解。第4章和第5章是本书的重点和特色,融合了我多年的一线研发经验与在线教学经验,深入浅出地讲解了操作系统的原理,以及物联网操作系统的发展历程、特征特点。这两章会解决大部分读者一直以来面临的“操作系统究竟是什么”“操作系统有什么用”“为什么要使用操作系统”“什么是物联网操作系统”等疑问,拉近读者与物联网操作系统技术之间的距离。
以上是本书的上半部分,占了全书超过1/3的篇幅,讲明了物联网和物联网操作系统这两个概念。而本书的下半部分将聚焦LiteOS,“条分缕析”。
第6章是LiteOS的框架性讲解,我的理念是“画人先画骨”,本章就是LiteOS的“骨架”解析,让读者建立对LiteOS的整体性认识,站在更高层次了解整个LiteOS,加深理解。这种有高度的视角非常关键,如人对城市的认识,即使是你生活了几十年的城市,你也无法整体把握,而当你用无人机航拍、在更高的高度俯视整座城市时,你才能建立一种“整体把握”。LiteOS这样一个物联网操作系统,对新手开发者来说就像是一座城市。
第7章和第8章分别细致地解读LiteOS的内核源代码和外围组件源代码,这两章内容技术性比较强。限于篇幅,我们不能带读者逐字逐句分析源代码,所以本书选择了这些源代码中的难点和设计的关键处(如任务管理、内存管理、组件使用和挂接等)。Linux的创始人林纳斯·托瓦兹(Linus Torvalds)有一句名言“Talk is cheap, show me the code”,这两章践行“源代码至上”的原则,带领读者从源代码级别深度地理解LiteOS。
第9~11章为LiteOS的实战篇。其中,第9章简要介绍本书所使用的硬件平台和开发板。第10章是移植专题,贴心地为大家准备了LiteOS在传统单片机开发者喜欢的Keil MDK软件中的移植案例,以及在华为向物联网开发者提供的专用IDE软件IoT Studio中的移植案例。这两个开发环境中的移植案例和重点解析内容足以让读者完全掌握LiteOS的移植技术。第11章以温湿度传感器和断电监测报警器项目为大家演示一个典型的基于LiteOS和华为云IoT的物联网解决方案的开发过程,并详细分析其中细节和技术点。通过本章读者可以更加直观和深刻地理解如何基于LiteOS和华为云IoT快速搭建自己的物联网产品和解决方案。
第12章简单介绍了LiteOS的后续发展方向,展示一些未来的更新计划。物联网是当前科技最前沿的阵地之一,每年都会有很大变化,以及出现很多新功能、新特性。在华为强大的资源和技术团队支持下,LiteOS与华为云IoT也在不断进化、快速发展和更新。未来我们将为大家带来这些新技术进展的讲解。
朱有鹏
2021年6月
“信息革命”深刻改变了人类社会,计算机的诞生解决了数据信息运算与处理的大部分问题,互联网实现了数据与信息的快速传输,在此基础上产生的大量业务与应用几乎影响了每一个人。目前我们正处于“第三次信息化浪潮”—物联网爆发的前夜。什么是物联网?它有什么样的应用?它将如何改变人类社会?本章将和您一起探讨。
本章主要介绍物联网的概念和发展历程、物联网的典型案例,以及物联网的分支应用领域,从而使读者初步理解什么是物联网。
百度百科相关词条给出的定义:“物联网(Internet of Things,简称IoT)是指通过各种信息传感器、射频识别技术、全球定位系统、红外传感器、激光扫描器等各种装置与技术,实时采集任何需要监控、连接、互动的物体或过程,采集其声、光、热、电、力学、化学、生物、位置等各种需要的信息,通过各类可能的网络接入,实现物与物、物与人的泛在连接,实现对物品和过程的智能化感知、识别和管理。物联网是一个基于互联网、传统电信网等的信息承载体,它让所有能够被独立寻址的普通物理对象形成互联互通的网络。”
上述定义准确地表达了物联网的目的是实现对物品和过程的智能化感知、识别和管理。其中的关键是“实现物与物、物与人的泛在连接”,这一概念将互联网以“人”为本的思路拓宽到能够通过电子手段接入网络产生价值的“物”的层面。也就是说,物联网的本质依旧是互联网,并且物联网将传感器技术与智能化技术相结合,使“人”或“物”进行连接和互动,提升数据信息加工处理的效率。
智能穿戴设备可获悉用户的各项健康数据,并对数据进行识别、分析及管理,让用户对自身健康有直观的认识。这其中涉及的“人与物”“物与物”“物与人”的连接是物联网连接的典型方式。
维基百科词条给出的定义:“物联网是一种计算设备、机械、数字机器相互关联的系统,具备通用唯一识别码(UUID),并具有通过网络传输数据的能力,无须人与人或是人与设备交互。物联网将现实世界数字化,应用范围十分广泛。物联网可拉近分散的资料,统整物与物的数字信息。物联网的应用领域主要包括以下方面:运输和物流、工业制造、健康医疗、智能环境(家庭、办公、工厂)、个人和社会领域等。”
维基百科深刻地指出物联网是现实世界数字化的基石,区别于互联网时代信息传播完全依赖于人,即使是计算机、手机这类超级计算机也只是人类感官的延伸,而物联网则是将连接的本质拓宽至“物”的层面,让连接范围更广泛、种类更丰富、功能更强大。
物联网的本质是“物”,物联网技术赋予“物”感知、连接及处理的能力,实现让“物”去获取数据,让“物”去传输数据,让“物”去处理数据,最终作用于人与物。
从以上的定义中不难发现,大家对物联网的基本看法是一致的,本书认为物联网具有更丰富的内涵与鲜明的特征。
物联网是互联网的延伸,而不是取代品,所以物联网不会颠覆互联网。物联网技术是互联网技术发展的产物,其基础技术与核心仍然是互联网。二者的关系是相互依存,共同发展。
互联网注重“人与人”之间的连接,而物联网更注重“人与物”“物与物”之间的连接。互联网关注的重点是“人与人”,信息的采集与传播的每一步都离不开“人”。一旦“人”消失了,那么信息的传播链就会断开。物联网更加注重“物”的存在,“物与物”的连接让信息传播得更快捷,“人与物”的连接让信息处理得更准确。
连接是物联网的基础和实现手段,基于连接之上的业务和应用才是物联网的价值。就好像互联网,计算机、手机、光传输、4G是实现连接的手段,在这之上创造了数十万亿的市场规模的业务与应用才是其价值。
物联网是融合性学科,而非单一性学科。物联网是将各种通信技术、感知技术、自动化技术、云计算、大数据及人工智能等多种技术聚合与集成应用的学科。
物联网的鼻祖,可算1990年施乐公司推出的可乐售货机。程序员为了能够买到可乐,在可乐售货机上安装传感器再接入网络,并编写了配套软件用于监测可乐售货机有没有补货。在此基础上,1990年施乐公司推出了网络可乐售货机,开创了物联网的先河。
但真正意义上的物联网术语出现在1991年,麻省理工学院(Massachusetts Institute of Technology,MIT)首次提出物联网概念。1999年,麻省理工学院建立了自动识别中心(Auto-ID Center),提出了“万物皆可通过网络互联”,阐明了物联网的基本含义,从此物联网进入大众视野。值得注意的是,早期的物联网是依托射频识别(Radio Frequency Identification,RFID)技术的,与主要依赖网络交换数据的设备有着显著的不同。尽管RFID技术提供的功能有限,但它是更便宜和更可行的方案,已经融入现代人的生活习惯之中。
2005年11月17日,国际电信联盟(International Telecommunication Union,ITU)发布了《ITU互联网报告2005:物联网》,正式提出了物联网的概念,报告指出无所不在的物联网通信时代即将来临,世界上所有的物体,从轮胎到牙刷、从房屋到纸巾都可以通过物联网主动进行信息交换。RFID技术、传感器技术、纳米技术、智能嵌入技术得到更加广泛的应用,使物联网覆盖范围有了较大的拓展,此时物联网已经不再局限于RFID技术,产品集成入网模块技术成为物联网设备的主流技术。物联网的广泛运用已经成为现实,不再局限于少数的高端家电。现如今,大到家电、小到可穿戴设备,物联网技术与人们的生活息息相关。
2009年8月,时任国务院总理温家宝到无锡视察传感网技术的研究,提出建设“感知中国”中心,从此拉开了中国物联网技术发展的大幕。2015年5月,国务院印发《中国制造2025》的通知,其核心是物联网与制造业的有机结合,引发了中国物联网技术发展与应用的浪潮。
2015年至今,物联网发展进入了“快车道”,国内外“巨头”公司不断在物联网领域发力。我们有理由相信,未来10年是属于物联网的。
回顾物联网发展历程,大家可以发现物联网由来已久,它是逐步衍生发展而来的。其实任何主流科技都是这样的。互联网技术自诞生以来也经历了起起落落,甚至遭遇过“互联网泡沫破裂”。随着时间的推移,互联网迎来了大发展时期,引发了“第二次信息革命”的浪潮,造就了我们现在的生活。
而物联网已经经历“泡沫期”和“幻灭期”,如今正在高速发展中。物联网发展的过程起起伏伏,直到2015年左右,国内外很多公司纷纷布局物联网产生。国外参与物联网建设的公司有亚马逊、IBM、思科等,国内积极布局物联网产业的公司有华为、阿里巴巴、海尔、中国移动及中国联通等。
物联网是重要技术,国内华为、阿里巴巴及“三大运营商”等都投入巨资和制订重磅计划。华为首推“1+8+N”的“全场景智慧化战略”,在标准制定与产品落地方面促进物联网产业发展。阿里巴巴将物联网战略上升至第五大战略,在人工智能物联网(Artificial Intelligence &Internet of Things,AIoT)方向持续发力,为物联网产业发展提供新的可能。三大运营商加快5G与基于蜂窝的窄带物联网(Narrow Band Internet of Things,NB-IoT)网络的建设,并推出各自的物联网云平台,提升企业与应用上云的效率。
得益于良好的互联网产业和电子设备研发制造产业基础,我国发展物联网有天然优势。我国在互联网产业发展过程中诞生了一批像阿里巴巴、腾讯、华为等优秀的公司,在技术与应用上有着丰厚的积累,同时我国拥有大量的应用开发者。在电子设备研发制造领域,我国有着产品设计、项目开发、原材料采购、生产制造、物流、测试及售后服务等完整产业链。这些积累,会成为我国物联网发展的强劲助力。
共享单车的实质是自行车租赁。目前,共享单车面临管理成本高、维护成本高、收费难的问题。物联网技术的出现解决了随时随地低成本有偿租赁自行车的问题,共享单车工作原理和过程如图1.1所示。
图1.1 共享单车工作原理和过程
共享单车三大模块包括智能锁、云平台及手机应用程序(Application,App)。智能锁本身是一块单片机,由太阳能电池板供电;GPS模块通过通信模块向云平台上报测量到的定位位置;GPRS模块负责与云平台通信;BLE模块辅助智能锁与云平台连接。手机通过4G或5G网络与云平台通信,智能锁通过GPRS模块与云平台建立连接,获取或上传开、关锁的命令,实现车锁的开关功能。
借车流程如下。
步骤一:打开手机App扫描共享单车上的二维码,通过4G或5G网络向云平台发起解锁请求。
步骤二:云平台对用户请求和共享单车的信息进行核查,云平台与共享单车通过GPRS模块建立连接并将解锁指令发送给智能锁,智能锁的微控制单元(Micro Control Unit,MCU)收到命令,控制电机开锁。智能锁开启后向云平台回复“解锁成功”,云平台通知用户手机App,并开始计费。
还车流程如下。
步骤一:手动将智能锁锁住,触发智能锁锁车传感器。
步骤二:MCU通过GPRS模块向云平台上报锁车指令。
步骤三:云平台计算费用,发送到用户手机App。
共享单车智能锁是“人与物”通信的典型代表,手机作为“人”感官的延伸打破了“人与物”的隔阂。手机通过网络云平台,智能锁通过GPRS模块或BLE模块连接到云平台,实现了“人”与“物”的连接。在连接的基础上,构建了借车还车、按时长计费的商业模式。
我们认为此类应用是“人与物”连接与应用的模型。此外,共享充电宝、扫码支付零售机、扫码支付抓娃娃机等均属于此类物联网应用。
城市监控设备维护主要有两个方面,网络维护和电源维护,其中电源维护人力成本高、时间成本高。物联网技术能够判断电源故障,降低监控设备的运维成本。
断电监测报警器会持续监测断电事件并单向报警。断电监测设备与被监测设备的电源电力线连接,当监测设备断电时切换到电池供电,同时断电监测报警器的MCU控制通信模块上报这一问题。接警人员接到问题上报后,可以确定故障类型与故障发生点,这样就达到了设备电源故障能够准确通知有关人员的目的,降低了人力成本。
断电监测设备是一种典型的“传感器型”物联网应用。传感器型物联网的应用特点是业务通信以单向上传为主。为了提高部署的便利性和降低运维成本,大多数此类产品需要电池供电,因此常有低功耗的需求。低功耗是物联网应用的重要特性,尤其是在智慧农业与公共事业领域。人们希望在这些场景中部署的设备在线时间足够长,达到降低人力成本的目的。低功耗要求开发者从每一个细节考虑降低功率消耗。现在的物联网系统集成了低功耗设计,可延长物联网设备电池的使用时间。
智慧城市停车系统是一种先进的交通管理系统,它针对城市停车位不足、停车位资源利用率低等问题进行规划设计,并结合物联网技术提出车位共享的解决方法。
智慧城市停车系统提出了提高车位利用率的方法。室内外停车场采用超声波传感器、地磁传感器、摄像头等监测车位是否空闲,结合出入场识别收费系统,用合理的方法将空闲车位出租给需要车位的人使用,实现动态管理停车位和收取停车费用。
智慧城市停车系统是智慧城市的一个分支,也是智慧城市的缩影,其本质是让城市管理更高效、让城市生活更方便。物联网技术为智慧城市停车系统的实现提供了技术基础,体现了物联网在未来智慧城市建设中的重要性。
目前,智慧城市停车系统建设面临许多挑战。一方面,现有技术研发和应用处在初级阶段,控制系统成本难度大、产品迭代速度慢;另一方面,智慧城市项目落地是一个信息技术、社会观念、管理体系等协调和合作的过程,在这个过程中需要政府引导、企业主导,共同建立多方共赢的商业模式,才能够实现长久发展。
以上案例只是物联网技术很小的一部分应用,实际还有非常多的场景的应用。物联网技术应用必须指定具体场景,因为传感器、连接方案及应用开发都由应用场景决定。
智慧交通指对城市交通进行人性化和智能化管理。它采用物联网技术获取车辆信息,实时向云平台汇报数据。云平台使用人工智能技术对收集到的信息进行处理,实现对车辆、交通的有效控制,如路灯弹性控制、车辆到站预测、停车位信息、车流量及拥堵预测等;可提前给车主规划路径,避免交通拥堵。
阿里巴巴自主研发的“城市大脑”可以对整个城市进行全局实时分析,利用城市的数据资源优化调配公共资源。以杭州为例,城市交通数据源于摄像头的流媒体数据,以及私家车和公交车上的GPS数据。利用人工智能技术分析这些数据,可预测道路上的拥堵情况,从而提前调控交通资源,避免或缓解交通拥堵。受其影响,2018年杭州从全国拥堵指数第5位下降到了第57位。
将部署在城市大街小巷的摄像头与城市重点建筑统一接入,融合智能化图像识别、大数据分析等多种能力,对城市的安防工作进行智慧化管理,可实现主动事前预防、快速事件管控、事后复盘的高效运作,保障社会安全。
智慧建筑是在设计阶段就引入的智慧化理念,可以被认为是一个过程或一种系统。利用物联网技术将建筑有关的各个子系统有机地结合,可实现对水、电、气的监控,对公共资源的智慧化管理,提高安防能力,使建筑具有“智慧”。
物联网技术在商业领域会率先实现突破,利用物联网技术可对商业进行数字化管理服务,降低企业的管理成本,改进服务质量,增强商业竞争力。它能够实现用户画像分析,精确分析用户需求,帮助商家精准识别用户,解决客流、活动、推广等问题。
智慧办公通过物联网技术将办公业务中的软硬件结合,同时对员工进行数字化管理,使员工从重复,低效的工作中解放出来。智慧办公系统可以与智慧大楼系统相结合,解决传统办公中保密权限、安全管理等维护成本高的问题。
智慧家庭可以被定义为一个系统,利用物联网技术将与家居生活有关的各个子系统结合,实现家电设备、生活用品的自动化管理与控制。它可帮助用户进行水、电、气以及安保等的监控,降低人力维护成本。
物联网技术在医疗卫生领域的应用体现在医疗设备管理、患者管理等方面。典型应用如输液监控系统,它可以实现医疗设备管理、医院数据化管理、病人自动监控等功能,能够降低护士工作强度,提高护士监护效率。
物联网技术在养老医疗应用中大有用武之地,如可以通过监测报警手环对独居老人、重症患者、老弱患者进行健康监测,掌握他们的空间位置、身体状态等重要信息,做到问题早发现、早报警,对医院的救治水平和效率的提高大有帮助。
物联网技术改变了物流信息的采集方式,从传统的数据人力采集发展到数据自动化采集。这能够实现从生产、运输、仓储到销售各个环节中物品的监控和动态管理,提高物流效率。
物流车管理系统就是一种智慧物流的典型应用。该系统通过物联网技术对车辆进行统一管理、实时监测,从而达到规范司机操作的目的,能够有效地提高运输效率,降低运输成本。
智慧农业可以应用于生产和销售阶段。在生产阶段,物联网技术通过光敏、温度、湿度等多种传感器,对农作物生产环境中的光照强度、温湿度、土壤条件、二氧化碳浓度等进行监控。用户可以通过计算机或手机随时查看现场数据,并可以远程控制或自动化控制温室卷帘设备或灌溉系统等,实现农业无人化管理。
同时,智慧农业在销售阶段可起到安全保障作用,将每个农副产品的生产、运输信息存储在各自唯一的电子标识中。一旦产品出现了质量问题,那么消费者可以追根溯源,保障自身权益。
一方面,智能制造可以实现企业内部信息的整合,如对材料采购、车间加工制造、库存、销售等环节的业务信息进行整合,让数据智能流动,帮助企业做出合理决策,降低企业成本;另一方面,智能制造推动整个产业链的横向集成,可将生产要素联网,实现数据实时的存储共享,有效降低企业风险。
典型的应用有智能制造系统MES。MES使用信息化的高效管理模式,拥有生产过程全程监控、生产质量全程追溯的能力,可帮助制造业解决生产管理成本高、生产质量要求高的难题,也可为制造业的升级指明出路。
快递柜属于智慧零售与智慧物流的交叉应用,为快递行业提供“最后一公里”解决方案,可在提高快递员的派送效率的同时保障消费者的安全。
“无人化”是智慧零售发展的重要趋势之一。“无人化”不是完全自动化,而是减少人与人接触的“无接触化”。无人零售终端可以通过摄像头、扫码设备获取消费者信息与商品信息,再由智能家居通过物联网技术获取消费者所购商品的消耗速度,通过人工智能系统预测商品需求,将消费者需求传递给商家。商家依据数据对无人零售终端进行补货,提高货柜的使用率,获得最大的商业利益。同时商家补货的信息会传递给消费者,消费者可以在相应区域的无人零售终端购买到需要的商品。
物流配送机器人在物流配送领域、医疗领域得到了广泛的使用,在不同的场景下形成了不同的应用。其中,医疗领域的配送机器人是应用的典型代表,由智慧林医疗(原木木机器人)、华为技术有限公司、联通湖北分公司、武汉亚心总医院4家单位联合攻关,率先实现了搭载5G网络功能的诺亚医院物流机器人。此类物流机器人可以在无人控制的情况下,依靠人工智能技术,实现自动识路、躲避障碍、运送物资等功能,解决传统人力运输的低效、差错率高的问题。同时,此类物流机器人可提供医院低成本升级的解决方案,使用它是智慧医院发展的必然趋势。
①物联网技术是互联网技术不断发展的结果,是建立在计算机技术、网络技术等技术之上的又一次“信息技术革命”。它的本质特点是将连接对象从“人”拓展到“物”。
②物联网的核心是基于连接的应用,连接是通道,应用是目的。
③物联网具有“+”的属性,它本身只是一些技术的集合,而能为传统行业赋能、产生经济效益才是关键。
④物联网技术会产生巨额经济效益,应用领域广阔,甚至蕴含多个万亿级市场,发展潜力巨大,是未来最重要的变革技术之一。