成绩展现
1.整体展现
2.碰一碰无感配网
3.报警
简介
目前,煤气透露给居民生存带来挫伤的事件仍时有发生,但我置信万物互联可能无效防止这种挫伤,于是我基于OpenHarmony设计了一款煤气检测安装。该检测零碎可能实时监测环境中烟雾浓度,当一氧化碳浓度超标时,可能及时向用户收回警报。通过数字管家碰一碰配网络后,配合数字管家利用,用户能够近程配置智能煤气检测零碎的报警阈值,近程接管智能煤气检测零碎报警信息。从而实现对危险及时报警,及时处理,守护居家平安。
1. 交互方式
如下所示,智能煤气检测零碎整体计划框架能够分为:智能煤气检测零碎设施、数字管家利用、云平台三局部。智能煤气检测零碎设施端依照MQTT协定与华为IOT物联网平台进行通信。当智能煤气零碎监测现场一氧化碳浓度发生变化时,设施端上报数据至云平台最终同步到数字管家,当一氧化碳浓度超过阈值时,则会进行报警,并将报警信息也上报至云平台最终同步到数字管家;当用户通过数字管家调整报警零碎阈值时,命令数据先发送至云平台,再由云平台下发至设施侧。
2.下图是更具体的框架图
所需资料
1. 根底环境
由Windows 工作台和Linux 编译服务器组成。Windows 工作台能够通过samba 服务或ssh 形式拜访Linux编译服务器。其中Windows 工作台用来烧录和代码编辑,Linux编译服务器用来编译OpenHarmony代码,为了简化步骤,Linux编译服务器举荐装置Ubuntu20.04。
还需下载
VMware Workstation 16 Player
MobaXterm
RaiDrive
HiBurn
链接:
https://gitee.com/bearpi/bear...
2. 硬件筹备
一氧化碳气体传感器(MQ7)
小熊派bearpi_hm_nano开发底板
预装HarmonyOS手机一台
咱们应用小熊派bearpi_hm_nano开发底板+ MQ7传感器拓展板来模仿智能煤气检测设施。通过ADC接口获取传感器一氧化碳浓度值,通过GPIO管制蜂鸣器进行报警;reset按键管制设施重启;reset按键组合管制按键能够革除已保留的配网信息,具体操作:先按下管制按键F2,而后按下reset按键;通过NFC模块实现设施碰一碰快速配网;
3.连贯形式
小熊派nano 通用底板与一氧化碳气体传感器连贯如实物图所示,具体细节如下:
小熊派nano 通用底板 V3.3 Pin 接一氧化碳气体传感器 VCC Pin;
小熊派nano 通用底板 GND Pin 接一氧化碳气体传感器 GND Pin;
小熊派nano 通用底板 GPIO_13 Pin 接一氧化碳气体传感器 AO Pin;
4.实物图片
配置环境下载源码
环境配置
装置和配置Python
- 关上Linux终端。
- 输出如下命令,查看python版本号,须要应用python3.7以上版本,否则参考
https://gitee.com/openharmony...python3 –version
- 装置并降级Python包管理工具(pip3)。
sudo apt-get install python3-setuptools python3-pip -ysudo pip3 install --upgrade pip
装置hb
- 运行如下命令装置hb
python3 -m pip install --user ohos-build - 设置环境变量
vim ~/.bashrc 将以下命令拷贝到.bashrc文件的最初一行,保留并退出。 export PATH=~/.local/bin:$PATH 执行如下命令更新环境变量。 source ~/.bashrc
- 执行"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
配置3861开发环境筹备
在Linux编译服务器上搭建好根底开发环境后,须要装置OpenHarmony 编译Hi3861 平台特有的开发环境。
装置编译依赖根底软件
sudo apt-get install -y build-essential gcc g++ make zlib* libffi-dev
装置Scons
- 关上Linux 终端。
- 运行如下命令,装置Scons安装包。
python3 -m pip install scons - 运行如下命令,查看是否装置胜利。如果装置胜利,查问后果下图所示。
scons -v
下图 Scons装置胜利界面,版本要求3.0.4以上
装置python模块
sudo pip3 install setuptools kconfiglib pycryptodome ecdsa six --upgrade --ignore-installed six
装置gcc_riscv32(WLAN模组类编译工具链) - 关上Linux终端。
- 下载gcc_riscv32镜像
https://repo.huaweicloud.com/... - 设置环境变量
将压缩包解压到根目录
tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~
设置环境变量。
vim ~/.bashrc
将以下命令拷贝到.bashrc文件的最初一行,保留并退出。
export PATH=~/gcc_riscv32/bin:$PATH
失效环境变量。
source ~/.bashrc - 在命令行中输出如下命令,如果能正确显示编译器版本号,表明编译器装置胜利。
riscv32-unknown-elf-gcc -v
代码下载&编译筹备
1.码云工具下载
curl https://gitee.com/oschina/rep... > /usr/local/bin/repo
chmod a+x /usr/local/bin/repo
pip3 install -i https://pypi.tuna.tsinghua.ed... requests
2.代码下载
OpenHarmony代码下载
特地留神:请下载OpenHarmony 1.0.1 版本,后续会更新反对OpenHarmony其余版本
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'
设施侧代码下载
具体仓库地址:
https://gitee.com/openharmony...
下载方式1:间接下载仓库对应zip 包文件
下载方式2:fork knowledge_demo_smart_home仓库后,应用git 命令下载
git clone git@gitee.com:xxxxxxx/knowledge_demo_smart_home.git // 其中xxxxxxx为fork后相干账号名字。
编译前筹备
代码拷贝
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/
整合并批改实现后的目录构造如下图:
设施端代码编译烧录
1.编译
编译命令:
在OpenHarmony目录下hb set 如果是第一次编译,Input code path 命令行中键入"./" 指定OpenHarmony工程编译根目录后 回车。
如下图所示,应用键盘高低键选中智能煤气检测零碎
build // 如果须要全量编译,能够增加-f 选项
烧录
编译好的代码在
关上smart_co_detection文件能够看到编译好的代码
通过RaiDrive工具将Linux上的文件映射到windows上再通过HiBurn将Hi3861_wifiiot_app_allinone.bin烧录到开发板,将开发板通过Type-c链接到电脑上
鼠标右击此电脑点击设备管理器点击端口查看开发板连贯到电脑上的端口。
关上HiBurn设置端口将COM设置为上一步查看的端口
点击Setting设置参数将Baud设置为115200
点击Select file抉择编译产出的代码
将Hi3861_wifiiot_app_allinone.bin烧录到开发板点击Auto burn点击Connect后点击开发板的reset按键期待烧录实现即可搭建数字管家服务
1.筹备部署环境
Ubuntu18.04.4
Mysql5.7
https://blog.csdn.net/goog_ma...
RabbitMQ:
https://blog.csdn.net/weixin_...
Maven3.6.3:ubuntu18.04装置Maven教程_也耶的博客-CSDN博客_ubuntu18装置maven
Jdk8 :sudo apt-get install openjdk-8-jdk
2.申请华为云AK/Sk
https://activity.huaweicloud....
登录华为云→点击控制台→我的凭证→拜访密钥→新增拜访密钥
3. 获取APPID
设施接入→资源空间→APPID
4. 创立产品
创立好产品后点击查看再点击自定义模型
具体配置内容查看
https://gitee.com/openharmony...
5. 增加规定
6. 预置AMQP
7. 关上数字管家批改配置文件
server\distschedule-core\src\main\resources\application-local.properties
8. 增加sql文件server\distschedule-dao\src\main\resources\db\migration
在开端增加(数据库V1__CreateTables)增加内容
INSERT INTO device_type (name
,name_en
,service_id
,product_id
,category
)
values ('一氧化碳气体报警器', 'coSensation', 'SmartCoSensation', '61de758bc7fb24029b0be6f0', 3);
9. 编译
进入目录
cd knowledge_demo_smart_home/Server
mvn clean package -Dmaven.test.skip=true
可执行的jar包在
knowledge_demo_smart_home/Server/distschedule-core/target/distschedule-core-1.0.0-SNAPSHOT.jar
10. 启动服务
通过环境变量激活local profile
export SPRING_PROFILES_ACTIVE=local # 激活local
启动命令(依据本人虚拟机上的目录批改,应用绝对路径)
java -jar /opt/distschedule-core-1.0.0-SNAPSHOT.jar --spring.profiles.active=local
11. 查看是否胜利
胜利拜访上面网址即可
http://127.0.0.1:8080/distsch...
数字管家应用程序真机运行,碰一碰无感配网
https://gitee.com/openharmony...
总结
该我的项目主题来自OpenHarmony开源开发者成长打算。整个过程还是比较复杂,须要设施端代码的编写,FA侧代码的实现,华为云配置,以及数字管家服务端搭建。在这个过程中我接触到很多新的知识点,例如碰一碰疾速配置网络,真机上的运行,以及体验到华为云相干操作等等。OpenHarmony将来仍须要许多开发者来共建,让咱们为推动OpenHarmony的倒退一起致力加油!
OpenHarmony开源地址:
https://gitee.com/openharmony...
该我的项目开源地址:
https://gitee.com/openharmony...