基于ZigBee节点的智能家居系统语音控制设计

基于ZigBee节点的智能家居系统语音控制设计,第1张

  0 引言

  随着短距离无线通信技术的发展,WLAN,Bluetooth,IrDA,HomeRFZigBee等技术已经被逐步应用于智能家居、工业控制及环境监测等众多领域,而语音识别技术作为一门交叉学科,也被广泛应用于工业、家电、医疗等领域。将语音识别与无线通信技术相结合应用于智能家居领域,使人们能够直接通过语音对家电进行控制,能够让人们享受现代科技在现实生活中的应用。基于IEEE 802.15.4协议的ZigBee通信技术具有功耗低、低成本、短距离、安全可靠、自组织网等特点。本文将凌阳科技的具有丰富语音处理功能的16位 SPCE061A单片机射频芯片CC2530相结合设计了ZigBee语音识别节点,它能够与基于SUMSUNG的S3C6410开发平台的智能家居控制网关进行串口通信,网关在处理信息后,能够显示控制设备的状态,并通过ZigBee无线网络与家庭内的多个子节点通信,从而实现了对家电设备的语音智能控制。

  1 系统总体设计

  系统总体结构如图1所示,主要包括基于Samsung的S3C6410平台的网关、基于SPCE061A的语音ZigBee子节点、电器继电器控制ZigBee子节点、电器红外控制ZigBee子节点等。其中各子节点与网关之间通过星型拓扑结构进行连接。

  基于ZigBee节点的智能家居系统语音控制设计,系统结构框图,第2张

  在对语音子节点进行训练之后,当语音节点采集接收到语音控制命令时,执行语音识别指令,通过CC2530收发模块发送相应的控制指令到网关的主节点上。主节点将接收到控制指令通过串口上传到网关主机,主机在处理信息之后,再通过主节点发送相应的控制指令到控制子节点上,控制子节点在接收到相应的命令之后就会执行相应的动作,对被控对象进行控制。

  2 系统硬件设计

  (1)网关。采用基于ARM11架构的三星S3C6410处理器,与ZigBee主节点之间通过串口方式进行通信。S3C6410是基于ARM1176JZF-S的16/

  32位的低功率消耗、高性能的RSIC通用处理器。其开发平台具有丰富的外围接口资源。其中,可以支持4个UART接口,支持DMA和 Interrupt模式,最高速度可达3 Mb/s。ZigBee主节点在系统启动时,作为协调器启动和控制ZigBee网络,当网络建立后,负责接收语音节点的控制信息以及发送相应的控制信息到各ZigBee子节点。

  (2)语音子节点。由凌阳科技的SPCE061A单片机与ZigBec收发节点模块组成。SPCE061A是凌阳科技推出的以μ’nSPTM为核心的16位结构的微控制器。具有8通道10位A/D转换输入功能,内置自动增益控制功能的麦克风输入方式以及双通道10位DAC方式的音频输出功能。在使用SAC M_S240凌阳音频编码方式时,可以容纳长达210 s的语音数据。因此被广泛应用于数字语音识别领域中。

  (4)红外控制子节点。由学习型红外控制模块与ZigBee收发子节点组成。目前,红外遥控类型的家用电器的比例正逐步攀升。因此本文在设计研究中采用了学习型的红外控制模块,它与ZigBee收发子节点之间通过串口进行通信。首先使用一个或多个红外模块对现有的家电(如电视机、DVD、空调、投影仪等)红外遥控器的信号进行学习,把相应的编码存放到红外模块的存储器E2PROM中,每条代码对应一个地址。当该

  ZigBee节点接收到指令需要对某一家电进行控制时,红外模块就会根据指令调取该地址下的红外发射编码数据进行发射,从而实现对红外型家用电器的语音控制。

  (5)基于CC2530的ZigBee无线收发模块。CC2530是TI公司推出的基于IEEE 802.15.4协议的片上系统。内嵌增强型单周期的8051CPU,具有8 KB的SRAM、2个支持多种串行通信协议的USART、21个通用的I/O引脚、宽电压范围(2~3.6 V)、低功耗(主动模式RX:24 mA;主动模式TX在1 dBm:29 mA)以及电源电量可监控等特点。在ZigBee协议栈中UART具有中断、DMA两种模式,本文设计中均采用了UART的中断模式。

  3 系统软件设计

  系统软件设计主要包括下位机软件与上位机软件设计。在下位机程序设计过程中有2个关键点:对数字语音信号的采集、处理与识别;ZigBee收发模块对控制信号的接收、发送与执行。而在上位机软件设计中,主要是基于Visual C++++的串口通信的编程。

  上位机主程序流程图如图2所示。

  基于ZigBee节点的智能家居系统语音控制设计,上机位主程序流程图,第3张

  S3C6410开发平台具有4个UART接口,在研究设计中,采用了芯片MAX 3232来解决ZigBee通信模块的CC2530芯片与该开发平台之间的串口通信电平转换。上位机通过串口接收语音子节点的控制指令数据,将数据处理后用文字显示控制命令,并通过与ZigBee主节点之间的串口通信,向子节点发送控制指令数据。

  单片机SPCE061A的UART数据格式只有一种,需按照规定的数据格式与CC2530模块进行串口通信。该程序在凌阳科技的μ’nSP IDE集成开发环境下进行开发,并采用凌阳科技提供的语音处理函数以及函数库。语音子节点程序流程图如图3所示。

 基于ZigBee节点的智能家居系统语音控制设计,语音子节点程序流程图,第4张

  由于单片机SPCE061A在进行语音识别时,一次性只能同时识别5条语音指令。为了增加其所能识别的语音指令,本文采用了分组法,能够在存储器允许的情况下识别多条语音指令。在烧录完程序首次使用该节点时,要对该节点进行训练。在该节点的语音提示下,依次录入4组命令,每组分5条语音指令,为了提高识别的质量,每条命令需要训练两遍。在语音训练结束后,启动该智能家居系统就能够对家居进行语音控制,且能够实现非特定人语音识别。

  为了利用语音命令实现ZigBee语音子节点的“重新训练”,“停止识别”等控制,方便实际应用,本文在程序设计过程中采用goto无条件语句,部分程序源代码如下:

  基于ZigBee节点的智能家居系统语音控制设计,程序,第5张

  利用学习型红外收发模块对红外电器进行控制时,首先要对控制信号进行学习,将要发送的编码与CC2530输出的串口指令相对应。控制指令电器红外控制ZigBee子节点的程序流程图如图4所示。

   基于ZigBee节点的智能家居系统语音控制设计,语音子节点程序流程图,第6张

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2555998.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-06
下一篇 2022-08-06

发表评论

登录后才能评论

评论列表(0条)

保存