陶志豪 赵 婧 邢世波 孙 唯

(西京学院,陕西 西安710123)

1 单片机的选择

STM32F103xx采用高性能ARM。 其工作频率可达到72MHz,flash 闪存高达128 千字节和SRAM高达20 千字节,可外接FIFO 模块优化存储器的读写能力,广泛范围的增强I/O和外围设备连接到两个APB总线。所有设备提供两个12 位adc,三个通用16 位定时器加一个pwm 计时器:三个USARTs,一个USB和一个CAN。

STM32F103xx 中等密度性能线系列包括六种不同封装类型的设备:从36 个引脚到100 个引脚。这些特性使STM32F103xx 中等密度性能线微控制器系列适用于广泛地应用。

本系统组成主要由五部分组成:

a. ESP8266+云网络+手机App 控制

b. LD3320 语音识别模块处理信息

c. 以STM32F103C8T6 组成的中央处理单元:处理信号并发出控制命令;

d. 得到指令,通过单片机进行数据处理然后通过外围元器件开开启关闭风扇等。

e.DHT11 温湿度传感器,BH1750 光强传感器读取周围环境信息,MCU处理信息自动模式下自动控制灯风扇空调的开关(图1)。

1.1 LD3320 芯片是目前市面上最常见的“语音识别”专用芯片之一

其性能强大,成本低廉,最重要的是整体框架已经搭好,不需要使用者去二次设计开发,只要编辑指令即可。该芯片已经为用户设计好了相关外部电路好和语音识别单元,其中包含模拟电路、数字电路转换模块、麦克风接口、声音输出接口等。其强大的节能优化计算处理能力深受设计者的欢迎,最主要的是这一些小范围识别的场合下,完全不需要外接任何的辅助芯片如Flash、RAM,直接集成在现有的产品中即可以实现语音识别/声控/人机对话功能。

通过芯片自身的优化算法,对不同的语音指令进行识别。其容错率高,识别范围宽无需使用者可以训练普通话。一般的使用情况下其自身拥有的指令存储深度和读取速度优良,无需外接SRAM模块和FLASH 模块,就可以完成语音识别功能。常见的LD3320 模块最多可以设置50 项候选识别句,如果需要更大的存储范围,可以外接存储模块进行语音指令的扩展。其识别句内容可以动态编辑修改,使用场合及其广泛。

图1 智能家居系统框架图

芯片内部分别准备了16 位模数电转换器、16 位数模电转换器,运放芯片,带连接器可拆卸麦克风、芯片管脚外接耳机接口和喇叭的连接排座,支持热插拔。为了达到喇叭和耳机的输出功率,电路中设计下拉电阻降低带负载能力,既能保护电路,又能保证正常输出。

支持并行和串行接口两种模式,串行连接的线路简单,其传输速率完全能达到该设计的需求。

常用的3.3v供电模式,既能保证输出,又能节能减排。

1.2 ESP8266

ESP8266 是一款超低功耗32 位微型MCU,主频支持80 MHz -160 MHz,支持RTOS,集成Wi-Fi MAC/ BB/RF/PA/LNA,板载天线。该模块支持标准的IEEE802.11 b/g/n 协议,完整的TCP/IP 协议栈。

ESP8266 负责无线上网接入承担Wi-Fi 适配器的任务时,只需通过SPI/SDIO接口或I2C/UART口连接即可。本设计中用到的系统功能有:睡眠/唤醒模式的快速切换功能及相关、配合低功率操作的自适应无线电偏置、前端信号的处理功能及相关、故障排除和无线电系统共存特性功能,消除蜂窝/蓝牙/DDR/LVDS/LCD 干扰功能。

1.3 步进电机

ULN2003 是高耐压、大电流达林顿陈列的芯片。每对达林顿与一个2.7k 基极电阻串联,当给芯片输入5v驱动电流时,该芯片各个管脚支持TTL 和CMOS 的电路连接方式,通过缓冲器预先编写好的逻辑设计,可以直接仲裁优先级,确保电路稳定运行。ULN2003 工作电压高,工作电流大,其输出端I/O 灌电流可达500mA,其保护电路的设计使得芯片在关态时承受50V 的电压。ULN2003 芯片引脚介绍: 引脚1:CPU 脉冲输入端,端口对应一个信号输出端。引脚2-7:CPU脉冲输入端。引脚8:接地。引脚9:该脚是内部7 个续流二极管负极的公共端,各二极管的正极分别接各达林顿管的集电极。用于感性负载时,该脚接负载电源正极,实现续流作用。如果该脚接地,实际上就是达林顿管的集电极对地接通。引脚10-19:脉冲信号输出端,对应7-1 脚信号输入端。

