0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

视美泰 2026-01-13 15:15 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前言

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


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

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

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

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

硬件无关性

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

一次开发,多端部署

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

增强的安全性与可靠性

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

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

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

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

wKgZPGll72SAa7XJAB-vkk1x4V8644.png

您将看到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 进行下一步配置
wKgZPGll75mAew9NAAJwFxn8930904.png

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

wKgZPGll76eANtyuAAH8cbD-uwU035.png

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

wKgZO2ll77uABnhGAAfJyGPyMwA273.png

1.2 DevEco Studio 配置 SDK

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

wKgZPGll78KAYV6FAASAt266BWY024.png

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

wKgZPGll79aASQsMAASSnePZepc642.png

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

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

wKgZPGll7_SAOoQxAARcgUx-DNc209.png

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

wKgZO2ll8AiAJtaIAADXnIudjN8095.png

4. 等待 SDK 下载完成

wKgZPGll8BmAQKlcAAKLXRP3k4E921.png

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

wKgZPGll8CmAUl61AASmDJyBWMk659.png

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 与电脑通过 USBType-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 即可。

wKgZO2ll8GiAQ76yAAFEeoorhiA808.png

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

wKgZO2ll8HKAeXTIAAF1PGD0IXk508.png

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

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

wKgZPGll8ICAF8GQAAP4xNPYxD0117.png

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

wKgZPGll8ICAF8GQAAP4xNPYxD0117.png

等待同步完成。

wKgZO2ll8HKAeXTIAAF1PGD0IXk508.png

1.3.3 运行应用

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

wKgZO2ll8KqAYlXoAACDEDZLS8o569.png

M4-R1 真机效果如图:

wKgZPGll8LOAGIIEAAWbuUIRVBk001.png


