基于M4-R1开发板的OpenHarmony开发实战丨创建第一个应用工程

描述

前言

在万物互联的时代,设备之间的协同与智能交互已成为技术发展的必然趋势。作为面向这一未来的关键基石,OpenHarmony 应运而生。它是一个由开放原子开源基金会孵化及运营的开源项目,旨在为建设一个开放、共享的万物智联生态系统提供核心平台与能力。


一、核心理念:开放、共享,赋能千行百业

与某些封闭的商用系统不同,OpenHarmony从诞生之初就秉持着开放开源的精神。其核心目标是打造一个面向全场景、全连接时代的智能终端设备操作系统框架。通过将项目开源,它邀请全球开发者、设备厂商和行业伙伴共同参与建设,确保技术的中立性与生态的多样性。这为各行各业,特别是智能家居、出行、教育、医疗、金融等领域,提供了一个可自由定制、安全可靠的底层软件根基。

 

 

二、技术架构:为全场景设计,具备天生优势

 

OpenHarmony的技术架构是其强大能力的源泉。它采用分层设计,从下至上包括内核层、系统服务层、框架层和应用层。这套架构天生就是为了应对多样化硬件和设备间无缝协同而设计的。

硬件无关性

通过分布式软总线、分布式数据管理等关键技术,OpenHarmony实现了应用与硬件的解耦。开发者可以专注于业务逻辑,而系统能够自动发现和连接附近的设备,实现能力的自由流转。

一次开发,多端部署

开发者基于OpenHarmony编写一次业务逻辑代码,即可灵活部署在不同类型的终端设备上,极大地提升了开发效率,降低了生态构建的复杂性。

增强的安全性与可靠性

系统从内核到应用框架,都融入了多层次的安全机制,确保设备接入、数据传输和业务执行过程中的安全与隐私保护。

 

三、 从概念到实践:OpenHarmony在具体硬件上的落地

上述先进特性并非空中楼阁,它们最终需要通过具体的硬件载体来呈现和验证。无论是复杂的智能家居中控,还是精简的传感器模块,OpenHarmony都能通过其轻量级、可定制的特性,适配从KB到MB级别的内存设备。

为了让大家能更直观、深入地理解OpenHarmony的开发流程与特性,我们将在后续的实践教程中,以【ShiMetaPi】的M4-R1开发板作为硬件平台,进行手把手的实战演示。

 

嵌入式开发板

 

 

 

您将看到OpenHarmony系统如何从源码编译、如何烧录到M4-R1开发板,并如何驱动其上的各类外设,将理论知识转化为看得见、摸得着的运行效果。

 

四、 应用场景:超越手机,无处不在

OpenHarmony的应用范围远超传统智能手机的范畴。它的主战场是丰富的物联网设备生态。例如:

智能家居

家中的冰箱、空调、灯泡、插座等设备搭载OpenHarmony后,可以自动组网,实现统一控制与智能联动。

智能出行

车载信息娱乐系统、行车记录仪等可以与手机、手表等设备无缝连接,提供更便捷的出行体验。

工业互联与教育开发

在工业领域,各类控制器、传感器基于OpenHarmony可以构建起稳定、高效的分布式控制系统。同时,它也是极佳的教学和原型开发平台,正如我们即将使用的M4-R1开发板,便是学习和创新的理想起点。

 

 

 

五、详细步骤

 

1. 构建第一个ArkTs应用-HelloWorld

1.1 DevEco Studio 创建工程

  1. 1. 双击打开桌面的 DevEco Studio 快捷方式图标
  2. 2. 然后就会进入下图界面,创建一个工程,进入工程界面
  3. 3. 选择 Application 应用开发(本文以应用开发为例,Atomic Service 对应为原子化服务开发),选择模板 "Empty Ability",点击 Next 进行下一步配置
嵌入式开发板

 

 

4. 进入配置工程界面,修改一下工程存放路径,工程名字,和兼容 SDK 版本,其他参数保持默认设置即可,点击 Finish 创建工程 注意:M4-R1 开发板的板端 API 版本为 API 12,故 Compatible SDK 选择 5.0.0(12)

 

