基于鸿蒙OpenHarmony的语音识别控制系统设计与实现

2023-09-06 12:50:56王浩
软件工程 2023年9期
关键词:语音识别智能家居

王浩

关键词:OpenHarmony;语音识别;智能家居

中图分类号:TP323 文献标志码:A

0 引言(Introduction)

随着鸿蒙OpenHarmony开源操作系统和智能语音技术的飞速发展,基于鸿蒙OpenHarmony操作系统的智能家居产业对家庭内部智能化控制开发和应用不断加大力度。OpenHarmony采用开源的方式实现一个面向全场景、全连接和全智能的终端设备操作系统的框架和平台,可以支持各类设备的系统。为了能适应各种硬件,OpenHarmony提供了如LiteOS、Linux的不同内核,并基于这些内核形成不同的系统类型,其中包括面向MCU类处理器的轻量级操作系统,主要采用LiteOS-M 内核,它是面向IoT领域构建的轻量级物联网操作系统内核,具有小体积、低功耗、高性能的特点[1]。这种轻量级操作系统的代码结构简单,主要包括内核最小功能集、内核抽象层、可选组件以及工程目录等,同时在这些系统中构建了一套统一的系统能力[2]。本文提出一个基于 Hi3861V100核心处理器的Hi-12F模块,搭载鸿蒙OpenHarmony轻量级操作系统,通过串口方式连接低功耗高性能的ASRPRO语音识别模组,快速实现语音交互及控制方案。通过将语音识别技术应用于智能家居系统中,能极大地方便用户对家中电器设备的控制,创造更加舒适的家庭生活。

1 总体设计(Overall design)

本系统主要由Hi-12F通信模组、ASRPRO 语音识别模组、TTL转USB串口模块、风扇控制模块、MIC麦克风模块和扬声器模块组成,其中Hi-12F通信模组和ASRPRO语音识别模组通过串口通信完成数据交互和数据处理。首先,ASRPRO语音识别模组通过麦克风模块采集用户发出的语音控制风扇设备命令,在对声音进行分析后能从“命令列表”匹配出最接近的命令,通过扬声器模块提示用户已识别语音命令,接着进行语音识别转换处理,将每条语音指令转换成对应的文本字符串,以此达到语音识别的功能。其次,通过串口将风扇控制命令的字符串发送给Hi-12F通信模组,Hi-12F通信模组搭载鸿蒙OpenHarmony轻量级操作系统之后,通过应用层串口通信函数接收控制风扇命令字符串,对连接Hi-12F通信模组IO引脚的风扇设备进行控制,实现对风扇的开启或者关闭功能,系统的整体架构如图1所示。

2 系统的硬件设计(Hardware design of the system)

2.1 鸿蒙OpenHarmony硬件设计

对于能搭载和支持鸿蒙OpenHarmony轻量级操作系统的硬件电路主要是面向MCU类处理器,例如Arm Cortex-M、RISC-V 32位的设备,其硬件资源极其有限,支持的设备最小内存为128 kB,并可以提供多种轻量级网络协议、轻量级的图形框架以及丰富的IOT总线读写部件等[3]。本文采用Hi-12F通信模组,该模组已获得了鸿蒙HarmonyOS Connect的生态模组技术认证,可以快速地将智能产品接入华为鸿蒙生态,以便帮助开发者提供开放、易用的开发和调试运行环境。

Hi-12F模块搭载Hi3861V100核心处理器芯片,该芯片是一款高度集成的2.4 GHz 低功耗SoC WiFi芯片,集成IEEE802.11b/g/n基带和射频(Radio Frequency,RF)电路。Hi-12F模块的Hi3861V100芯片同时集成高性能32 bit微处理器、硬件安全引擎以及丰富的外设接口,外设接口包括SPI、UART、I2C、PWM、GPIO和多路ADC芯片,同时支持高速SDIO2.0Slave接口,最高时钟可达50 MHz[4];芯片内置静态随机存取存储器(Static Random-Access Memory, SRAM)和闪存(FlashMemory),可独立运行,并支持在 Flash Memory上运行程序[5]。IO03引脚和IO04引脚分别连接到USB转串口模块(CH340C模块)的RX引脚和TX引脚,一旦按下PWR引脚上的按键,就可以将PC端的OpenHarmony輕量级操作系统编译完成的bin文件通过D+引脚和D-引脚传输到CH340C模块,并最终通过TX串口和RX串口方式下载至Hi3861模块中的Hi3861V100芯片的Flash Memory中。

2.2 风扇控制设计

为了能够通过OpenHarmony硬件电路驱动大功率的风扇设备运行,需要将OpenHarmony硬件电路模块的GPIO2引脚与直流电机L9110S驱动芯片相连,L9110S芯片内部集成“H”桥电路,是一个可以直接驱动直流有刷电机的芯片,VCC电源电压工作在2.2~6.5 V,输出的电流最大支持200 mA。本文只需要将风扇的两端连接芯片的OA引脚和OB引脚,它的两个输出端能直接驱动直流风扇电机的运行和停止。

