智能语音垃圾桶开发.md 5.2 KB

智能语音分类垃圾桶开发

​ 基于OpenHarmony 开发的语音识别分类垃圾桶,其中主要包括语音识别模块、容量检测模块,IoT云控制模块,无线配网模块这四个模块。

​ 功能:使用一级命令“你好,垃圾桶”,然后说出二级命令“可回收垃圾”、“不可回收垃圾”、“厨余回收垃圾”、“其他回收垃圾”识别后,打开对应的垃圾桶盖等待10秒后,桶盖自动关闭;还可以通过数字管家查看垃圾桶容量,对语音分类垃圾桶进行控制,让垃圾回收处理变得不再繁琐,回收人员只需要将对应的垃圾箱里的垃圾拿出即可。有效的减少了垃圾分类的工作量,给社会带来了很大的便捷。

framwork

智能语音分类垃圾桶通过MQTT协议连接华为IOT物联网平台,从而实现命令的接收和属性上报。智能设备同数字管家应用之间的设备模型定义可以参考profile

一、建立开发环境

1、 需要下载虚拟机VMware和Ubuntu20.0.14
2、 安装vm完成后打开vm,点击创建新的虚拟机

new_vmware

3、选择典型点击下一步,选择下载的Ubuntu,点击下一步,创建完成后,虚拟机会自动安装Ubuntu

choose_Ubuntu

4、安装完成后,获取Openharmony源码可参考

​ 链接:获取源码-入门-HarmonyOS设备开发

5、安装编译工具
(1)安装Node.js

打开Ubuntu终端输入命令安装:

sudo apt-get install nodejs
sudo apt-get install npm
node --version   //查看nodejs版本
npm --version    //查看npm版本
(2)安装Python编译环境
sudo apt-get install python3.8
sudo apt-get install python3-pip
sudo pip3 install setuptools
sudo pip3 install kconfiglib 
sudo pip3 install pycryptodome
sudo pip3 install six --upgrade --ignore-installed six
sudo pip3 install ecdsa
(3) 安装SCons
python3 -m pip install scons

scons -v   //查看版本

如图:scons_V

(4)安装hb工具 代码测试
python3 -m pip install --user ohos-build

vim ~/.bashrc              				//设置环境变量

export PATH=~/.local/bin:$PATH    		//将以下命令拷贝到.bashrc文件的最后一行,保存并退出

source ~/.bashrc						//更新环境变量

​ 执行"hb -h",有打印以下信息即表示安装成功.

hb

(5) 安装gcc_riscv32

下载gcc_riscv32镜像

设置环境变量

将压缩包解压到根目录

tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~    //文件名需要与下载的文件相匹配

设置环境变量。

vim ~/.bashrc              				//设置环境变量

export PATH=~/gcc_riscv32/bin:$PATH		//将以下命令拷贝到.bashrc文件的最后一行,保存并退出

source ~/.bashrc						//更新环境变量

riscv32-unknown-elf-gcc -v				//显示版本号,则安装成功
6、修改usr_config.mk 文件

文件在Open Harmony源码目录下device/hisilicon/hispark_pegasus/sdk_liteos/build/config/usr_config.mk

CONFIG_I2C_SUPPORT=y
CONFIG_PWM_SUPPORT=y
7、修改wifiservice 文件夹

文件在Open Harmony源码目录下device/hisilicon/hispark_pegasus/hi3861_adapter/hals/communication/wifi_lite/wifiservice/source/wifi_hotspot.c

EnableHotspot函数中屏蔽如下字段
     //if (SetHotspotIpConfig() != WIFI_SUCCESS) {
     //    return ERROR_WIFI_UNKNOWN;
     //}

地址:device/hisilicon/hispark_pegasus/hi3861_adapter/hals/communication/wifi_lite/wifiservice/source/wifi_device.c

DispatchConnectEvent函数下 屏蔽StaSetWifiNetConfig相关代码行
      //StaSetWifiNetConfig(HI_WIFI_EVT_CONNECTED);
      //StaSetWifiNetConfig(HI_WIFI_EVT_DISCONNECTED);

三、设备端代码的编写

【点击查看】

二、应用端代码的编写

【点击查看】