鸿蒙开发往期必看:
一分钟了解”纯血版!鸿蒙HarmonyOS Next应用开发!
“非常详细的” 鸿蒙HarmonyOS Next应用开发学习路线!(从零基础入门到精通)
“一杯冰美式的时间” 了解鸿蒙HarmonyOS Next应用开发路径!
样例简介
智能门铃通过监控来访者信息,告诉主人门外是否有人按铃、有陌生人靠近或者无人状态。主人可以在数字管家中远程接收消息,并根据需要进行远程取消报警和一键开锁。同时,也可以通过室内屏幕获取门外状态。室内屏幕显示界面使用DevEco Studio 编写的js应用,具有很好的兼容和移植特性。硬件上采用了带有HDF框架的驱动模型,通过GPIO来获取传感器采集信息并驱动报警器进行动作。
运行效果
样例原理
如上图所示,智能门铃整体方案原理图可以大致分成:智能门铃设备、数字管家应用、云平台三部分。智能门铃通过MQTT协议连接华为IOT物联网平台,从而实现命令的接收和属性上报。 关于智能设备接入华为云IoT平台的细节可以参考 连接IOT云平台指南;智能设备同数字管家应用之间的设备模型定义可以参考profile 。
工程版本
-
系统版本/API版本:OpenHarmony 3.1 Beta
-
hb版本:0.4.4
-
工具链版本:gcc-arm-none-eabi-10.3-2021.10
快速上手
准备硬件环境
-
欧智通V200Z-R开发板
-
润和智能家居套件-红绿灯板
-
润和智能家居套件-炫彩灯板
-
预装HarmonyOS手机一台
注:HarmonyOS是华为基于开源项目OpenHarmony开发的面向多种全场景智能设备的商用版本
准备开发环境
安装必备软件
开发基础环境由 windows 工作台和 Linux 编译服务器组成。windows 工作台可以通过 samba 服务或 ssh 方式访问 Linux编译服务器。其中 windows 工作台用来烧录和代码编辑,Linux 编译服务器用来编译 OpenHarmony 代码,为了简化步骤,Linux 编译服务器推荐安装 Ubuntu20.04。
安装编译依赖基础软件
sudo apt-get install -y build-essential gcc g++ make zlib* libffi-dev git git-lfs
安装和配置Python
-
打开Linux终端。
-
输入如下命令,查看python版本号,需要使用python3.7以上版本。
python3 --version
- 安装并升级Python包管理工具(pip3)。
sudo apt-get install python3-setuptools python3-pip -y
sudo pip3 install --upgrade pip
- 设置pip的国内镜像
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple requests
安装hb
- 输入如下命令确认hb是否为version 0.4.4
hb -v
a. 若提示如下内容,则表示未安装可以从第2步开始操作。
bash: /home/***/.local/bin/hb: No such file or directory
b.若提示如下内容,需要先卸载该版本,然后再执行第2步操作步骤。
[OHOS INFO] hb version 0.4.3
卸载命令:
pip3 uninstall ohos-build
- 运行如下命令安装hb
pip3 install build/lite // 该命令需在OpenHarmony源码根目录下执行
- 设置环境变量
vim ~/.bashrc
将以下命令拷贝到.bashrc文件的最后一行,保存并退出。
export PATH=~/.local/bin:PATH
执行如下命令更新环境变量。
source ~/.bashrc
- 再次执行”hb -v“,有以下版本显示则表示安装的hb版本正确。
[OHOS INFO] hb version 0.4.4
安装交叉编译环境
在Linux编译服务器上搭建好基础开发环境后,需要安装OpenHarmony 编译V200Z-R平台特有的开发环境。
安装arm-none-eabi-gcc
-
打开Linux终端。
-
下载arm-none-eabi-gcc编译工具。
解压 gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 安装包至~/toolchain/路径下。
mkdir -p ~/toolchain/
tar -jxvf gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 -C ~/toolchain/
设置环境变量。
vim ~/.bashrc
将以下命令拷贝到.bashrc文件的最后一行,保存