网站首页 > 开源技术 正文
本文将带大家基于 OpenHarmony ,实现一个智慧浇花项目。
效果图如下:
智能养花机通过感知花卉、盆栽等植宠生长环境的温度、湿度信息,适时为它们补充水分。
在连接网络后,配合数字管家应用,用户可远程进行浇水操作。用户还可在应用中设定日程,有计划的按日、按周进行浇水。
在日程中用户可添加其它智能设备(例如:智能窗帘),一起呵护植宠的成长。
样例原理:
快速上手
①硬件准备
BearPi-HM Nano 套件一套;预装 HarmonyOS 手机一台。
②Linux 编译服务器基础环境准备
开发基础环境由 Windows 工作台和 Linux 编译服务器组成。Windows 工作台可以通过 samba 服务或 ssh 方式访问 Linux 编译服务器。
其中 Windows 工作台用来烧录和代码编辑,Linux 编译服务器用来编译 OpenHarmony 代码,为了简化步骤,Linux 编译服务器推荐安装 Ubuntu20.04。
安装和配置 Python:
(1)打开 Linux 终端。
(2)输入如下命令,查看 python 版本号。
python3 --version
PS:需要使用 python3.7 以上版本,否则参考:系统基础环境搭建。
https://gitee.com/openharmony/docs/blob/OpenHarmony_1.0.1_release/zh-cn/device-dev/quick-start/%E6%90%AD%E5%BB%BA%E7%B3%BB%E7%BB%9F%E5%9F%BA%E7%A1%80%E7%8E%AF%E5%A2%83.md
(3)安装并升级 Python 包管理工具(pip3)。
sudo apt-get install python3-setuptools python3-pip -y
sudo pip3 install --upgrade pip
安装 hb:
(1)运行如下命令安装 hb。
python3 -m pip install --user ohos-build
(2)设置环境变量。
vim ~/.bashrc
将以下命令拷贝到 .bashrc 文件的最后一行,保存并退出。
export PATH=~/.local/bin:$PATH
执行如下命令更新环境变量。
source ~/.bashrc
(3)执行"hb -h",有打印以下信息即表示安装成功。
usage: hb
OHOS build system
positional arguments:
{build,set,env,clean}
build Build source code
set OHOS build settings
env Show OHOS build env
clean Clean output
optional arguments:
-h, --help show this help message and exit
③Hi3861 开发环境准备
在 Linux 编译服务器上搭建好基础开发环境后,需要安装 OpenHarmony 编译 Hi3861 平台特有的开发环境。
安装编译依赖基础软件:
sudo apt-get install -y build-essential gcc g++ make zlib* libffi-dev
安装 Scons:
(1)打开 Linux 终端。
(2)运行如下命令,安装 Scons 安装包。
python3 -m pip install scons
(3)运行如下命令,查看是否安装成功。
scons -v
Scons 安装成功,版本要求 3.0.4 以上。
安装 python 模块:
sudo pip3 install setuptools kconfiglib pycryptodome ecdsa six --upgrade --ignore-installed six
安装 gcc_riscv32(WLAN 模组类编译工具链):
(1)打开 Linux 终端
(2)下载 gcc_riscv32 镜像,下载链接
https://repo.huaweicloud.com/harmonyos/compiler/gcc_riscv32/7.3.0/linux/gcc_riscv32-linux-7.3.0.tar.gz
(3)设置环境变量
将压缩包解压到根目录:
tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~
设置环境变量:
vim ~/.bashrc
将以下命令拷贝到 .bashrc 文件的最后一行,保存并退出:
export PATH=~/gcc_riscv32/bin:$PATH
生效环境变量:
source ~/.bashrc
(4)在命令行中输入如下命令,如果能正确显示编译器版本号,表明编译器安装成功。
riscv32-unknown-elf-gcc -v
④源码下载&编译准备
码云工具下载:
(1)提前注册准备码云 gitee 账号。
(2)git 工具下载安装:sudo apt install git
sudo apt install git-lfs
(3)生成/添加 SSH 密钥:生成密钥(gitee 上绑定的邮箱)
ssh-keygen -t ed25519 -C “xxxxx@xxxxx.com”
查看生成的密钥:
cat ~/.ssh/id_ed25519.pub
复制生成后的 ssh key,返回 gitee 个人主页,通过主页 「个人设置」->「安全设置」->「SSH 公钥」 ,将生成的“SSH 密钥”添加到仓库中。
(4)配置 git 信息:安装 git 客户端并配置用户信息
git config --global user.name “yourname”
git config --global user.email “your-email-address”
git config --global credential.helper store
curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo
chmod a+x /usr/local/bin/repo
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple requests
代码下载:
(1)OpenHarmony 代码下载
#特别注意:请下载OpenHarmony 1.0.1 版本,后续会更新支持OpenHarmony其他版本
mkdir ~/OpenHarmony1.01
cd ~/OpenHarmony1.01
repo init -u git@gitee.com:openharmony/manifest.git -b OpenHarmony_1.0.1_release --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
(2)设备侧代码下载
具体仓库地址:
https://gitee.com/openharmony-sig/knowledge_demo_smart_home/
具体下载命令如下:
git clone git@gitee.com:openharmony-sig/knowledge_demo_smart_home.git --depth=1
(3)编译前准备
代码拷贝:
cp -rfa ~/knowledge_demo_smart_home/dev/device/bearpi ~/OpenHarmony1.01/device/
cp -rfa ~/knowledge_demo_smart_home/dev/team_x ~/OpenHarmony1.01/vendor/
cp -rfa ~/knowledge_demo_smart_home/dev/third_party/iot_link ~/OpenHarmony1.01/third_party/
#### 5、编译&烧录
编译命令:
hb set // 如果是第一次编译,Input code path 命令行中键入"./" 指定OpenHarmony工程编译根目录
- 上一篇: 牛啊!最近很火的 7 个 GitHub 项目
- 下一篇: 模型上下文协议(MCP)快速入门教程
猜你喜欢
- 2024-12-28 深度学习(计算机视觉方向)入门的一些建议
- 2024-12-28 既然敢于炮轰C++,那么Linus的C++编程水平如何呢?
- 2024-12-28 Rider 2020.1 发布,要抢VS饭碗啦!
- 2024-12-28 Spring 替代方案。Solon v3.0.3 发布
- 2024-12-28 「Flutter」分享一些我收藏的优秀示例源码和常用组件
- 2024-12-28 什么是可升级的智能合约?帮你解决合约一旦部署无法更改的问题
- 2024-12-28 CodeQL学习笔记 codeql github
- 2024-12-28 运维太忙?那是你还没掌握 Ansible
- 2024-12-28 YOLO对象检测模型更新无止境—— YOLOv9模型会不会是最终版本
- 2024-12-28 在Linux桌面环境下试用LVGL linux桌面应用用什么编写最好
你 发表评论:
欢迎- 05-16东契奇:DFS训练时喷了我很多垃圾话 我不懂他为什么比赛不这么干
- 05-16这两球很伤!詹姆斯空篮拉杆不中 DFS接里夫斯传球空接也没放进
- 05-16湖人自媒体调查:89%球迷希望DFS回归79%希望詹姆斯回归
- 05-16Shams:湖人得到全能球员DFS 节省了1500万奢侈税&薪金空间更灵活
- 05-16G5湖人胜率更高!詹姆斯不满判罚,DFS谈5人打满下半场:这很艰难
- 05-16DFS:当东契奇进入状态 所有防守者在他面前都像个圆锥桶
- 05-16上一场9中6!DFS:不能让纳兹-里德这样的球员那么轻松地投三分
- 05-16WIDER FACE评测结果出炉:滴滴人脸检测DFS算法获世界第一
- 最近发表
-
- 东契奇:DFS训练时喷了我很多垃圾话 我不懂他为什么比赛不这么干
- 这两球很伤!詹姆斯空篮拉杆不中 DFS接里夫斯传球空接也没放进
- 湖人自媒体调查:89%球迷希望DFS回归79%希望詹姆斯回归
- Shams:湖人得到全能球员DFS 节省了1500万奢侈税&薪金空间更灵活
- G5湖人胜率更高!詹姆斯不满判罚,DFS谈5人打满下半场:这很艰难
- DFS:当东契奇进入状态 所有防守者在他面前都像个圆锥桶
- 上一场9中6!DFS:不能让纳兹-里德这样的球员那么轻松地投三分
- WIDER FACE评测结果出炉:滴滴人脸检测DFS算法获世界第一
- 湖人自媒体调查:89%球迷希望DFS回归 79%希望詹姆斯回归
- 一觉醒来湖人苦盼的纯3D终于到位 DFS能带给紫金军多少帮助
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)