01、OpenHarmony简介

OpenHarmony是一款面向全场景的开源分布式操作系统,是开放原子开源基金会旗下开源项目。OpenHarmony 在传统的单设备系统能力的基础上,创造性地提出了基于同一套系统能力、适配多种终端形态的理念,旨在为不同设备提供统一的操作系统底座,支持多种终端设备的互联互通和协同工作。针对设备开发者,OpenHarmony 采用了组件化的设计方案,可以根据设备的资源能力和业务特征进行灵活裁剪,满足不同形态的终端设备对于操作系统的要求,全面覆盖ARM、RISC-V、x86 等多种CPU。


OpenHarmony 整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照 “系统> 子系统 > 功能 / 模块” 逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的子系统或功能 / 模块。OpenHarmony 技术架构如下所示。


OpenHarmony是支撑整个鸿蒙生态的技术基础设施,OpenHarmony的开源属性吸引了众多企业、开发者、高校和研究机构的参与,共同推动其技术进步和生态繁荣。众多基于OpenHarmony开发的操作系统版本和行业解决方案不断涌现,覆盖了智能家居、工业物联网、教育、医疗等多个领域,进一步拓宽了鸿蒙生态的应用场景和市场边界。

02鸿蒙开发的两大方向

鸿蒙开发主要分为设备开发和应用开发两个方向,也叫南向开发和北向开发:

鸿蒙设备开发(南向开发),要侧重于硬件层面的开发,涉及硬件接口控制、设备驱动开发、鸿蒙系统内核开发等,目的是使硬件设备能够兼容并运行鸿蒙系统,或者开发具有特定功能的物联网(IoT)设备,需要开发者具备一定的硬件知识、嵌入式系统开发能力以及对鸿蒙操作系统内核的熟悉度;

鸿蒙应用开发(北向开发),主要侧重于应用层的开发,如APP开发、用户界面设计等,更多地关注用户体验、应用性能优化、上层业务逻辑的实现,需要开发者具备基本的编程知识、对操作系统原理的简单理解,以及一定的UI设计感。

无论是设备开发还是应用开发,鸿蒙开发方向均展现出良好的发展空间,尤其是对于能够跨领域工作,既懂南向底层技术又了解北向应用开发的复合型人才,其价值将进一步凸显。鸿蒙的生态建设正逐步完善,吸引了众多开发者和企业的加入,前景广阔。

对于嵌入式、物联网、硬件、单片机爱好者而言,可以学习鸿蒙设备开发方向;对于想往软件方向发展,比如之前做Android开发的用户来说,可以学习鸿蒙应用开发。

本文主要以华清远见的Hi3861鸿蒙开发板为硬件平台,讲解如何快速学习鸿蒙设备开发,为初学者提供"零基础入门->进阶提升->项目实战"的完整学习路线。

03鸿蒙设备开发第一步

对于初探鸿蒙设备开发领域的学习者而言,拥有一块得力的开发板是学习的第一步,入手一块Hi3861或其他支持鸿蒙的开发板,跟随教程完成一些基础的硬件控制和系统调用练习。

Hi3861鸿蒙开发板的用处

Hi3861鸿蒙开发板,是专为鸿蒙设备开发设计的学习和实验平台,非常适合作为学习鸿蒙设备开发的入门开发板。可以学习鸿蒙系统在硬件设备上的部署、驱动开发、通信协议实现等,帮助开发者深入了解鸿蒙系统在物联网领域的应用,以及如何基于鸿蒙系统进行设备开发和应用创新。

难不难学,我能不能学会?

华清远见Hi3861鸿蒙开发板的整个学习,因为并不太涉及底层代码,且开发板配套了全套的开发教程、视频课程及丰富的项目案例,所以学习起来并不难(比STM32单片机学习起来更容易)。

按照开发板提供的教程和视频,搭建完开发环境,学习使用hi3861接口去控制一些外设,了解鸿蒙系统的一些基本使用,再了解下WiFi、MQTT等网络开发,以及华为云接入这些内容,就OK,1个月左右就可以搞定的。

需要什么样的基础?

主要就是C语言基础,如果有单片机开发经验,学起来就更容易了。没有单片机经验的用户,也不用担心。Hi3861主要是通过函数调用接口,不涉及寄存器之类。

04鸿蒙设备及物联网开发学习路线

(1)入门学习

 开发环境搭建

在学习OpenHarmony系统之前,需要搭建好开发环境,这是我们开发的第一步,也是打开学习大门的垫脚石。我们需要在Windows系统中安装Visual Studio Code及其插件,以及华为的DevEco Device Tool开发环境。有了这种编译器和各种插件的加持,编写代码会清晰方便很多。


DevEco Device Tool

DevEco Device Tool是OpenHarmony面向智能设备开发者提供的一站式集成开发环境,支持OpenHarmony的组件按需定制,支持代码编辑、编译、烧录和调试等功能,支持C/C++语言,以插件的形式部署在Visual Studio Code上。

(2)进阶提升

硬件驱动开发

