2020年,华为终端有限公司正式发布了鸿蒙HarmonyOS 1.0。2021年,先后正式发布了HarmonyOS 2.0、HarmonyOS 3.0和HarmonyOS 3.1 Beta。HarmonyOS系统是面向万物互联的全场景分布式操作系统,支持智能手机、平板电脑、智能穿戴设备、智慧屏和车机等多种终端设备。为不同设备的智能化、互联和协同提供了统一的语言,带来简洁、流畅、安全、连续、安全可靠的全场景交互体验。HarmonyOS源代码在发布时同时开源,开源版本称为OpenHarmony,由开放原子开源基金会(Open Atom Foundation)孵化及运营。
相对于Android、嵌入式Linux等系统,HarmonyOS不仅是一个手机或某一设备的单一系统,而是一个可将所有设备串联在一起的通用性系统。同时,HarmonyOS通过SDK、源代码、开发板/模组和开发工具等共同构成了完备的开发平台与工具链。这些特性使得HarmonyOS在物联网系统中具有强大的优势。
自HarmonyOS 1.0发布以后,笔者在所承担的物联网相关课程中引入了在ARM架构CPU上运行的Harmony微内核系统LiteOS和JavaScript开发运行于智能手表用户界面(UI)等相关知识内容,受到学生的欢迎。在教学过程中遇到的问题非常多,其中之一是难以找到适合的参考书籍。虽然在华为的开发者社区网站、HiHope开发者社区网站、51CTO等网站存在诸多的文档和代码,但是这些资料仍旧需要重新整理,以适应教学和学习的需要。
希望本书在HarmonyOS物联网开发技术方面能为初学者提供必要的支持。因此,本书内容涵盖了微内核、设备开发和应用开发的基础内容。通过这些内容读者可以学习LiteOS内核、轻量级系统设备开发、应用开发的UI开发等基础技术。本书有4篇共16章,第1篇(第1章)对物联网操作系统和交叉开发环境做了概述; 第2篇(第2~8章)对微内核的基本功能做了介绍; 第3篇(第9~11章)为轻量级系统的设备开发篇; 第4篇(第12~16章)为应用开发的UI开发篇。另外,本书在操作系统原理、涉及的CPU传感器等硬件、前端开发技术和WebSocket、MQTT等网络协议方面也有所涉及。
读者可以根据自己的实际情况对书中内容进行取舍。如对LiteOS微内核有兴趣,可阅读第2篇; 如对物联网设备开发感兴趣,可阅读第3篇; 如对智能手机、智慧屏的UI应用开发有兴趣,可阅读第4篇。阅读第2篇需要具有一定的C程序设计、数据结构以及计算机体系结构的知识,阅读第3篇需要具有单片机原理、C程序设计、嵌入式系统和网络协议等知识,阅读第4篇仅需要编程基础知识。
本书适合作为各类高校物联网专业或计算机专业本科生的教材,也可以作为对HarmonyOS感兴趣的开发人员、广大科技工作者和研究人员的参考用书。
在本书的编写过程中得到教育部产学合作协同育人项目、华中师范大学华为“智能基座”产教融合协同育人基地、华为技术有限公司和武汉科云信息技术有限公司的大力支持,在此表示衷心的感谢。
由于水平有限,书中不当之处在所难免,欢迎广大同行和读者批评指正。
葛非2023年1月