第2版前言 随着万物互联时代的到来,智能设备之间的互联互通和相互协同已成为推动社会进步的重要力量。为了应对这一趋势,OpenHarmony(开源鸿蒙)应运而生。OpenHarmony是由开放原子开源基金会孵化及运营的开源项目,是一款面向全场景、全连接、全智能时代的分布式操作系统,它打破了硬件间各自独立的边界,提出了基于同一套系统能力、适配多种终端形态的分布式理念,支持各种终端设备,将人、设备、场景有机地融合在一起,构建了一个超级终端智能互联的世界,正逐步成为推动万物互联行业发展的重要力量。 本书自第1版出版以来,不到一年半的时间印刷了3次,受到了广大读者和教育工作者的热烈欢迎与高度评价,已入选福建省“十四五”普通高等教育本科规划教材。为了适应当前OpenHarmony技术的快速发展和市场的持续需求,满足读者更深入、更系统地学习OpenHarmony的期望,我们决定编写第2版。 第2版在保留第1版核心内容与知识体系的基础上,对教材内容进行修订与升级。本版不仅对原有章节进行优化,保证教材内容描述更加准确、全面,还增加了许多新的内容,具体如下。 (1) 紧跟OpenHarmony技术迭代。随着技术的快速发展和应用场景的不断拓展,OpenHarmony也在持续进行技术迭代,以适应万物互联行业的需求和挑战。书中新增了OpenHarmony Linux Docker编译方式和OpenHarmony Windows Docker编译方式,简化编译环境的搭建和管理; 新增LiteOS文件读写开发案例,介绍LiteOS文件系统的基本概念、工作原理和接口函数,帮助读者深入理解OpenHarmony文件处理机制和文件操作技巧。 (2) 实战项目案例丰富化。新增PWM、看门狗、华为云IoT智慧井盖应用等项目案例,丰富了OpenHarmony教材的内容体系,希望能为读者提供多样化的学习和实践资源,有助于读者更好地理解OpenHarmony的技术特点和在各类应用场景下的应用潜力,提升读者的开发能力和项目实战经验。 (3) 新增了思考和练习。希望有助于巩固和深化读者的知识掌握程度,提升读者的动手能力、实践能力和创新思维。同时,教师可根据学生的习题完成情况进行反馈和指导,了解学生的学习进度和掌握程度,从而及时调整教学策略和方法,以帮助学生更好地掌握所学知识。 本书的第4章和第9章由郑灵翔编写,第5章由吴德文编写,其余章节由薛小铃编写,全书由薛小铃统稿和定稿。最后,本版修订过程中,还得到众多OpenHarmony开发者、专家及社区成员的宝贵建议和支持。在此,我们表示衷心的感谢!同时,由于作者水平有限,难免出现错误和不妥之处,敬请同行及读者提出宝贵意见。 配套资源 程序代码、编译环境、编译工具等资源: 扫描目录上方的“配套资源”二维码下载。 教学课件、教学大纲、习题答案等资源: 在清华大学出版社官方网站本书页面下载,或者扫描封底的“书圈”二维码在公众号下载。 微课视频(210分钟,20集): 扫描书中相应章节中的二维码在线学习。 注: 请先扫描封底刮刮卡中的文泉云盘防盗码进行绑定后再获取配套资源。 薛小铃 2025年2月 第1版前言 随着万物互联时代的到来,智能设备之间的相互通信将大大提高生活效率和质量。为了让连接更完善、更全面,使多设备管理更加便捷,实现可靠、稳定的互联互通,需要一套开放的、面向全场景的分布式系统。 OpenHarmony(开源鸿蒙)是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,其基于开源的方式面向全场景、全连接、全智能时代,促进万物互联产业的繁荣发展。OpenHarmony可以基于同一套系统,适配多种终端形态,是一款面向未来、面向全场景的分布式操作系统。 本书以OpenHarmony为主题,详细讲解了基于瑞芯微RK2206芯片的嵌入式操作系统原理和开发过程,由浅入深地说明了OpenHarmony的原理、特点、开发工具、移植和应用,详细讲解了应用OpenHarmony操作系统开发物联网的软/硬件设计过程。 全书分为4篇,共9章,即快速入门篇、基础应用篇、外设实战篇和网络实战篇。 第1、2章为快速入门篇,包括RK2206硬件电路设计快速入门、OpenHarmony软件使用快速入门,介绍了RK2206芯片资源和硬件电路设计过程,介绍了OpenHarmony的由来、特点以及搭建OpenHarmony开发环境的过程,引导读者快速入门OpenHarmony操作系统软/硬件基础的学习。 第3、4章为基础应用篇,包括OpenHarmony移植和内核基础应用,介绍了如何进行OpenHarmony操作系统移植以及如何进行LiteOS内核编程。其中,内核基础章节主要介绍OpenHarmony轻量级操作系统的任务、队列、信号量、事件、互斥锁、软件定时器等常用知识,通过具体实验带领读者掌握OpenHarmony内核的移植和应用。 第5、6章为外设实战篇,包括使用OpenHarmony操作系统进行RK2206芯片基础外设开发和物联网领域的应用。介绍了GPIO口、ADC、液晶、EEPROM、NFC等RK2206芯片基础外设的硬件电路设计和OpenHarmony程序设计过程,以智慧井盖、智慧路灯、智慧车载、人体感应、智能手势和智慧农业6个经典案例为背景,介绍了使用OpenHarmony开发物联网项目的硬件和软件设计过程。通过具体案例学习,强化了工程能力训练,也可使读者加深对OpenHarmony原理和内核的认识,从而具备OpenHarmony操作系统初步开发能力。 第7~9章为网络实战篇,包括网络基础知识、物联网协议和畅游华为云,介绍了TCP、UDP、LwIP、MQTT和华为云IoT的OpenHarmony软件开发过程,介绍了OpenHarmony技术下无人值守、实时监控、远程控制的智慧农业应用场景。通过网络协议及基于WiFi的华为云IoT学习,加深OpenHarmony操作系统的理解和应用能力,也可进一步学习物联网IoT开发应用。 本书特色 (1) 领域新颖。本书系统介绍了基于瑞芯微RK2206芯片的OpenHarmony南向设备的开发,可以让读者深入了解瑞芯微RK2206芯片、OpenHarmony操作系统及物联网设备的开发流程,为OpenHarmony学习和应用打下坚实的基础。 (2) 深入浅出。本书从OpenHarmony环境搭建到内核基础再到物联网项目应用实例,从基础网络编程到华为云IoT设备开发,内容深入浅出,系统全面。 (3) 实战性强。本书提供了十几个项目开发的完整源代码,并对源代码进行了详细讲解,确保读者在学习过程中能直接上手操作,做到理论与实践相结合。 (4) 资料丰富。除了可以直接在Gitee仓下载配套资料和开源源码,本书提供了配套的视频讲解,方便读者直观深入学习。 (5) 可借鉴性强。本书基于瑞芯微RK2206芯片介绍OpenHarmony开发,其原理应用同样适用于其他微控制器。 由于时间和作者水平的限制,书中难免有疏漏之处,恳请读者批评指正,联系方式见配套资源。 薛小铃 2023年1月