小熊派联合HarmonyOS官方推出“护花使者”DIY项目
扫描二维码
随时随地手机看文章
HarmonyOS硬件开发要如何上手?开发板应该怎么玩转?零基础能快速入门吗?HarmonyOS开发者公众号【玩转HarmonyOS开发板】栏目来啦~每期手把手教学,让你从零基础上手开发板,更贴心提供源码下载地址,让你轻松获取不迷路。要说今天是什么日子,不少开发者肯定会认为今天是个买买买的日子。但与其买买买,还不如收获一个简单实用的开发板套件,不仅能够成为阳台上盆栽的守护者,更能让开发者凭借自己的智慧,肆意改造成为符合自身需求的实用装置,它就是玩转HarmonyOS开发板今天要带来的——“护花使者”DIY项目。
搭载HarmonyOS的小熊派BearPi-HM Nano主板,加上一块传感器扩展板,利用湿度监测探头和水泵,组成“护花使者”,不仅能随时关注空气温湿度和土壤湿度,更能远程遥控为植物浇水,以科学的方式陪伴植物茁壮成长,解决你的种植烦恼。
“护花使者”开发板套装出厂前已预烧录固件,可实现连线即玩。本文适合希望深度体验源码编译、升级固件的高级DIYer。
下面让我们从原理入手,一步步来深入了解吧。
“护花使者”原理介绍
“护花使者”功能主要分为两个,“监控环境温湿度”和“控制水泵远程浇水”。装置一共分为四个部分:带有温湿度传感器和土壤湿度传感器的底板、BearPi-HM Nano开发板、5V水泵和“护花使者”小程序。
在套件中,底板中的传感器负责采集空气温湿度,土壤湿度传感器插入土壤中获取土壤湿度,开发板获取采集到的空气温湿度和土壤湿度数据,将其上传到华为云IoT平台上,华为云IoT平台开放API接口,“护花使者”小程序通过API接口调取数据并将其显示在页面上,以此完成监控环境温湿度功能。当获取到土壤湿度不足时,用户通过点击“护花使者”小程序上的“浇花”按钮,将指令发送到华为云IoT平台,华为云IoT平台下发指令给BearPi-HM Nano开发板,开发板实现5V水泵的开启与关闭操作,继而实现控制水泵远程浇水的功能。由于无论是数据还是指令的上传下发都是通过华为云IoT平台,因此控制“护花使者”的手机和BearPi-HM_Nano开发板都需要连接到华为云IoT平台。这个连接是通过“护花使者”小程序来完成的。其中,手机通过“护花使者”小程序注册登录华为云IoT平台,BearPi-HM Nano开发板根据小程序上的提示,通过与手机上NFC相连,从手机获取到WiFi配置信息及设备信息,从而与华为云IoT平台建立连接。开发板与华为云IoT平台建立连接之后,开发板采集到的数据可上传到华为云IoT平台,华为云IoT平台接收到的用户指令也可以发送到开发板,实现远程控制。
光了解原理还不够,“护花使者”最关键的一个环节是将程序编译烧录到BearPi-HM Nano开发板中,下面我们就重点展开开发板的程序编译和烧录过程。
本次我们使用到的编译和烧录工具是HUAWEI DevEco Device Tool,开发者请先下载DevEco Device Tool。● DevEco Device Tool下载链接https://device.harmonyos.com/cn/ide#download_release
开发环境搭建和源码编译1Ubuntu开发环境准备护花使者的代码是在Linux环境下编译的,因此在下载完DevEco Device Tool Linux版本后,我们要选择在Ubuntu下安装工具,并根据开发环境准备进行各软件的下载和配置。
● 用户指南-Ubuntu开发环境准备:
https://device.harmonyos.com/cn/docs/ide/user-guides/install_ubuntu-0000001072959308
2安装编译工具链选择Ubuntu平台安装编译工具链,如图:
下载Hi3861系列的编译工具链,如图:
【请注意】下载riscv32_gcc时,点击直接下载镜像,如图:
输入vim ~/.bashrc,如图:
参考下图,设置环境变量,根据gn、ninja、llvm、gcc_riscv32这四个工具的实际安装路径,根据下图,将路径替换掉即可:
生效环境变量,输入source ~/.bashrc,如图:
输入riscv32-unknown-elf-gcc –v,如果能正确显示编译器版本号,表明编译器安装成功,如图:
3创建工程/下载源码在DevEco Device Tool 中创建一个新的工程,可参考官网【创建新工程】。
● 创建新工程https://device.harmonyos.com/cn/docs/ide/user-guides/create_project-0000001072200151在projects中创建工程,如图:
自定义工程名,芯片型号选择Hi3861:
选择project,就可以看到刚刚创建的工程,如图:
选择HPM源码,下载源码到工程(注意:别选错HPM源码),开始安装,如图:
安装完毕,点击Close关闭,如图:
4源码编译源码安装完成后,根据下图步骤操作,点击Build之后,开始编译,如图:
显示SUCCESS表示编译成功,如图:
编译完成后,产生二进制文件如下图所示,将其移到windows环境下用在DevEco Device Tool工具烧录即可,如图:
开发板的烧录
本次开发板的程序使用到了HarmonyOS内核子系统、公共基础库子系统、IoT专有业务子系统和IoT专有硬件服务子系统。烧录步骤具体可分为以下四部分:
1.下载开发板程序
2.安装TTL-USB串口(CH340)驱动
3.安装DevEco Device Tool工具
4.烧写开发板程序
1下载开发板程序项目代码、相关工具及指导文档目前上传在OpenHarmony代码仓中,打开如下链接或点击【阅读原文】,可进入源码仓:
● 链接:https://gitee.com/openharmony-sig/vendor_oh_fun/tree/master/bearpi-hm_nano-oh_flower找到克隆/下载处,点击下载ZIP,如图:
解压“openharmony-sig-vendor_oh_fun-master.zip”文件,进入“bearpi-hm_nano-oh_flower”文件夹,获得以下文件:
2安装TTL-USB串口(CH340)驱动BearPi-HM Nano开发板可以使用USB烧录代码及打印调试日志,但使用前需要在电脑上安装相应的驱动,下面我们就来看看怎么安装驱动, 本次使用到的是TTL-USB串口(CH340)驱动,大家可以自行下载安装使用。通过TypeC数据线,把电脑与BearPi-HM Nano连接。双击打开下载到的“EXE“文件,并点击安装,驱动安装成功将如下图所示:
【请注意】若提示“安装失败”,请点击“卸载”,再点击“安装”打开电脑设备管理器,点击端口->查看USB-SERIAL CH340(COM*)查看开发板的连接的端口(图中设备为COM4,不同电脑数值可能不同),该端口用于后续烧录代码及打印调试日志使用。
【请注意】假设端口没显示,请尝试拔掉USB口再插上
3安装DevEco Device Tool工具开发者按照官方教程在Windows下安装工具即可。● Windows开发环境准备
https://device.harmonyos.com/cn/docs/ide/user-guides/install_windows-0000001050164976【请注意】目前仅支持在Windows环境下烧录。
4烧写开发板程序完成安装后正式进入开发板程序的烧写,在任意路径下新创建一个文件夹(这里是F:/test/IDE)。
将Linux环境编译完成获得的二进制文件“1_Hi3861_wifiiot_app_allinone.bin”放入文件夹中:
或者你也可以直接选择“bearpi-hm_nano-oh_flower”文件夹中的“03_固件”。打开VS code,点击左边的IDE工具,点击Open DecEco Project。
打开刚刚创建的文件夹路径——F:/test/IDE。
我们要烧录的板子是BearPi-HM Nano,在Board中选择BearPi-HM Nano,点击Open。
完成板子选择后,我们需要进行端口和烧录协议配置。选择步骤2中驱动获取到的设备端口,这里为COM 4,在烧录协议中选择“burn-serial”,即串口烧录。
配置烧录文件路径,该文件即为之前编译完成的二进制文件。
配置路径好后,先点击保存,后点击打开。
打开后点击左边的IDE图标,点击Upload开始烧录,在板子上按下reset键即可开始烧录。
显示SUCCESS表示烧录成功,再按下板子上的reset键就可以运行啦~
至此,我们已经完成了编译和烧录的操作。而大家拿到的“护花使者”套件,正如前文所说,程序已经烧录在其中了,那么这个烧录好的BearPi-HM Nano开发板和其他配件到底是如何组装起来,又是如何通过小程序具体完成控制的,大家可以通过gitee上下载的“操作文档”来详细了解~
实际上“护花使者”套件的玩法还有很多,开发者可以将BearPi-HM Nano开发板改造成宠物自动喂食器,水浸报警器,水位检测器等,关于护花使者的N多种可能,由开发者们来定义!开发者快为自己定制一个专属“护花使者”吧。