2.3 语音识别采集模块设计

语音识别采集模块选用ASRPRO语音识别芯片,它是针对低成本离线语音应用方案开发的一款通用、便携、低功耗高性能的语音识别模组,其内置神经网络处理器,能支持DNN、TDNN及RNN等神经网络及卷积运算,具备强劲的回声消除和环境噪声抑制能力,模块主芯片支持离线神经网络计算,ASRPRO语音识别模组的MIC+引脚和MIC-引脚连接麦克风模块进行语音数据采集,并将语音数据经过内置神经网络处理器进行卷积运算,实现语音识别转换为文本字符串,ASRPRO 语音识别模组的PA6 和PA5 分别连接OpenHarmony硬件电路中的IO06引脚和IO05引脚,实现将文本字符串通过串口发送至Hi-12F模块,并最终完成对风扇的控制功能。

3 系统的软件设计(Software design of the system)

3.1 OpenHarmony 轻量级操作系统应用开发环境搭建

首先,系统采用虚拟机环境下基于Linux环境的Ubuntu操作系统作为编译服务器,而应用层的功能代码编写需要在Windows环境下的VSCode编辑器中进行,因此需要将获取的鸿蒙OpenHarmony轻量级操作系统源码通过共享文件夹方式映射到Windows平台上进行编写[6]。其次,将VSCode编辑器中编辑完成的功能代码映射回虚拟机环境下的Ubuntu进行编译,编译成功之后会生成.bin的二进制文件。最后,使用华为海思Hi3861芯片的专用烧写工具HiBurn,通过串口方式烧写至Hi-12F模块中,OpenHarmony轻量级操作系统应用开发流程如图2所示。一旦OpenHarmony轻量级操作系统镜像烧写完成后,按下Hi-12F 模块的复位键就可以启动OpenHarmony轻量级操作系统运行,并可以通过PC端串口调试助手与OpenHarmony硬件电路进行串口通信。

这里的鸿蒙OpenHarmony轻量级操作系统是按照“系统(子系统集)—子系统(Subsystem)—组件/模块(Component)”逐次展开的,其中一个组件/模块(Component)也可以进一步分成若干个Feature[11]。本文中,由源程序uart_example.c生成的静态库B6_YUYIN_uart就被作为一个feature加入名为app的Component 中,app 的Component 又是在子系统applications中。BUILD.gn文件内容帮助编译构建子系统对一个模块的构建[12]。

4 系统测试(System testing)

当系统软硬件设计完成后,首先将硬件模块组装集成后放置在家居环境中,给系统上电,这时可以通过ASRPRO语音识别模组连接的MIC麦克风进行语音数据采集;其次通过语音识别转换成对应的控制风扇的字符串命令数据,以串口方式将数据传输至包含OpenHarmony轻量级操作系统的Hi-12F模块中;最后通过GPIO02引脚完成高低电平的控制,实现对风扇的转动和停止操作。

5 结论(Conclusion)

本文设计了一種基于鸿蒙Openharmony的语音识别风扇控制系统,该系统以Hi-12F模块搭载华为海思Hi3861V100核心处理器芯片作为核心设计,通过构建和编程OpenHarmony语音识别控制工程中应用层功能代码以及编写BUILD.gn文件,指示编译构建子系统构建一个Feature,以及将Feature加入Component中构建一个新的Component[13]。把Component加入Subsystem中,让Subsystem参与整个鸿蒙系统的构建,实现了与ASRPRO语音识别模组的数据交互,达到了精准的语音识别控制功能,发挥了鸿蒙国产操作系统的技术特点和优势,解决了目前智能家居中普遍存在的安全性和效率低及舒适性差的问题,为用户带来全新的智能家居控制新体验。

作者简介:

王 浩(1971-),男,硕士,副教授。研究领域:物联网工程应用研究。

猜你喜欢
语音识别智能家居
基于PLC的智能家居控制系统研究
电子制作(2019年20期)2019-12-04 03:51:14
智能家居发展或将实现弯道超车
通话中的语音识别技术
面向移动终端的语音签到系统
关于智能家居真正需求的探讨
工业设计(2016年10期)2016-04-16 02:44:05
农业物联网平台手机秘书功能分析与实现
物联网技术(2015年9期)2015-09-22 09:34:29
智能家居的发展趋势分析
移动通信(2015年17期)2015-08-24 08:13:20
基于LD3320的非特定人识别声控灯系统设计
基于语音识别的万能遥控器的设计
基于Android手机语音和Arduino控制板的机器人控制系统
物联网技术(2015年3期)2015-03-31 15:03:32