鸿蒙硬件驱动开发主要是确保操作系统能够与各种硬件设备顺畅通信。我们使用OpenHarmonyOS系统,一定要先学习PWM、GPIO等外设的使用,可以控制一些简单的设备。需要学习OpenHarmonyOS系统基本的外设使用机制,再去学习常见的通讯接口,比如串口、IIC、SPI等,然后就可以进行驱动开发板上相关的传感器,比如LED、蜂鸣器、温湿度传感器、三合一传感器、显示屏以及NFC控制器等。

驱动框架 HDF(Hardware Driver Foundation)

HDF是OpenHarmony中用于传感器和其他硬件设备驱动开发的框架,它提供了一套标准化的驱动模型和开发工具,帮助开发者更高效地编写兼容性好、易维护的驱动程序。HDF简化了驱动的开发、调试和升级过程,提高了驱动的可复用性和兼容性,并且支持动态加载和卸载驱动。

鸿蒙内核开发

鸿蒙内核开发主要是设计与优化LiteOS微内核,实现高效的任务调度、安全的并发控制和通信机制,以及硬件适配与资源管理,为鸿蒙操作系统提供强大、安全、低延迟的底层支撑。课程内容包括任务调度和管理(创建任务、删除任务、挂起任务、启动任务),同步与通信机制(软件定时器、信号量、互斥锁、消息队列)等。

鸿蒙网络开发

鸿蒙网络开发专注于利用鸿蒙操作系统提供的网络通信能力来实现设备间的连接与数据交换,特别是在物联网(IoT)场景下。课程内容主要包括WiFi组网、MQTT协议、TCP/UDP通信、接入华为IOTDA平台等。

(3)项目实战

在掌握了上面的基础开发技能后,可以尝试开发简单的物联网应用。我们提供智能照明灯、智能安防报警、智慧农业、智能温度计、智能测距仪、倒车雷达、智能小车、智能指纹锁、智能垃圾桶、语音控制智能小车、智慧农业与安防控制、车辆感知与定位12大鸿蒙物联网综合应用项目实战。通过这些实战项目,初学者可以快速积累鸿蒙设备开发的实战经验,加深对鸿蒙系统及其物联网应用的理解。这些项目也非常适合高校教学、学生毕设、创新竞赛及个人项目练手。

(4)单片机拓展学习

我们发现,鸿蒙设备开发学习用户里,有部分用户,单片机方面是比较薄弱的,所以我们提供了一系列单片机入门及项目实战课程,帮助初学者更好的提升单片机开发能力。


在毕设、竞赛及高校教学的场合下,一个项目组,要完成鸿蒙智能硬件开发,可以有更好的分工。有的负责单片机控制(传感器数据采集与电机控制等),有的负责鸿蒙系统RTOS以及网络开发,还有负责微信小程序开发,这样的项目综合性也比较强,也比较锻炼团队协作及多技术方向学习。

05华清远见Hi3861鸿蒙开发板亮点及优势


FS-Hi3861鸿蒙开发板,是华清远见研发的一款用于鸿蒙设备开发及鸿蒙物联网开发学习的开发板。

丰富的硬件配置及创新模块:

华清远见Hi3861鸿蒙开发板采用华为海思Hi3861LV100芯片为主控,内置WiFi功能,支持OpenHarmony系统。板载丰富的模块,包括传感器、执行器、NFC、显示屏等,还有丰富的项目拓展模块,包括电机驱动板、超声波测距模块、智能小车、指纹识别模块、语音控制模块、农业安防模块、雷达控制模块、移动定位模块等。为开发者提供了广泛的应用拓展空间。

易于上手的入门学习资源:

华清远见Hi3861鸿蒙开发板,配套丰富的入门学习资料,包括开发教程、视频课程、项目文档、实验及项目源码、系统镜像、工具软件、原理图、芯片手册等,涉及基础入门+进阶提升+项目实战+单片机拓展学习。关注微信公众号“华清远见在线实验室”,回复“2”即可免费领取。

同时,还提供售后技术支持QQ群答疑,帮助初学者快速的入门,开启从新手到高手的鸿蒙设备及物联网开发之旅。

全面的项目案例库:

提供12大物联网综合应用项目,覆盖了硬件接口开发、传感器数据采集、鸿蒙系统开发、NFC配网、WiFi网络开发、MQTT协议、华为云接入、微信小程序开发等多个知识点。非常适合高校教学、学生毕设、创新竞赛及个人开发学习实战。


06鸿蒙设备开发现状及前景

 鸿蒙设备开发人才需求情况

当前,随着鸿蒙生态的推广,市场上对熟悉鸿蒙系统、具备设备开发能力的人才需求在稳步增长。岗位涵盖物联网工程师、嵌入式软件工程师、系统架构师等方向,涉及智能家居、智能穿戴、车联网等多个领域的企业。

鸿蒙设备开发人才方向主要包括但不限于以下几个岗位:

鸿蒙系统开发工程师:负责鸿蒙操作系统的定制与优化,包括图形框架设计、系统调测、性能调优、新特性开发等。需掌握操作系统内核、驱动开发、系统架构等技能。

嵌入式软件工程师:专注于鸿蒙系统在特定硬件平台上的移植、适配与驱动开发,保证系统稳定运行和高效性能。

