关于harmonyos:成长计划校园极客秀-玩转OpenHarmony开发智能煤气检测系统

38次阅读

共计 5061 个字符,预计需要花费 13 分钟才能阅读完成。

成绩展现

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

  1. 关上 Linux 终端。
  2. 输出如下命令,查看 python 版本号,须要应用 python3.7 以上版本, 否则参考
    https://gitee.com/openharmony…
    python3 –version
  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         
  1. 执行 ”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

  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 模组类编译工具链)

  4. 关上 Linux 终端。
  5. 下载 gcc_riscv32 镜像
    https://repo.huaweicloud.com/…
  6. 设置环境变量
    将压缩包解压到根目录
    tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~
    设置环境变量。
    vim ~/.bashrc
    将以下命令拷贝到.bashrc 文件的最初一行,保留并退出。
    export PATH=~/gcc_riscv32/bin:$PATH
    失效环境变量。
    source ~/.bashrc
  7. 在命令行中输出如下命令,如果能正确显示编译器版本号,表明编译器装置胜利。
       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 选项

  1. 烧录
    编译好的代码在

    关上 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…

正文完
 0