OpenHarmony南向开发实例:【智能甲醛检测机】

 样例简介

本项目是基于BearPi套件开发的智能甲醛检测系统Demo,该设备硬件部分主要由小熊派单板套件和和甲醛检测传感器组成。智能甲醛检测系统可以通过云和手机建立连接,可以在手机上设置甲醛浓度阈值,传感器感知到的甲醛浓度超过阈值之后,将会通过云传给手机,并报警。

运行效果

当设备应用启动之后,操作效果如下:

运行效果

样例原理

原理示意图

工程版本
  • 系统版本/API版本:OpenHarmony 1.0.1 release
  • IDE版本:DevEco Device Tool Release 3.0.0.401

快速上手

准备硬件环境
  • BearPi-HM Nano套件一套

  • 预装HarmonyOS手机一台

    注:HarmonyOS是华为基于开源项目OpenHarmony开发的面向多种全场景智能设备的商用版本

准备开发环境
开发环境安装配置参照文档:[DevEco Device Tool 环境搭建]qr23.cn/AKFP8k
准备工程

搜狗高速浏览器截图20240326151450.png

本用例采DevEco Device Tool工具进行开发,当配置完开发环境后,我们可以在IDE上进行工程的配置下载。

  • 打开DevEco Device Tool,连接远程linux服务器:[DevEco Device Tool 环境搭建]
  • 点击左下角DevEco插件图标,然后点击左边框出现的主页,弹出主页界面,主页中选择新建项目,如下图:

main_config

  • 配置下载工程

config && download

如上图所示,填写对应样例工程的名称,选择对应的样例组件和样例工程存放路径后,点击创建即可进行样例工程的下载。下载界面如下:

download

当右下角显示正在下载OpenHarmony镜像时,耐心等待下载完成即可

download

准备工具链
  • 在Projects中,点击Settings按钮,进入cleaner配置界面。

  • 在toolchain页签中,DevEco Device Tool会自动检测依赖的编译工具链是否完备,如果提示部分工具缺失,可点击SetUp按钮,自动安装所需工具链。

  • 工具链自动安装完成后如下图所示。

    工具链配置成功

编译

样例代码下载完成后,DevEco Device Tool会重新要求连接远程服务器,输入密码连接后会进入对应的代码编辑界面,此时点击左下角DevEco插件图标,选择PROJECT TASKS可以查看到对应的样例工程,点击build选项进行编译,并可在终端查看对应的编译结果。

build ok

固件生成在对应工程目录的out/bearpi_hm_nano/smart_TVOC_detection目录下。

烧录/安装

编译完成后可以通过DevEco Device Tool进行烧录,在烧录前需要做一些烧录的配置:

配置准备

在配置烧录前需要先查看DevEco Device Tool是否可以正常识别串口。

  • 点击左边栏"REMOTE DEVELOPMENT",找到 并点击” Local PC “ 选项。

  • 查看 Local PC右边图标

    如若图标为

    方型图标

    ,则代表DevEco Device Tool已连接本地,可以正常识别串口。

    如若图标为

    箭头图标

    ,则代表DevEco Device Tool未连接本地,不能识别串口,此时需要点击该绿色图标进行连接,连接成功后图标会变为

    方型图标

check local pc

  • 点击主页,在主页选择对应工程,点击配置工程进入到配置页面

config project

配置串口

配置页面选择的板级配置页面,在该页面查找到烧录选项,配置烧录选项中的upload_port和upload_protocol,upload_port选择开发板对应的串口号,upload_protocol默认选择hiburn-serial,最后点击右上角的保存按钮进行保存。

config serail port

烧录

当配置完串口以及固件后,直接点击左边栏工程管理中的upload即可,此时下方终端会出现对应烧录的信息,当终端出现BootromDownloadBoot字样,按下开发板的 “RESET” 键复位开发板即可。

burn

操作体验
设备配网
  • 在设备上电前需准备好安装了数字管家应用的HarmonyOS手机 并在设置中开启手机的NFC功能;
  • 写设备NFC标签;
  • 烧录完成后,上电。开发者在观察开发板上状态LED灯以8Hz的频率闪烁时,将手机上半部靠近开发板NFC标签处;
  • 无需任何操作手机将自动拉起数字管家应用并进入配网状态,配网过程中无需输入热点账号密码。

无感配网操作如下图所示

无感配网

阈值设置

配网完成后,数字管家应用会自动进入智能台灯的控制页面,通过控制页面设置甲醛传感器告警阈值。

甲醛超标告警

当检测到的甲醛数值,超过预先设定的阈值时,会通知数字管家应用告警,并且告警消息还会推送同一家庭账号的所有成员。

最后呢,很多开发朋友不知道需要学习那些鸿蒙技术?鸿蒙开发岗位需要掌握那些核心技术点?为此鸿蒙的开发学习必须要系统性的进行。

