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

样例简介

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

运行效果

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

运行效果图

样例原理

样例原理图

如上图所示,智能养花系统整体方案框架可以分为:智能养花系统设备、数字管家应用、云平台三部分。智能养花系统设备端按照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上进行工程的配置下载。

搜狗高速浏览器截图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 万款的应用那么这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行!

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-04-03 16:08:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-03 16:08:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-03 16:08:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-03 16:08:01       18 阅读

热门阅读

  1. 【敬伟ps教程】调色课程

    2024-04-03 16:08:01       9 阅读
  2. linux之自主shell编写

    2024-04-03 16:08:01       11 阅读
  3. CODEFORCES --- 1399A.Remove Smallest

    2024-04-03 16:08:01       13 阅读
  4. 5G时代来了,一键登录的颠覆式体验时代也来了

    2024-04-03 16:08:01       13 阅读
  5. ES 7.12官网阅读-ILM(index lifecycle management)

    2024-04-03 16:08:01       12 阅读
  6. LEETCODE-DAY41

    2024-04-03 16:08:01       13 阅读
  7. c++ 实现线程池、实现异步接口

    2024-04-03 16:08:01       13 阅读
  8. LeetCode 746. 使用最小花费爬楼梯

    2024-04-03 16:08:01       13 阅读
  9. 模拟退火算法

    2024-04-03 16:08:01       11 阅读