成果展现

1.整体展现

成长计划校园极客秀 | 玩转OpenHarmony开发智能煤气检测系统

2.碰一碰无感配网

成长计划校园极客秀 | 玩转OpenHarmony开发智能煤气检测系统

3.报警

成长计划校园极客秀 | 玩转OpenHarmony开发智能煤气检测系统

简介

目前,煤气走漏给居民生活带来损伤的工作仍时有发生,但我信任万物互联可以有用防止这种损伤,所以我基于OpenHarmony规划了一款煤气检测设备。该检测体系可以实时监测环境中烟雾浓度,当一氧化碳浓度超标时,可以及时向用户宣布警报。经过数字管家碰一碰配网络后,配合数字管家应用,用户可以长途装备智能煤气检测体系的报警阈值,长途接收智能煤气检测体系报警信息。然后完成对风险及时报警,及时处理,守护居家安全。

  1. 交互方法

如下所示,智能煤气检测体系整体计划框架可以分为:智能煤气检测体系设备、数字管家应用、云渠道三部分。智能煤气检测体系设备端依照MQTT协议与华为IOT物联网渠道进行通讯。当智能煤气体系监测现场一氧化碳浓度发生变化时,设备端上报数据至云渠道终究同步到数字管家,当一氧化碳浓度超过阈值时,则会进行报警,并将报警信息也上报至云渠道终究同步到数字管家;当用户经过数字管家调整报警体系阈值时,指令数据先发送至云渠道,再由云渠道下发至设备侧。

成长计划校园极客秀 | 玩转OpenHarmony开发智能煤气检测系统

2.下图是更详细的框架图

成长计划校园极客秀 | 玩转OpenHarmony开发智能煤气检测系统

所需资料

  1. 根底环境

由Windows 工作台和Linux 编译服务器组成。Windows 工作台可以经过samba 服务或ssh 方法拜访Linux编译服务器。其间Windows 工作台用来烧录和代码编辑,Linux编译服务器用来编译OpenHarmony代码,为了简化步骤,Linux编译服务器引荐装置Ubuntu20.04。

还需下载

VMware Workstation 16 Player

MobaXterm

RaiDrive

HiBurn

链接:

gitee.com/bearpi/bear…

  1. 硬件预备

