鸿蒙南向开发案例:【智能养花机】

样例简介

智能养花机通过感知花卉、盆栽等植宠生长环境的温度、湿度信息,适时为它们补充水分。在连接网络后,配合数字管家应用,用户可远程进行浇水操作。用户还可在应用中设定日程,有计划的按日、按周进行浇水。在日程中用户可添加其它智能设备(例如:智能窗帘),一起呵护植宠的成长。

运行效果

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

运行效果图

样例原理

样例原理图

如上图所示,智能养花系统整体方案框架可以分为:智能养花系统设备、数字管家应用、云平台三部分。智能养花系统设备端按照MQTT协议与华为云IoT平台进行通信。当温度、湿度发生变化时,设备端上报变化数据至云平台最终同步到数字管家;当用户在应用侧进行操作时,命令数据先发送至云平台,再由云平台下发至设备侧。

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

快速上手

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

  • 预装HarmonyOS手机一台

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

准备开发环境

开发环境安装配置参照文档:[DevEco Device Tool 环境搭建

准备工程

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

  • 打开IDE,连接远程linux服务器:参考[DevEco Device Tool 环境搭建

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

  • 点击左下角DevEco插件图标,然后点击左边框出现的主页,弹出主页界面,主页中选择新建项目,如下图:

    新建工程

  • 配置下载工程

    config ok

    如上图所示,点击OpenHarmony源码下的搜索框,设置工程名称后,点击确定即可进行样例工程的下载。搜索框下载操作如下:

    download

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

    download

准备工具链
  • 在Projects中,点击Settings按钮,进入配置界面。
  • 在toolchain页签中,DevEco Device Tool会自动检测依赖的编译工具链是否完备,如果提示部分工具缺失,可点击SetUp按钮,自动安装所需工具链。
  • 如果出现安装pip组件失败,进行修改,完成尝试重新安装。

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

工具链配置成功

编译

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

build ok

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

firm

烧录/安装

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

配置准备

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

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

  • 查看 Local PC右边图标

    如若图标为![方型图标],则代表DevEco Device Tool已连接本地,可以正常识别串口。

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

    check local pc

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

    config burn

配置串口

打开工程配置后选择板级配置,即bearpi_hm_nano,然后配置烧录选项的upload_port和upload_protocol,upload_port选择开发板对应的串口号,upload_protocol默认选择hiburn-serial,最后点击右上角的保存按钮进行保存。

config serial

烧录

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

烧录

操作体验
设备配网
  • 在设备上电前需准备好安装了数字管家应用的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 万款的应用那么这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uniapp-打包app-图标配置

依次找到manifest->App图标配置,然后点击浏览,从本地文件夹中选择你们项目的logo,然后点击自动生成所有图标并替换,即可:

uniapp创建opendb-city-china Schema文件后,如何导入城市的数据?

1.点击opendb-city-china后面的详情,进入到gitee代码仓库 2.下载如下图所示的data.json文件 3.将本地创建的opendb-city-china.schema.json上传到云端 4.点击导入json 如果直接将data.json导入会报错,如下图所示: 5.将data.json本来的数组对象&#…

如何展示科技产品的原理和应用

一、合理安排展示区域 不同的科技产品具有不同的展示需求,设计师需要根据展品的特点和大小,合理安排展示区域。对于较大的科技产品,可以设置特定的展台或展示区域,并配备合适的灯光和装饰,以凸显产品的重要性和独特性。…

医院内外网安全通讯:实现安全与便捷的跨网即时通讯

医院作为医疗信息化程度较高的机构之一,内部数据传输频繁,网络安全问题备受关注。医院内外网隔离是确保医院网络安全性和保密性的关键措施。然而,医院在业务开展中经常需要进行内外网数据交换,比如患者数据传输至内网,…

InterliJ IDEA基本设置

安装好idea后,将软件打开,可以进行基础设置 1.打开软件,先安装插件-汉化包(不推荐,最好使用英文版),本次我们使用汉化版本完成基本设置,后期希望大家适应英文版的开发环境。&#x…

Linux 学习之路 -- 进程篇 2 -- 进程简介

一、简单介绍 在我们写完程序后,由编译器形成二进制的文件,而这个文件在磁盘中存放,磁盘在外设中,如果我们要执行程序,就必需要把程序加载到内存。我们可以打开任务管理器,就可以发现我们的电脑会运行很多…

435.无重叠区间

// 定义一个名为Solution的类 class Solution {// 定义公共方法eraseOverlapIntervals,输入为二维整数数组intervals,返回值类型为整数public int eraseOverlapIntervals(int[][] intervals) {// 首先,按照区间的起始位置对区间进行升序排序A…

【Algorithms 4】算法(第4版)学习笔记 23 - 5.4 正则表达式

文章目录 前言参考目录学习笔记1:正则表达式1.1:表示1.2:快捷表示2:正则表达式与非确定有限状态自动机 REs and NFAs2.1:二元性2.2:模式匹配实现2.3:非确定有限状态自动机 Nondeterministic fin…

慧天[HTWATER]:创新城市水务科技,引领行业变革

【城市内涝水文水动力模型介绍】 慧天[HTWATER]软件:慧天排水数字化分析平台针对城市排水系统基础设施数据管理的需求,以及水文、水力及水质模拟对数据的需求,实现了以数据库方式对相应数据的存储。可以对分流制排水系统及合流制排水系统进行…

Linux 安装 fail2ban

Linux 安装 fail2ban fail2ban是一款入侵防御软件,能够运行在大多数Linux服务器上,保护计算机服务器免受暴力破解的攻击。fail2ban启动后会通过检测系统行为日志识别暴力破解行为,对于在短时间内多次未能通过身份验证的请求,fail…

PAC下的ROP问题

Armv8.3-A引入了pointer authentication选项。 pointer authentication可以减轻ROP攻击。 为了防止ROP攻击,在函数开始时,LR寄存器中的返回地址被签名。这意味着在寄存器的高位添加了一个PAC。在返回之前,使用PAC对返回地址进行验证。如果检查…

国外服务器租用需要考虑哪些重要信息

国外服务器租用是指从国外的数据中心或服务提供商那里租用服务器资源,以便部署网站、应用程序或其他网络服务。那么国外服务器租用需要考虑哪些重要信息,rak小编为您整理发布。 以下是一些关于国外服务器租用的重要信息: 1. 选择服务商:有许多…

搜索二维矩阵 II - LeetCode 热题 21

大家好!我是曾续缘💗 今天是《LeetCode 热题 100》系列 发车第 21 天 矩阵第 4 题 ❤️点赞 👍 收藏 ⭐再看,养成习惯 搜索二维矩阵 II 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性&…

Word的”交叉引用“和”插入题注“快捷键设置

Word的”交叉引用“和”插入题注“快捷键设置 在MSWord2021中,可以自定义设置快捷键。方法如下:文件-选项-自定义功能区-键盘快捷方式(自定义)。具体过程如图所示。 最后,按照上述流程将插入题注(Insert…

详解 Proxychains4 和 Tor 命令行网络代理的配置及使用方法

使用 tor 保护自己 前置 要求 kali linux 系统开启全局科学上网 安装Proxychains4 并配置 安装 Proxychains4 apt-get install Proxychains4 # 或者 apt install Proxychains4 编辑 配置文件 ┌──(root㉿kali)-[~] └─# whereis proxychains proxychains: /usr/bin/pro…

VMware vCenter Server 8.0U2c - 集中式管理 vSphere 环境

VMware vCenter Server 8.0U2c - 集中式管理 vSphere 环境 请访问原文链接:https://sysin.org/blog/vmware-vcenter-8-u2/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 无耻抄袭者 Yu Tao,请立遁&…

3D模型格式转换工具HOOPS Exchange如何将3D文件加载到PRC数据结构中?

HOOPS Exchange是一款高效的数据访问工具,专为开发人员设计,用于在不同的CAD(计算机辅助设计)系统之间进行高保真的数据转换和交换。由Tech Soft 3D公司开发,它支持广泛的CAD文件格式,包括但不限于AutoCAD的…

分享高质量嵌入式软件的开发技巧

大家好,今天给大家介绍分享高质量嵌入式软件的开发技巧,文章末尾附有分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!可进群免费领取。 高质量嵌入式软件的开发技巧涉及多个方面,从设计、…

python -- NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+

报错分析 完整的报错:urllib3 v2 only supports OpenSSL 1.1.1, currently the ssl module is compiled with LibreSSL 2.8.3. See: https://github.com/urllib3/urllib3/issues/3020报错分析:LibreSSL 是 OpenSSL 的一个分支,LibreSSL 2.8.…

Java基础语法(十)| 多态

1. 多态 1.1 什么是多态 多态是继封装、继承之后,面向对象的第三大特性。生活中,比如跑的动作,小猫、小狗和大象,都是动物,跑起来是不一样的。 再比如飞的动作,昆虫、鸟类和飞机,飞起来也是不一样的。 可见…