嵌入式硬件工程师:与软件团队紧密协作,设计和优化硬件组件,以完美支持鸿蒙系统,涉及电路设计、传感器集成、电源管理等。

物联网(IoT)开发工程师:基于鸿蒙系统开发物联网设备的软件栈,包括协议栈、设备互联互通、云平台接口对接等。

驱动开发工程师:专注于鸿蒙系统下各类硬件设备驱动的开发与维护,确保设备与系统的高效通信。

鸿蒙开发架构师:负责鸿蒙系统应用及系统架构设计,优化系统性能,解决关键技术难题,指导团队进行高效开发。

安全工程师:负责鸿蒙系统及其设备的安全架构设计、安全模块开发、漏洞检测与修复,保障系统安全。

测试工程师:负责鸿蒙设备的软件和硬件测试,包括功能测试、性能测试、稳定性测试等,确保产品质量。

招聘鸿蒙设备开发人才的公司主要有:

华为技术有限公司:作为鸿蒙系统的开发者,华为是招聘此类人才的主要公司之一,提供从操作系统开发到应用开发的广泛岗位。

京东集团:也在积极招募鸿蒙开发人才,特别是在软件应用的架构设计与开发领域。

其他科技公司与初创企业:鉴于鸿蒙系统在物联网领域的潜力,许多专注于智能家居、智能穿戴、工业物联网等领域的公司也开始招聘鸿蒙设备开发人才,以快速布局鸿蒙生态。

此外,许多第三方应用开发商、解决方案提供商、硬件制造商以及与华为有合作关系的公司都在寻求具备鸿蒙系统开发能力的人才,以适应市场对鸿蒙设备和应用的快速增长需求。

鸿蒙设备开发的未来趋势

鸿蒙系统在物联网、智能家居、智能穿戴设备等领域的广泛应用,以及华为和合作企业对鸿蒙系统定制化、硬件适配等工作的推进,可以推测鸿蒙设备开发人才未来也将面临较大需求。鸿蒙设备开发即南向开发人才,如驱动开发工程师、系统定制工程师等,在构建鸿蒙生态的底层基础设施中扮演了非常关键的角色。能够开发兼容鸿蒙系统的新型智能设备或优化现有设备使其更好地融入鸿蒙生态的开发者,将处于技术和市场需求的交汇点。

随着鸿蒙生态的不断壮大,未来设备开发将更加注重跨设备的融合体验和智能化场景的构建。物联网、智能家居、智能穿戴设备、工业物联网等领域将是鸿蒙设备开发的重要方向,同时也将推动边缘计算、AI集成等先进技术的应用。

07常见问题

OpenHarmony与HarmonyOS的区别?

OpenHarmony 是一个开源项目,它是鸿蒙操作系统的基础版本,提供了一个全面的、基于微内核的分布式操作系统框架。OpenHarmony 主要包含操作系统的最基础部分,任何个人或组织都可以基于 OpenHarmony 进行二次开发和创新,类似于 Android。

HarmonyOS,则是华为基于 OpenHarmony 开源项目进一步开发的面向不同设备的商业化操作系统。它包含了 OpenHarmony 的所有基础能力,并加入了华为自研的HMS服务、UI 框架、系统应用以及一系列优化和增强功能,为用户提供完整的、经过严格测试和优化的商业级操作系统体验。HarmonyOS 主要应用于华为的各种智能设备,包括手机、平板、智能穿戴设备、智慧屏等,旨在实现不同设备之间的无缝协同,同时也向第三方合作伙伴的设备开放。

LiteOS与OpenHarmony的关系?

LiteOS 是华为开发的一款轻量级实时操作系统,特别适合物联网(IoT)设备,强调低功耗、快速启动和小体积。在 OpenHarmony 中,LiteOS 被用作其中一个可选的内核之一,尤其是在资源受限的设备上,如微控制器单元(MCU)等。这意味着 OpenHarmony 在设计时考虑到了不同应用场景的需求,可以根据设备的硬件能力选择使用 LiteOS 或 Linux 作为中央内核,以达到最佳的系统性能和资源利用效率。

因此,LiteOS 与 OpenHarmony 是一种组件与平台的关系,LiteOS 作为组件之一集成在 OpenHarmony 中,为特定类型的物联网设备提供运行时支持。而 OpenHarmony 则是一个更大的生态系统,它不仅包含了 LiteOS,还包含了更多系统服务和框架层内容,以及支持多种设备和场景的应用开发能力。

OpenHarmony里的LiteOS是否为完整版LiteOS?

OpenHarmony中的LiteOS实际上并不是指一个“完整版”的LiteOS,而是根据OpenHarmony的需求和架构进行定制和集成的LiteOS内核版本。OpenHarmony会根据系统类型(如标准系统、小型系统等)和目标设备的需求,对LiteOS进行相应的功能裁剪和优化,使其更适合于特定的硬件平台和应用场景。因此,OpenHarmony中的LiteOS更像是LiteOS的一个定制版或增强版,这种定制化使得LiteOS在OpenHarmony中能够更好地服务于物联网设备,同时保持系统的轻量化和高效性。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