而网上有关鸿蒙的开发资料非常的少,假如你想学好鸿蒙的应用开发与系统底层开发。你可以参考这份资料,少走很多弯路,节省没必要的麻烦。由两位前阿里高级研发工程师联合打造《鸿蒙NEXT星河版OpenHarmony开发文档》里面内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(Harmony NEXT)技术知识点

如果你是一名Android、Java、前端等等开发人员,想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。下面是鸿蒙开发的学习路线图。

高清完整版请点击→《鸿蒙NEXT星河版开发学习文档》

针对鸿蒙成长路线打造的鸿蒙学习文档。话不多说,我们直接看详细资料鸿蒙(OpenHarmony )学习手册(共计1236页)与鸿蒙(OpenHarmony )开发入门教学视频,帮助大家在技术的道路上更进一步。

《鸿蒙 (OpenHarmony)开发学习视频》

图片

《鸿蒙生态应用开发V2.0白皮书》

图片

《鸿蒙 (OpenHarmony)开发基础到实战手册》

获取这份鸿蒙星河版学习资料,请点击→《鸿蒙NEXT星河版开发学习文档》

OpenHarmony北向、南向开发环境搭建

图片

《鸿蒙开发基础》

  1. ArkTS语言

  2. 安装DevEco Studio

  3. 运用你的第一个ArkTS应用

  4. ArkUI声明式UI开发

  5. .……

图片

《鸿蒙开发进阶》

  1. Stage模型入门

  2. 网络管理

  3. 数据管理

  4. 电话服务

  5. 分布式应用开发

  6. 通知与窗口管理

  7. 多媒体技术

  8. 安全技能

  9. 任务管理

  10. WebGL

  11. 国际化开发

  12. 应用测试

  13. DFX面向未来设计

  14. 鸿蒙系统移植和裁剪定制

  15. ……

图片

《鸿蒙开发实战》

  1. ArkTS实践

  2. UIAbility应用

  3. 网络案例

  4. ……

图片

 获取这份鸿蒙星河版学习资料,请点击→《鸿蒙NEXT星河版开发学习文档》

总结

鸿蒙—作为国家主力推送的国产操作系统。部分的高校已经取消了安卓课程,从而开设鸿蒙课程;企业纷纷跟进启动了鸿蒙研发

并且鸿蒙是完全具备无与伦比的机遇和潜力的;预计到年底将有 5,000 款的应用完成原生鸿蒙开发,未来将会支持 50 万款的应用那么这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/529564.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

阿赵UE学习笔记——25、动画状态机播放

阿赵UE学习笔记目录   大家好,我是阿赵。   继续学习虚幻引擎的使用。之前学习了用蓝图直接控制骨骼动画或者蒙太奇动画的播放。这次学习一下通过状态机来控制动画播放。如果熟悉Unity引擎使用的朋友,看到这个状态机应该会觉得很熟悉,因为…

全球变暖蓝桥杯2018省赛真题

全球变暖蓝桥杯2018省赛真题 DFS大法 全球变暖 #include <bits/stdc.h> using namespace std; #define int long long bool flag; char a[1010][1010]; int cnt,n,ans0,pre_ans0,d[4][2] {1,0,-1,0,0,1,0,-1}; void dfs(int x,int y){if(x>n||x<0||y>n||y<…

科研学习|研究方法——定性数据的定量编码方法

一、关于数据的分类 数据可以根据不同的属性和特征进行分类。以下是数据常见的分类方式&#xff1a; 1. 数值型数据&#xff1a;表示为具体的数值&#xff0c;可以进行数学运算和统计分析。例如年龄、身高、体重等。2. 分类型数据&#xff1a;表示为不同的类别或标签&#xff0…

019——IIC模块驱动开发(基于EEPROM【AT24C02】和I.MX6uLL)

目录 一、 IIC基础知识 二、Linux中的IIC&#xff08;韦东山老师的学习笔记&#xff09; 1. I2C驱动程序的层次 2. I2C总线-设备-驱动模型 2.1 i2c_driver 2.2 i2c_client 三、 AT24C02 介绍 四、 AT24C02驱动开发 实验 驱动程序 应用程序 一、 IIC基础知识 总线类…

【数字图像处理】二值图和灰度图的形态学处理

文章目录 形态学处理二值图形态学处理二值图形态学基本算子二值图连通分量提取、区域标记二值图细化算法 灰度图形态学处理灰度图形态学基本算子灰度图形态学梯度灰度图 tophat 算法 形态学处理 二值图形态学处理 二值图形态学基本算子 二值图形态学图像处理通常在目标图像中…

【数据处理包Pandas】多级索引的创建及使用

目录 一、元组作为一级索引&#xff08;一&#xff09;示例1&#xff08;二&#xff09;示例2 二、引入多级索引&#xff08;一&#xff09;多级索引的创建&#xff08;二&#xff09;多级索引中的数学选取 首先&#xff0c;导入 NumPy 库和 Pandas 库。 import numpy as np i…

javaWeb影视创作论坛的设计与实现

