
OpenHarmony鸿蒙系统嵌入式高级课程(120集)
文章平均质量分 76
OpenHarmony鸿蒙系统嵌入式高级课程(120集),开源鸿蒙嵌入式开发实践,开源鸿蒙(OpenHarmony)是一个面向全场景、全终端的开源分布式操作系统,由华为发起并维护。它旨在提供跨多种设备的统一运行时和开发框架,以支持不同的硬件平台和设备类型,包括智能手机、平板电脑、智能穿戴设备等等。
青少年编程作品集
肖老师,IT高级软件工程师,从事软件设计与研发20年之久,具备丰富的设计和研发等编程经验。
精通逻辑算法,工程数控,数据分析与挖掘。有4年的金融保险银行数据逻辑算法分析处理工作经验,
有5年的电信移动无线通讯技术3G,4G网优网规相关编程经验,有4年的企业应用软件,工程控制应用软件,互联网应用软件编程经验
还有4年的移动APP,小程序,Web前后端软件编程经验。精通Scratch,Python,C,C++,Java,Javascript,html5,Css3等编程语言,
熟悉各种编程工具,以及编程的流程和编程环境。涉及积木编程,AI人工智能编程,大数据挖掘编程,手机APP和小程序编程。
展开
-
【OpenHarmony实战开发】第29课-分布式软总线组件
大家好,我是无言,有一段时间没有更新了。主要是这段时间在参与鸿蒙开源项目McCharts,它是一个基于 ArkTS 语法封装的图表组件,使用方式高度类似Echarts,而且可以运行在ArkTS 3+版本以上的任意版本当中,性能反馈非常不错,大家对鸿蒙开发感兴趣的可以去尝试一下。本来在写这篇文章之前,我还想在鸿蒙中适配一些游戏引擎,例如pixiJsThreeJs,奈何现在鸿蒙Canvas不支持WebGL,做了一些尝试,发现确实改动的地方太多了,就只有暂时搁置。原创 2024-10-02 19:41:29 · 457 阅读 · 0 评论 -
【OpenHarmony实战开发】第28课-分布式软总线组件
现实中多设备间通信方式多种多样(WIFI、蓝牙等),不同的通信方式使用差异大,导致通信问题多;同时还面临设备间通信链路的融合共享和冲突无法处理等挑战。发现连接:提供基于Wifi、蓝牙等通信方式的设备发现连接能力。设备组网:提供统一的设备组网和拓扑管理能力,为数据传输提供已组网设备信息。数据传输:提供数据传输通道,支持消息、字节、流、文件的数据传输能力。业务方通过使用分布式软总线提供的API实现设备间的高速通信,不用关心通信细节,进而实现业务平台的高效部署与运行能力。原创 2024-09-16 10:40:38 · 672 阅读 · 0 评论 -
【OpenHarmony实战开发】第27课-蓝牙组件
蓝牙服务组件为设备提供接入与使用Bluetooth的相关接口,包括BLE设备gatt相关的操作,以及BLE广播、扫描等功能。原创 2024-09-16 10:37:48 · 323 阅读 · 0 评论 -
【OpenHarmony实战开发】第26课-FaultLoggerd组件
Faultloggerd部件是中C/C++运行时崩溃临时日志的生成及管理模块。面向基于 Rust 开发的部件,Faultloggerd 提供了Rust Panic故障日志生成能力。系统开发者可以在预设的路径下找到故障日志,定位相关问题。原创 2024-09-16 10:36:10 · 286 阅读 · 0 评论 -
【OpenHarmony实战开发】第25课-系统服务管理部件
samgr组件是的核心组件,提供OpenHarmony系统服务启动、注册、查询等功能。原创 2024-09-16 10:31:33 · 138 阅读 · 0 评论 -
【OpenHarmony实战开发】第23课-Hdf Framework
该仓主要存放驱动子系统核心源码信息(包括驱动框架、配置管理、配置解析、驱动通用框架模型、硬件通用平台能力接口等),旨在为开发者提供更精准、更高效的开发环境,力求做到一次开发,多系统部署。图 1驱动框架架构图[]()原创 2024-09-16 10:24:07 · 181 阅读 · 0 评论 -
【OpenHarmony实战开发】第22课-MiniCanvas
基于的Cavas组件封装了一版极简操作的MiniCanvas,屏蔽了原有Canvas内部复杂的调用流程,支持一个API就可以实现相应的绘制能力,该库还在继续完善中,也欢迎PR。原创 2024-09-16 10:19:58 · 298 阅读 · 0 评论 -
【OpenHarmony实战开发】第21课-之天气应用
在ets中新建model文件夹,建立ArkTS文件,基于API返回结果结合需要自定义类API返回结果:源码如下name:string = "紫外线强度指数"level:string = "中等"export class Result1{//每1天city:string = '徐州'wea_day:string = "晴"wea_night:string = '晴'wind_day:string = "南风"wind_night:string = "南风"原创 2024-09-16 10:18:15 · 558 阅读 · 0 评论 -
【OpenHarmony实战开发】第20课-数据转码应用开发实战(下)
OpenHarmony应用框架原生提供了非常完善的国际化功能支持,我们通过string.json配置文件即可便捷完成多语言配置,无需导入额外的三方库。对于刚入门OpenHarmony开发的小伙伴来说,如果有一个合适的实战项目来练手,对自身的技术能力提升是非常有帮助的,本文将以一个小项目——数据转码应用,来讲解应用开发全流程。在《OpenHarmony数据转码应用开发实战(中)》我们讲述了核心解转码工具包的实现,以及UI组件数据绑定,那么接下来将讲述项目的国际化适配、调测和发布。原创 2024-09-16 10:09:06 · 285 阅读 · 0 评论 -
【OpenHarmony实战开发】第19课-数据转码应用开发实战(中)
eTS的组件事件与VUE框架大体相同,但也有略微的差异,比如Textarea的值绑定是通过onChange事件来获取的,在不确定时定可以多看官方组件文档。对于刚入门OpenHarmony开发的小伙伴来说,如果有一个合适的实战项目来练手,对自身的技术能力提升是非常有帮助的,本文将以一个小项目——数据转码应用,来讲解应用开发全流程。在《OpenHarmony数据转码应用开发实战(上)》中我们讲述了项目的需求、设计以及项目创建、UI界面开发,本篇将重点讲解转码工具包的实现和UI组件数据绑定。原创 2024-09-16 10:06:54 · 505 阅读 · 0 评论 -
【OpenHarmony实战开发】第18课-数据转码应用开发实战(上)
对于刚入门OpenHarmony应用开发的小伙伴来说,eTS可能比较陌生,如果有一个合适的实战项目来练手,那么对技术能力提升是非常有帮助的,本文将以一个小项目——数据转码应用,来讲解应用开发全流程。项目的开发包含很多流程步骤,我们在开发时需要注意规划好前期的需求和设计工作,这样在后续的编码过程中可以避免频繁的修改调整。OpenHarmony的应用开发支持C++、JS、eTS,从已有版本的演进路线来看,eTS是未来重点的技术路线。我们打开DevEco Studio开发工具,选择Create,点击下一步。原创 2024-09-16 10:05:26 · 255 阅读 · 0 评论 -
【OpenHarmony实战开发】第17课-手势事件
手势表示由单个或多个事件识别的语义动作(例如:点击、拖动和长按)。一个完整的手势也可能由多个事件组成,对应手势的生命周期。longpress:用户在相同位置长时间保持与屏幕接触。click:用户快速轻敲屏幕。原创 2024-09-16 10:03:18 · 98 阅读 · 0 评论 -
【OpenHarmony实战开发】第16课-list开发指导
list是用来显示列表的组件,包含一系列相同宽度的列表项,适合连续、多行地呈现同类数据。原创 2024-09-16 10:01:41 · 206 阅读 · 0 评论 -
【OpenHarmony实战开发】第15课-dialog开发指导
dialog组件用于创建自定义弹窗,通常用来展示用户当前需要或用户必须关注的信息或操作。原创 2024-09-16 10:00:19 · 198 阅读 · 0 评论 -
【OpenHarmony实战开发】第14课-swiper开发指导
swiper为滑动容器,提供切换显示子组件的能力。原创 2024-09-16 09:58:56 · 221 阅读 · 0 评论 -
【OpenHarmony实战开发】第12课-如何通过Text实现部分文本高亮和超链接
本示例通过自定义Span类型,在Text组件中使用ForEach遍历,根据不同的Span类型生成不同样式和功能的Span组件,实现部分文本高亮和超链接。原创 2024-09-15 20:57:45 · 188 阅读 · 0 评论 -
【OpenHarmony实战开发】第11课-如何利用position和onTouch来实现首页下拉进入二楼、二楼上划进入首页的效果
本示例主要介绍了利用position和onTouch来实现首页下拉进入二楼、二楼上划进入首页的效果场景,利用translate和opacity实现动效的移动和缩放,并将界面沉浸式(全屏)显示。原创 2024-09-15 20:56:19 · 164 阅读 · 0 评论 -
【OpenHarmony实战开发】第10课-如何使用全局状态保留能力弹窗来实现评论组件。
评论组件在目前市面上的短视频app中是一种很常见的场景,本案例使用全局状态保留能力弹窗来实现评论组件。点击评论按钮弹出评论组件,点击空白处隐藏该组件,再次点击评论按钮则会恢复上一次浏览的组件状态。原创 2024-09-15 20:52:32 · 109 阅读 · 0 评论 -
【OpenHarmony实战开发】第5课-如何通过BlendMode属性来实现挂件和图片的混合
本实例主要通过BlendMode属性来实现挂件和图片的混合,通过更改不同的混合参数,能够展示不同的混合效果。原创 2024-09-15 20:50:01 · 145 阅读 · 0 评论 -
【OpenHarmony实战开发】第9课-Web前端页面调用应用侧函数
注册应用侧代码有两种方式,一种在Web组件初始化使用调用,使用javaScriptProxy()接口。另外一种在Web组件初始化完成后调用,使用registerJavaScriptProxy()接口。开发者使用Web组件将应用侧代码注册到前端页面中,注册完成之后,前端页面中使用注册的对象名称就可以调用应用侧的函数,实现在前端页面中调用应用侧方法。在下面的示例中,将test()方法注册在前端页面中, 该函数可以在前端页面触发运行。javaScriptProxy()接口使用示例如下。原创 2024-09-15 20:47:57 · 222 阅读 · 0 评论 -
【OpenHarmony实战开发】第8课-全局状态保留能力弹窗
全局状态保留能力弹窗一种很常见的能力,能够保持状态,且支持全局控制显隐状态以及自定义布局。使用效果参考评论组件。原创 2024-09-15 20:46:24 · 153 阅读 · 0 评论 -
【OpenHarmony实战开发】第7课-如何在Navigation中完成路由拦截
本示例介绍在Navigation中如何完成路由拦截:首次登录时记录登录状态,再次登录时可以直接访问主页无需重复登录,当退出登录时,下次需重新登录。原创 2024-09-15 20:45:03 · 149 阅读 · 0 评论 -
【OpenHarmony实战开发】第6课-全局弹窗封装案例
本示例介绍两种弹窗的封装案例。一种是自定义弹窗封装成自定义组件的方式,使用一句代码即可控制显示;一种是使用子窗口的方式实现弹窗,使用一句代码即可展示。原创 2024-09-15 20:43:53 · 162 阅读 · 0 评论 -
【OpenHarmony实战开发】第4课-深度探索与打造个性化自定义组件
1.自定义组件:@Component装饰的UI单元,可以组合多个系统组件实现UI的复用,可以调用组件的生命周期。2.页面:即应用的UI页面。可以由一个或者多个自定义组件组成,@Entry装饰的自定义组件为页面的入口组件,即页面的根节点,一个页面有且仅能有一个@Entry。只有被@Entry装饰的组件才可以调用页面的生命周期。自定义组件的创建和渲染流程自定义组件的创建:自定义组件的实例由ArkUI框架创建。原创 2024-09-15 20:42:33 · 197 阅读 · 0 评论 -
【OpenHarmony实战开发】第3课-如何实现窗口开发概述
窗口模块用于在同一块物理屏幕上,提供多个应用界面显示、交互的机制。原创 2024-09-15 20:40:55 · 134 阅读 · 0 评论 -
【OpenHarmony实战开发】第2课-创建switch组件
witch为开关选择器,切换开启或关闭状态。原创 2024-09-15 20:39:20 · 102 阅读 · 0 评论 -
【OpenHarmony实战开发】第1课-menu开发指导
提供菜单组件,作为临时性弹出窗口,用于展示用户可执行的操作。原创 2024-09-15 20:38:03 · 113 阅读 · 0 评论 -
【OpenHarmony嵌入式硬件开发】基于Openharmony轻量级操作系统案例5:OpenHarmony之如何实现震动
duration表示马达振动的持续时间,callback马达执行振动的回调函数,指示触发振动是否成功。Vibrator API:提供振动器基础的API,主要包含振动器的列表查询,振动器的振动器效果查询,触发/关闭振动器等。Vibrator Framework:实现振动器的框架层管理,实现与控制类小器件Service的。if (error) { //调用失败,打印error.code和error.message。if (error) {//调用失败,打印error.code和error.message。原创 2024-09-14 15:06:09 · 179 阅读 · 0 评论 -
【OpenHarmony嵌入式硬件开发】基于Openharmony轻量级操作系统案例3:OpenHarmony之开机优化
所以这个时候我们可以从启动顺序来入手,由于init是用户态的第一个程序,是1号进程,所以对应的init.cfg就无需修改,而需要修改的就是foundation.cfg/samgr_standard.cfg/param_watcher.cfg/appspawn.cfg/useriam.cfg/access_token.cfg/graphic.cfg。通过Bootchart工具,开发者可以深入了解系统的启动过程,并对其进行详细的性能分析,从而优化系统启动速度和运行效率。二丶Bootchart工具。原创 2024-09-14 14:55:36 · 215 阅读 · 0 评论 -
【OpenHarmony嵌入式硬件开发】基于Openharmony轻量级操作系统案例4:仿生四足狗开发
大家好,我是刘潇翔,现就读于南方科技大学(Southern University of Science and Technology)研一,修读的专业是智能制造与机器人。在这次训练营中,我从机械结构、电控硬件、控制算法、上位机等四个方面设计并制作了一款基于传智教育Hi3861 IoT WiFi模组主控,拥有十二自由度的桌面级四足机器狗—Puppy。仿生四足狗—Puppy已经合仓的代码链接。原创 2024-09-14 14:45:00 · 1216 阅读 · 0 评论 -
【OpenHarmony嵌入式硬件开发】基于Openharmony轻量级操作系统案例2:RK2206 WiFi-AP模式通信
注意:上述wifi_mode、mac_address、route_ssid和route_passwd都有严格的字符串长度定义。首先,在wifi_process()调用CreateThread()创建1个线程,运行wifi_tcp_server()最后,tcp_server_msg_handle()负责与TCP客户端进行实际通信。LZ_HARDWARE_SUCCESS为成功,反之为失败。LZ_HARDWARE_SUCCESS为成功,反之为失败。首先,定义几个WiFi相关参数,并予以赋值。原创 2024-09-14 14:27:33 · 349 阅读 · 0 评论 -
【OpenHarmony嵌入式硬件开发】基于Openharmony轻量级操作系统案例1:分布式数据管理
在kv_store_example函数中通过LOS_TaskCreate函数创建两个线程:kv_store_write_thread、kv_store_read_thread。在本章节中,我们将了解OpenHarmony KvStore存储接口,如文件如何获取数据、设置数据、删除数据和清除缓存。kv_store_write_thread线程负责创建/更新KV存储,每1秒写入一段内容,重复以上流程。kv_store_read_thread线程负责读取KV存储,每1秒读取一段内容,重复以上流程。原创 2024-09-14 14:22:21 · 159 阅读 · 0 评论 -
【OpenHarmony嵌入式硬件开发】基于OpenHarmony标准系统的C++公共基础类库案例12:ThreadPoll
该程序是基于OpenHarmony标准系统的C++公共基础类库的线程池处理:ThreadPoll。创建1个线程池,设置该线程池内部有1024个线程空间。启动5个线程。每个线程每秒打印1段字符串,10秒后停止。原创 2024-09-14 13:54:13 · 342 阅读 · 0 评论 -
【OpenHarmony嵌入式硬件开发】基于OpenHarmony标准系统的C++公共基础类库案例10:rwlock
该程序是基于OpenHarmony的C++公共基础类库的读写锁:rwlock。创建3个读线程,每个读线程循环5次,每次循环获取读锁,将公共资源变量打印,睡眠1秒,然后释放读锁,最后再睡眠1秒。创建3个写线程,每个写线程循环5次,每次循环获取写锁,将公共资源变量打印,睡眠1秒,然后释放读锁,最后再睡眠1秒。凌蒙派-RK3568开发板-OpenHarmony: 该库为凌蒙派RK3568开发板的OpenHarmony gitee仓,由福州市凌睿智捷电子有限公司出品 - Gitee.com。原创 2024-09-14 13:49:12 · 245 阅读 · 0 评论 -
【OpenHarmony嵌入式硬件开发】基于OpenHarmony标准系统的C++公共基础类库案例9:Semaphore
该程序是基于OpenHarmony标准系统的C++公共基础类库的线程处理:Sempahore。本案例完成如下工作:(1)无名信号量使用方法定义1个无名信号量,1个供无名信号量管理的公共资源变量;创建5个线程,每个线程做5次for循环,for循环的内容是获取无名信号量,并修改公共资源变量;(2)有名信号量使用方法定义1个有名信号量,1个供有名信号量管理的公共资源变量;原创 2024-09-14 13:45:53 · 314 阅读 · 0 评论 -
【OpenHarmony嵌入式硬件开发】基于OpenHarmony标准系统的C++公共基础类库案例8:Thread
该程序是基于OpenHarmony的C++公共基础类库的线程处理:Thread。凌蒙派-RK3568开发板-OpenHarmony: 该库为凌蒙派RK3568开发板的OpenHarmony gitee仓,由福州市凌睿智捷电子有限公司出品 - Gitee.com主线程每1秒打印子进程的相关信息。主线程在第5秒时,关闭子线程运行。创建1个子线程,每隔1秒打印当前运行次数。原创 2024-09-14 13:43:05 · 345 阅读 · 0 评论 -
【OpenHarmony嵌入式硬件开发】基于OpenHarmony标准系统的C++公共基础类库案例6:SafeQueue
该程序是基于OpenHarmony的C++公共基础类库的线程安全队列:SafeQueue。线程安全队列,是在dequeue的基础上封装std::lock_guard,以此实现线程的相关操作。根据继承SafeQueueInner抽象类,并对dequeue的pop方法的重写,可以实现SafeStack和SafeQueue的相关方法。创建2个子线程,1个线程负责入队操作,1个线程负责出队操作子线程入队操作,每1秒做1次入队操作,循环5次子线程入队操作,每0.5秒做1次出队操作,循环5次。原创 2024-09-13 18:14:32 · 353 阅读 · 0 评论 -
【OpenHarmony嵌入式硬件开发】基于OpenHarmony标准系统的C++公共基础类库案例5:SafeBlockQueue
该程序是基于OpenHarmony的C++公共基础类库的读写锁:SafeBlockQueue。线程安全阻塞队列SafeBlockQueue类,提供阻塞和非阻塞版的入队入队和出队接口,并提供可最追踪任务完成状态的的SafeBlockQueueTracking类。本案例主要完成如下工作:(1)使用SafeBlockQueue接口的案例判断命令行是否使用阻塞,还是非阻塞;创建子线程生产者,使用阻塞/非阻塞方式,入队操作;创建子线程消费者,使用阻塞/非阻塞方式,出队操作;主线程等待所有子线程结束。原创 2024-09-13 18:13:07 · 390 阅读 · 0 评论 -
【OpenHarmony嵌入式硬件开发】基于OpenHarmony标准系统的C++公共基础类库案例4:ThreadPoll
该程序是基于OpenHarmony标准系统的C++公共基础类库的线程池处理:ThreadPoll。创建1个线程池,设置该线程池内部有1024个线程空间。启动5个线程。每个线程每秒打印1段字符串,10秒后停止。原创 2024-09-13 18:10:53 · 453 阅读 · 0 评论 -
【OpenHarmony嵌入式硬件开发】基于OpenHarmony标准系统的C++公共基础类库案例3:Semaphore
该程序是基于OpenHarmony标准系统的C++公共基础类库的线程处理:Sempahore。本案例完成如下工作:(1)无名信号量使用方法定义1个无名信号量,1个供无名信号量管理的公共资源变量;创建5个线程,每个线程做5次for循环,for循环的内容是获取无名信号量,并修改公共资源变量;(2)有名信号量使用方法定义1个有名信号量,1个供有名信号量管理的公共资源变量;原创 2024-09-13 18:08:22 · 330 阅读 · 0 评论