嵌入式开发板

 

 

 

5. 工程初始化界面如下,等到下方Build状态栏中输出红框内语句,即表示初始化结束:

 

嵌入式开发板

 

 

 

1.2 DevEco Studio 配置 SDK

  1. 1. 在菜单栏选择 File -> Settings

 

嵌入式开发板

 

 

2. 进入 Settings 窗口,选择 OpenHarmony SDK,选择 SDK 安装位置,然后勾选 API Version 12,下载关于 API Version 12 的所有相关内容,再点击【Apply】进行下载。

嵌入式开发板

 

 

以我们已经下载过 API Version 12 所以用 API Version 11为例

 

注意:
如果和上述界面一样已经下载过 API 12 可以跳过配置SDK步骤

嵌入式开发板

 

 

3. 点击【Apply】后会跳出 Confirm Change 弹窗,点击【OK】

 

嵌入式开发板

 

 

4. 等待 SDK 下载完成

 

 

嵌入式开发板

 

 

5. 当【Finish】变亮时,证明下载完成,点击【Finish】

嵌入式开发板

 

1.3 将程序烧录到板卡中

1.3.1 默认程序功能介绍

工程同步完成后,在 "Project" 窗口,点击 "entry > src > main > ets > pages" ,打开 "Index.ets" 文件,可以看到应用工程的默认程序页面由 Text 组件组成。 该应用实现的功能为:点击 Hello World 文本组件就会切换为 Welcome。 "Index.ets" 文件的示例如下:

 

@Entry@Componentstruct Index {  @State message: string = 'Hello World';  build() {    RelativeContainer() {      Text(this.message)        .id('HelloWorld')        .fontSize($r('app.float.page_text_font_size'))        .fontWeight(FontWeight.Bold)        .alignRules({          center: { anchor: '__container__', align: VerticalAlign.Center },          middle: { anchor: '__container__', align: HorizontalAlign.Center }        })        .onClick(() => {          this.message = 'Welcome';        })    }    .height('100%')    .width('100%')  }}

 

1.3.2 签名文件配置

  1. 1. 将搭载 OpenHarmony 系统的真机 M4-R1 与电脑通过 USB 转 Type-C 线与 OTG 口连接(设备默认为调试模式) 查看工具界面会显示连接设备 M4-R1 的序列号,如下图所示:
  2. 2. 打开工程级 build-profile.json5,修改里面的 products 为以下代码:

 

"products": [  {    "name": "default",    "signingConfig": "default",    "compileSdkVersion": 12,    "compatibleSdkVersion": 12,    "targetSdkVersion": 12,    "runtimeOS": "OpenHarmony",    "buildOption": {      "strictMode": {        "caseSensitiveCheck": true,        "useNormalizedOHMUrl": true      }    }  }]

 

 

修改后出现下方的蓝色提示栏,点击提示栏中的 "Sync Now",同步工程。

 

同步如果遇到下图 Sync Check 弹窗提示,点击 Yes 即可。

 

嵌入式开发板

 

 

 

Sync Now 完成时下方Build状态栏显示下图信息。

嵌入式开发板

 

 

在菜单栏选择 File > Project Structure,在弹出窗口选择Signing Configs,进行签名

如图,因为 M4-R1 开发版是 OpenHarmony 系统,所以勾选 Automatically generate signature,不勾选Support HarmonyOS,进行自动签名。

 

嵌入式开发板

 

 

如下图出现签名信息后,点击 OK,签名内容signingConfigs会被写入工程级build-profile.json5中。

 

嵌入式开发板

 

等待同步完成。

 

嵌入式开发板

 

 

1.3.3 运行应用

返回 DevEco Studio 项目工程界面,点击工具栏的 Run 'entry',运行应用到开发板中。

 

嵌入式开发板

 

M4-R1 真机效果如图:

 

嵌入式开发板

 

 


总结

总而言之,OpenHarmony 并非一个孤立的操作系统产品,而是一个面向未来的、开放的生态系统基础。它通过其先进的技术架构和开源模式,为万物智联世界提供了坚实的"数字底座"。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分