一氧化碳气体传感器(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.实物图片

成长计划校园极客秀 | 玩转OpenHarmony开发智能煤气检测系统

装备环境下载源码

环境装备

装置和装备Python

  1. 翻开Linux终端。

  2. 输入如下指令,检查python版别号,需求运用python3.7以上版别undefined否则参考

gitee.com/openharmony…

python3 –version
  1. 装置并晋级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

  1. 设置环境变量
   vim ~/.bashrc
   将以下指令复制到.bashrc文件的最后一行,保存并退出。
   export PATH=~/.local/bin:$PATH
   履行如下指令更新环境变量。
   source ~/.bashrc                    
  1. 履行”hb -h”,有打印以下信息即表示装置成功.
   usage: hb
   OHOS build system
   positional arguments:
     {buildundefinedsetundefinedenvundefinedclean}
       build               Build source code
       set                 OHOS build settings
       env                 Show OHOS build env
       clean               Clean output
   optional arguments:
     -hundefined --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

  1. 翻开Linux 终端。

  2. 运转如下指令,装置Scons装置包。

python3 -m pip install scons

  1. 运转如下指令,检查是否装置成功。如果装置成功,查询结果下图所示。

scons -v

下图 Scons装置成功界面,版别要求3.0.4以上

成长计划校园极客秀 | 玩转OpenHarmony开发智能煤气检测系统

装置python模块

sudo pip3 install setuptools kconfiglib pycryptodome ecdsa six –upgrade –ignore-installed six

装置gcc_riscv32(WLAN模组类编译东西链)

  1. 翻开Linux终端。

  2. 下载gcc_riscv32镜像

repo.huaweicloud.com/harmonyos/c…

  1. 设置环境变量

将压缩包解压到根目录

tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~

设置环境变量。

vim ~/.bashrc

将以下指令复制到.bashrc文件的最后一行,保存并退出。

export PATH=~/gcc_riscv32/bin:$PATH

生效环境变量。

source ~/.bashrc

  1. 在指令行中输入如下指令,如果能正确显示编译器版别号,表明编译器装置成功。

riscv32-unknown-elf-gcc -v

代码下载&编译预备

1.码云东西下载

curl gitee.com/oschina/rep… > /usr/local/bin/repo

chmod a+x /usr/local/bin/repo

pip3 install -i pypi.tuna.tsinghua.edu.cn/simple 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’

设备侧代码下载

详细库房地址:

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/                   

整合并修正完成后的目录结构如下图:

成长计划校园极客秀 | 玩转OpenHarmony开发智能煤气检测系统

设备端代码编译烧录

1.编译

编译指令:

在OpenHarmony目录下hb set 如果是第一次编译,Input code path 指令行中键入”./” 指定OpenHarmony工程编译根目录后 回车。

如下图所示,运用键盘上下键选中智能煤气检测体系

成长计划校园极客秀 | 玩转OpenHarmony开发智能煤气检测系统

hb build // 如果需求全量编译,可以增加-f 选项
  1. 烧录

编译好的代码在

翻开smart_co_detection文件可以看到编译好的代码

成长计划校园极客秀 | 玩转OpenHarmony开发智能煤气检测系统

经过RaiDrive东西将Linux上的文件映射到windows上再经过HiBurn将Hi3861_wifiiot_app_allinone.bin烧录到开发板,将开发板经过Type-c链接到电脑

鼠标右击此电脑点击设备管理器点击端口检查开发板衔接到电脑上的端口。

成长计划校园极客秀 | 玩转OpenHarmony开发智能煤气检测系统

翻开HiBurn设置端口将COM设置为上一步检查的端口

成长计划校园极客秀 | 玩转OpenHarmony开发智能煤气检测系统

点击Setting设置参数将Baud设置为115200

成长计划校园极客秀 | 玩转OpenHarmony开发智能煤气检测系统

点击Select file选择编译产出的代码

将Hi3861_wifiiot_app_allinone.bin烧录到开发板点击Auto burn点击Connect后点击开发板的reset按键等候烧录完成即可

成长计划校园极客秀 | 玩转OpenHarmony开发智能煤气检测系统

建立数字管家服务

1.预备部署环境

Ubuntu18.04.4

Mysql5.7

blog.csdn.net/goog_man/ar…

RabbitMQ:

blog.csdn.net/weixin_3382…

Maven3.6.3:ubuntu18.04装置Maven教程_也耶的博客-CSDN博客_ubuntu18装置maven

Jdk8 :sudo apt-get install openjdk-8-jdk

2.请求华为云AK/Sk

activity.huaweicloud.com/newyear_pro…

登录华为云→点击操控台→我的凭证→拜访密钥→新增拜访密钥

成长计划校园极客秀 | 玩转OpenHarmony开发智能煤气检测系统
成长计划校园极客秀 | 玩转OpenHarmony开发智能煤气检测系统

  1. 获取APPID

设备接入→资源空间→APPID

成长计划校园极客秀 | 玩转OpenHarmony开发智能煤气检测系统

  1. 创建产品

成长计划校园极客秀 | 玩转OpenHarmony开发智能煤气检测系统
成长计划校园极客秀 | 玩转OpenHarmony开发智能煤气检测系统

创建好产品后点击检查再点击自定义模型

成长计划校园极客秀 | 玩转OpenHarmony开发智能煤气检测系统

详细装备内容检查

gitee.com/openharmony…

  1. 增加规矩

成长计划校园极客秀 | 玩转OpenHarmony开发智能煤气检测系统

  1. 预置AMQP

成长计划校园极客秀 | 玩转OpenHarmony开发智能煤气检测系统
成长计划校园极客秀 | 玩转OpenHarmony开发智能煤气检测系统

  1. 翻开数字管家修正装备文件

server\distschedule-core\src\main\resources\application-local.properties

成长计划校园极客秀 | 玩转OpenHarmony开发智能煤气检测系统

  1. 增加sql文件server\distschedule-dao\src\main\resources\db\migration

在末尾增加(数据库V1__CreateTables)增加内容

INSERT INTO device_type (nameundefined name_enundefined service_idundefined product_idundefined category)

values (‘一氧化碳气体报警器’undefined ‘coSensation’undefined ‘SmartCoSensation’undefined ’61de758bc7fb24029b0be6f0’undefined 3);

  1. 编译

进入目录

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

  1. 启动服务

经过环境变量激活local profile

export SPRING_PROFILES_ACTIVE=local # 激活local

启动指令(依据自己虚拟机上的目录修正,运用绝对路径)

java -jar /opt/distschedule-core-1.0.0-SNAPSHOT.jar –spring.profiles.active=local

  1. 检查是否成功

成功拜访下面网址即可

http://127.0.0.1:8080/distschedule-api/swagger-ui/index.html

成长计划校园极客秀 | 玩转OpenHarmony开发智能煤气检测系统

数字管家应用程序真机运转,碰一碰无感配网

gitee.com/openharmony…

总结

该项目主题来自OpenHarmony开源开发者生长计划。整个进程还是比较复杂,需求设备端代码的编写,FA侧代码的完成,华为云装备,以及数字管家服务端建立。在这个进程中我接触到很多新的知识点,例如碰一碰快速装备网络,真机上的运转,以及体验到华为云相关操作等等。OpenHarmony未来仍需求许多开发者来共建,让我们为推进OpenHarmony的开展一起努力加油!

OpenHarmony开源地址:

gitee.com/openharmony…

该项目开源地址:

gitee.com/openharmony…

成长计划校园极客秀 | 玩转OpenHarmony开发智能煤气检测系统