图2 软件流程图

1.4 BH1750 光强传感器

BH1750F 的设计中采用两线串行的总线连接。不同的光照强度使得键盘和夜晶背景灯产生不同程度的亮度,在通过反馈与优化处理探测出较大范围的光照变化。特点:1:I2C 总线接口(f/s 模式支持)2:光谱的范围是人眼相近3:照度数字转换器4:宽范围和高分解.(1-65535勒克斯)5:低电流关机功能6:50Hz/60Hz 光噪声reject-function 7:1.8V逻辑输入接口8:无需任何外部零件9:光源的依赖性不大.(例如白炽灯.荧光灯.卤素灯.白LED.孙光)10:是有可能的选择2 类型的IC slave-address.11:可调的光学窗口测量结果的影响12:小测变异(+/- 20%)13:的红外线的影响很小软件部分

2 系统软件流程图

软件部分的主要任务是完成对语音进行识别和处理然后控制各个器件对当前不同的指令进行判断光基于上述分析,系统软件设计流程如图2 所示。

3 硬件测试

3.1 上电进行测试,打开对应的App 观察温湿度数据,光照强度数据是否已经上传,App 上显示的数据与oled 上是否相同。多次实验测得数据能正常上传,并且与实际数据误差不大能正常使用。

3.2 语音输入或者App 控制自动模式,看是否正确进入自动模式,遮住BH1750 的光敏传感器。检测到环境光照度不足20lux,自动打开灯。测试结果能正常运行。

3.3 打开手机App 依次执行命令:3.3.1 打开关闭灯按钮,App将数据发送到云服务器,云服务器下发到Wi-Fi 模块,Wi-Fi 通过串口发给MCU,MCU执行命令打开关闭LED灯。3.3.2 打开关闭电视按钮,App 将数据发送到云服务器,云服务器下发到Wi-Fi 模块,Wi-Fi 通过串口发给MCU,MCU 执行命令打开关闭继电器1。

3.3.3 打开关闭空调按钮,App 将数据发送到云服务器,云服务器下发到Wi-Fi 模块,Wi-Fi 通过串口发给MCU,MCU执行命令打开关闭继电器2。3.3.4 打开关闭风扇按钮,App 将数据发送到云服务器,云服务器下发到Wi-Fi 模块,Wi-Fi 通过串口发给MCU,MCU执行命令打开关闭风扇。3.3.5 打开关闭窗帘按钮,App 将数据发送到云服务器,云服务器下发到Wi-Fi 模块,Wi-Fi 通过串口发给MCU,MCU执行命令打开关闭步进电机。3.3.6 打开关闭全部电源按钮,App 将数据发送到云服务器,云服务器下发到Wi-Fi 模块,Wi-Fi通过串口发给MCU,MCU执行命令关闭所有用电设备。

4 语音控制

4.1 说出“开灯关灯”指令;语音识别模块采集,STM32 核心板对数据进行处理,控制LED 灯开关;同时观察手机App 上按钮是不会同步显示灯当前状态。

4.2 说出“打开/关闭电视”指令;语音识别模块采集,STM32 核心板对数据进行处理,控制继电器1 通断;同时观察手机App 上按钮是不会同步显示电视当前状态。

4.3 说出“打开/关闭空调”指令;语音识别模块采集,STM32 核心板对数据进行处理,控制继电器2 通断;同时观察手机App 上按钮是不会同步显示空调当前状态。

4.4 说出“打开/关闭风扇”指令;语音识别模块采集,STM32 核心板对数据进行处理,控制风扇打开关闭;同时观察手机App 上按钮是不会同步显示风扇当前状态。

4.5 说出“打开/关闭窗帘”指令;语音识别模块采集,STM32 核心板对数据进行处理,控制步进电机转动;同时观察手机App 上按钮是不会同步显示窗帘当前状态。

4.6 说出“关闭电源”指令;语音识别模块采集,STM32 核心板对数据进行处理,控制所有运行中的设备断开电源关闭;同时观察手机App 上按钮是不会同步显示全部电源当前状态。根据测试结果,系统能较精确的识别我们发出的指令,并根据指令操作用电设备,达到目标要求。同时自动模式中灯也会自动打开。

随着物联网的飞速发展,智能家居也从当初的理论跨越为如今的广泛应用,未来随着芯片技术越来越先进,更加强大的智能语音模块,电源模块,也会应运而生。本设计依托物联网技术,搭建起整个系统,充分利用各个模块的优势,使得智能家居的实现成为可能。