总结

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

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

    关注

    3

    文章

    4343

    浏览量

    46438
  • 开发板
    +关注

    关注

    26

    文章

    6413

    浏览量

    120732
  • 嵌入式开发板

    关注

    5

    文章

    112

    浏览量

    19855
  • OpenHarmony
    +关注

    关注

    33

    文章

    3974

    浏览量

    21354
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【软通动力鸿湖万联扬帆系列“竞”开发板试用体验】应用开发环境搭建

    windows下搭建应用开发环境,并在扬帆系列“竞”OpenHarmony开发板实现第一个应用“Hello word” 主要开发环境: 电脑
    的头像 发表于 10-13 10:24 2891次阅读
    【软通动力鸿湖万联扬帆系列“竞”<b class='flag-5'>开发板</b>试用体验】应用<b class='flag-5'>开发</b>环境搭建

    如何设置Arduino IDE、连接开发板以及上传第一个草图

    我们曾介绍了Arduino Uno以及基于该平台的可编程开发板和扩展板系列。但是如果没有软件,硬件将没有任何作用。本指南将向您展示如何设置Arduino IDE、连接您的开发板以及上传您的第一个草图。
    的头像 发表于 02-22 16:41 7946次阅读
    如何设置Arduino IDE、连接<b class='flag-5'>开发板</b>以及上传<b class='flag-5'>第一个</b>草图

    鸿蒙OpenHarmony【标准系统编写“Hello World”程序】 (基于RK3568开发板

    编写“Hello World”程序 下方将展示如何在单板上运行第一个应用程序,其中包括新建应用程序、编译、烧写、运行等步骤,最终输出“Hello World!”。 前提条件 已参考[创建工程并获取
    的头像 发表于 04-24 17:32 2283次阅读
    鸿蒙<b class='flag-5'>OpenHarmony</b>【标准系统编写“Hello World”程序】 (基于RK3568<b class='flag-5'>开发板</b>)

    鸿蒙OpenHarmony【基于Hi3516DV300开发板(时钟应用开发)】

    如何快速搭建基于OpenHarmony标准系统(Hi3516DV300开发板)的应用开发环境,并基于时钟APP示例逐步展示应用的
    的头像 发表于 05-08 15:27 2386次阅读
    鸿蒙<b class='flag-5'>OpenHarmony</b>【基于Hi3516DV300<b class='flag-5'>开发板</b>(时钟应用<b class='flag-5'>开发</b>)】

    M4-R1 开源鸿蒙(OpenHarmory)开发板串口调试助手实战案例

    前言开源鸿蒙(OpenHarmony)作为国产分布式操作系统,正在为智能终端与物联网设备构建统的开放生态。它以开源共建的方式,为多设备协同与产业创新提供坚实基础。M4-R1开发板凭借
    的头像 发表于 12-31 11:16 9177次阅读
    <b class='flag-5'>M4-R1</b> 开源鸿蒙(OpenHarmory)<b class='flag-5'>开发板</b><b class='flag-5'>丨</b>串口调试助手<b class='flag-5'>实战</b>案例

    【迅为RK3568开发板OpenHarmony学习开发系列教程(第1期 北向基础篇

    P12P11_新建第一个工程-HelloWorld3:24 P13P12_Dev-Eco studio的界面布局6:07 P14P13_基本工程目录简介10:33 P15P14_部署应用到
    发表于 08-16 15:27

    在RK3568开发板运行第一个Android程序

    1、在RK3568开发板运行第一个Android程序  基于迅为 RK3568 开发板  在模拟器上运行  打开上次创建的 MyApplic
    发表于 09-01 17:26

    【瑞萨RA4系列开发板体验】开发环境建立和第一个应用程序

    环境建立和第一个应用程序测试准备基于e2 studio和fsp来完成,因此根据官方提示,下载了相应的开发环境。信息下载地址:https://ramcu.cn/lists/21.html我这里下载了
    发表于 11-16 11:39

    【瑞萨RA4系列开发板体验】如何让RA4M2开发板运行你的第一个程序(第二帖)

    )、选择保存工程文件的文件夹(文件夹名称最好与工程名称保持致),点击Next(下步);(3)选择开发板型号(EK-RA
    发表于 12-15 14:53

    华清远见FPGA代码-在Xilinx的FPGA开发板上运行第一个

    华清远见FPGA代码-在Xilinx的FPGA开发板上运行第一个FPGA程序
    发表于 10-27 18:07 23次下载

    华清远见FPGA代码-在Altera的FPGA开发板上运行第一个

    华清远见FPGA代码-在Altera的FPGA开发板上运行第一个FPGA程序
    发表于 10-27 18:07 16次下载

    Quartus.II使用简介与第一个工程实例

    基于QuartusII通过实验上的KEY1按钮控制FPGA核心上的第一个LED灯。本实验比较简单,使用本站FPGA开发板或者CPLD
    的头像 发表于 03-07 15:41 1.1w次阅读

    openharmony开发openharmony开发板

    现在市面上支持OpenHarmony开发板已经非常多了,OpenHarmony不仅仅只能在海思系列芯片上运行,比较常见的有HiSpark、小熊派系列。这些开发板都是基于海思的Hi38
    的头像 发表于 06-24 09:03 4574次阅读

    搭载OpenHarmony2.0的3516开发板开发第一个Hap-WIFI

    本次将分为上下两篇讲述在搭载 OpenHarmony2.0 的 3516 开发板开发第一个 Hap-WIFI,目前 Openharmony
    的头像 发表于 06-30 09:10 4134次阅读
    搭载<b class='flag-5'>OpenHarmony</b>2.0的3516<b class='flag-5'>开发板</b>上<b class='flag-5'>开发</b>的<b class='flag-5'>第一个</b>Hap-WIFI

    开发板评测】Renesas RA6M4开发板之SDIO(SDHI)

    本次评测的开发板为Renesas的CPK-RA6M4开发板,它是款Renesas官方基于RA6M4 MCU群组设计的
    的头像 发表于 12-27 13:15 4700次阅读