摘要 随着时代的发展&#xff0c;互联网的出现&#xff0c;给传统影视行业带来的最大便利就是&#xff0c;方便了影视从业人员以及爱好者的交流和互动&#xff0c;而为用户提供一个书写影评&#xff0c;阅读影评以及回复影评的平台&#xff0c;以影评为载体来使用户感受影评、…

openharmony launcher 调研笔记(03)UI 数据装配

最近在看launcher&#xff0c;把自己调研的点做个笔记&#xff0c;持续修改更新中&#xff0c;个人笔记酌情参考。 桌面上半部分包含父子逻辑&#xff1a; Column() { PageDesktopLayout(); } PageDesktopLayout->GridSwiper->Swiper->SwiperPage 1.PageDe…

无重复的最长字串

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;算法分析与设计 ⛺️稳中求进&#xff0c;晒太阳 问题 给定一个字符串&#xff0c;我们需要找到该字符串中的最长无重复子串的长度。 示例 让我们以一个具体的示例来说明这个问题&#…

数据结构---线性表

1&#xff0c;顺序表实现---动态分配 #include<stdlib.h> #define InitSize 10 typedef struct {int *data;//静态分配int length;int MaxSize; }SqList; void InitList(SqList& L) {L.data (int*)malloc(InitSize * sizeof(int));//分配空间L.length 0;L.MaxSize…

企业如何管理员工技能,提升人员管理质效?

最近总有客户来抱怨&#xff0c;传统集团由于企业规模庞大、员工分散及线下管理模式局限&#xff0c;导致HR部门工作效率不高&#xff0c;无法及时解决一线员工的岗位排班、员工技能水平变更等问题。 正好&#xff0c;最近我们有类似成功案例和大家分享一下。 我们特意邀请到…

猫头虎分享已解决Error: 解决“IndexError: list index out of range“

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 文章目录 猫头虎分享已解决Error: 解决"IndexError: list index out of range" &#x1f431;&#x1f989;&#x1f6e0;️摘要正文内容一、错误现场勘察 &#x1f575…

关于Linux内核code段被改写的原因分析

本文基于Linux-4.19.125&#xff0c; ARM V7&#xff0c;dual core。 1 code 段 Linux的code段&#xff08;或者说text段&#xff09;自_stext开始&#xff0c;到_etext结束&#xff0c;这段内容一般情况下是只读的&#xff0c;在理论上来说&#xff0c;这段数据在设备上应该…

如何在淘~宝接单和解决别人问题-java开发

如下这是一个连接&#xff1a;https://s.tb.cn/c.0vDtL3https://s.tb.cn/c.0vDtL3 解决各种问题。可付费咨询

初识C++ · 类和对象(上)

目录 1.面向过程和面向对象初步认识 2.类的引入 3.类的定义 4.类的访问限定符及封装 4.1 访问限定符 4.2 封装 5.类的作用域 6.类的实例化 7.类的对象大小的计算 8.类成员函数的this指针 1.面向过程和面向对象初步认识 C语言是一门面向过程的语言&#xff0c;注重的…

FPGA(Verilog)实现按键消抖

实现按键消抖功能&#xff1a; 1.滤除按键按下时的噪声和松开时的噪声信号。 2.获取已消抖的按键按下的标志信号。 3.实现已消抖的按键的连续功能。 Verilog实现 模块端口 key_filter(input wire clk ,input wire rst_n ,input wire key_in , //按下按键时为0output …

《QT实用小工具·二十二》多种样式导航按钮控件

1、概述 源码放在文章末尾 该项目实现了多种样式的导航按钮控件 可设置文字的左侧、右侧、顶部、底部间隔。 可设置文字对齐方式。 可设置显示倒三角、倒三角边长、倒三角位置、倒三角颜色。 可设置显示图标、图标间隔、图标尺寸、正常状态图标、悬停状态图标、选中状态图标…

纯C语言手搓GPT-2,前OpenAI、特斯拉高管新项目火了

ChatGPT狂飙160天&#xff0c;世界已经不是之前的样子。 新建了免费的人工智能中文站https://ai.weoknow.com 新建了收费的人工智能中文站https://ai.hzytsoft.cn/ 更多资源欢迎关注 「Real men program in C.」 众所周知&#xff0c;大语言模型还在快速发展&#xff0c;应该有…

自动驾驶基础技术-无迹卡尔曼滤波UKF

自动驾驶基础技术-无迹卡尔曼滤波UKF Unscented Kalman Filter是解决非线性卡尔曼滤波的另一种思路&#xff0c;它利用Unscented Transform来解决概率分布非线性变换的问题。UnScented Kalman Filter不需要像Extended Kalman Filter一样计算Jacobin矩阵&#xff0c;在计算量大…

Vue - 你知道Vue2中对象动态新增属性,视图无法更新的原因吗

难度级别:中高级及以上 提问概率:55% 这道题面试官会这样描述,比如有这样一个场景,一个对象里有name属性,可以正常显示在页面中。但后续动态添加了一个age属性,通过调试打印发现对象里的age属性已经添加了上了,但试图中却没有展示出来,…