成果展现
1.整体展现
2.碰一碰无感配网
3.报警
简介
目前,煤气走漏给居民生活带来损伤的工作仍时有发生,但我信任万物互联可以有用防止这种损伤,所以我基于OpenHarmony规划了一款煤气检测设备。该检测体系可以实时监测环境中烟雾浓度,当一氧化碳浓度超标时,可以及时向用户宣布警报。经过数字管家碰一碰配网络后,配合数字管家应用,用户可以长途装备智能煤气检测体系的报警阈值,长途接收智能煤气检测体系报警信息。然后完成对风险及时报警,及时处理,守护居家安全。
- 交互方法
如下所示,智能煤气检测体系整体计划框架可以分为:智能煤气检测体系设备、数字管家应用、云渠道三部分。智能煤气检测体系设备端依照MQTT协议与华为IOT物联网渠道进行通讯。当智能煤气体系监测现场一氧化碳浓度发生变化时,设备端上报数据至云渠道终究同步到数字管家,当一氧化碳浓度超过阈值时,则会进行报警,并将报警信息也上报至云渠道终究同步到数字管家;当用户经过数字管家调整报警体系阈值时,指令数据先发送至云渠道,再由云渠道下发至设备侧。
2.下图是更详细的框架图
所需资料
- 根底环境
由Windows 工作台和Linux 编译服务器组成。Windows 工作台可以经过samba 服务或ssh 方法拜访Linux编译服务器。其间Windows 工作台用来烧录和代码编辑,Linux编译服务器用来编译OpenHarmony代码,为了简化步骤,Linux编译服务器引荐装置Ubuntu20.04。
还需下载
VMware Workstation 16 Player
MobaXterm
RaiDrive
HiBurn
链接:
gitee.com/bearpi/bear…
- 硬件预备
一氧化碳气体传感器(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以上版别undefined否则参考
gitee.com/openharmony…
python3 –version
- 装置并晋级Python包管理东西(pip3)。
sudo apt-get install python3-setuptools python3-pip -y
sudo 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:
{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
-
翻开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镜像
repo.huaweicloud.com/harmonyos/c…
- 设置环境变量
将压缩包解压到根目录
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 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/
整合并修正完成后的目录结构如下图:
设备端代码编译烧录
1.编译
编译指令:
在OpenHarmony目录下hb set 如果是第一次编译,Input code path 指令行中键入”./” 指定OpenHarmony工程编译根目录后 回车。
如下图所示,运用键盘上下键选中智能煤气检测体系
hb 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
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…
登录华为云→点击操控台→我的凭证→拜访密钥→新增拜访密钥
- 获取APPID
设备接入→资源空间→APPID
- 创建产品
创建好产品后点击检查再点击自定义模型
详细装备内容检查
gitee.com/openharmony…
- 增加规矩
- 预置AMQP
- 翻开数字管家修正装备文件
server\distschedule-core\src\main\resources\application-local.properties
- 增加sql文件server\distschedule-dao\src\main\resources\db\migration
在末尾增加(数据库V1__CreateTables)增加内容
INSERT INTO device_type (name
undefined name_en
undefined service_id
undefined product_id
undefined category
)
values (‘一氧化碳气体报警器’undefined ‘coSensation’undefined ‘SmartCoSensation’undefined ’61de758bc7fb24029b0be6f0’undefined 3);
- 编译
进入目录
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
- 启动服务
经过环境变量激活local profile
export SPRING_PROFILES_ACTIVE=local # 激活local
启动指令(依据自己虚拟机上的目录修正,运用绝对路径)
java -jar /opt/distschedule-core-1.0.0-SNAPSHOT.jar –spring.profiles.active=local
- 检查是否成功
成功拜访下面网址即可
http://127.0.0.1:8080/distschedule-api/swagger-ui/index.html
数字管家应用程序真机运转,碰一碰无感配网
gitee.com/openharmony…
总结
该项目主题来自OpenHarmony开源开发者生长计划。整个进程还是比较复杂,需求设备端代码的编写,FA侧代码的完成,华为云装备,以及数字管家服务端建立。在这个进程中我接触到很多新的知识点,例如碰一碰快速装备网络,真机上的运转,以及体验到华为云相关操作等等。OpenHarmony未来仍需求许多开发者来共建,让我们为推进OpenHarmony的开展一起努力加油!
OpenHarmony开源地址:
gitee.com/openharmony…
该项目开源地址:
gitee.com/openharmony…