一种基于STM32的智能家居系统设计
摘要 系统以STM32F103为控制核心,用户通过手机或其它手持设备经蓝牙模块发送数据到STM32上,STM32接收到指令处理后经红外模块发送到终端设备上。实现家居的智能控制,整个系统具有较强的抗干扰能力及可靠性,可适用于智能家居应用领域。
关键词 智能家居;蓝牙模块;红外模块
智能家居是以住宅为平台,利用综合布线、网络通信、智能家居系统设计方案、安全防范、自动控制、音视频技术将家居生活有关的设施集成,构建高效的住宅设施与家庭日程事务的管理系统,提升家居安全性、便利性、舒适性、艺术性,并实现环保节能的居住环境。
1 智能家居系统硬件平台
STM32的智能家居的系统拓扑结构如图1所示,STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。该系统采用STM32F103“增强型”系列的STM32芯片,设计的总体思路通过手机或其它手持设备的蓝牙通信模块与STM32上的蓝牙模块进行通信,接收到的数据进行处理,再通过红外模块发送到受控终端上。受控终端接收到红外指令后执行指定的操作,如电视、风扇、空调等电器设备的开关等操作。红外模块可以学习到各种遥控器的指令,通过学习遥控器的指令储存到QT软件所编写的界面中,解决了遥控器过多的烦恼,从而实现家居的智能化控制。通过报警模块可以实现火灾时的报警,保障了家居安全。
1.1 蓝牙模块
蓝牙HC05是主从一体的蓝牙串口模块,即当蓝牙设备与蓝牙设备配对连接成功后,可以忽视蓝牙内部的通信协议,直接将蓝牙当作串口用。当建立连接,两设备共同使用一通道也就是同一个串口,一个设备发送数据到通道中,另外一个设备便可以接收通道中的数据。当然,对于建立这种通道连接有一定条件,那就是对蓝牙设置好能进行配对连接的AT模式。
HC05蓝牙模块与STM32的串口3相连接。HC05的RDX与STM32芯片的第55管脚USART3-TX连接,TXD与第56管脚USART3-RX连接,GND与Vcc连接到相应的GND与Vcc上,KEY与第65管脚PC8连接。模块上电后,通过KEY接Vcc,使模块进入AT指令,模块的波特率设置为38400。
1.2 红外模块
BC7210芯片由海外知名厂商制造,比高公司拥有版权的红外遥控解码专用芯片。BC7210可以完成目前国内市场上常用的飞利浦RC5和NEC两种红外编码信号的解码。BC7210的输出可以设置为并行输出或者串行输出,串行输出方式兼容SPI和UART两种接口,可以轻松完成与各种MCU的接口相连接,完成与MCU的通信。BC7210与STM32连接的硬件设计方法如图2所示。
BC7210的串行输出兼容于“波特率9 600 bit·s-1,1个起始位,1个停止位,无奇偶校验”的USART,只需D7与STM32的87管脚USART2-RX连接。MOD与S/P分别与PB3和PB5相连接。这种接口方式只需占用1根口线,微处理器的数据接收可以由硬件完成,占用CPU资源少。
1.3 报警模块
无线收发模组,采用射频技术,也叫RF433射频小模块,采用全数字科技生产的单IC射频前段与ATMEL的AVR单片机组成,可高速传输数据信号的微型收发信机,无线传输的数据进行打包、检错、纠错处理。元器件都采用工业级标准,工作稳定可靠,体积小便于安装。适用于安全报警、无线自动抄表、家居及工业自动化、远端遥控、无线数传等领域,433报警模块与STM32的串口1相连接。
SM30型433MHz微功率无线串口通信模块,是上海上志电子信息技术有限公司生产,可以动态管理无线通信方式:将STM32和无线模块JP1引脚的1(GND),2(Vcc),3(RXD/TTL),4(TXD/TTL),9(RESET)共5个引脚连接好,1脚接GND,2脚接VCC,3和4两脚分别接STM32的串口上,通过串口发送给模块设置命令,设置完成以后,置SETEN为高电平或与地断开,上电复位或RST(如果8脚接在用户STM32的I/O口上)低电平(10 ms)复位,及可以用新的参数工作。
2 软件系统设计
整个智能家居系统以STM32微处理器为控制核心,使用C语言编写。智能家居系统的软件可分为手机、STM32系统2个部分,主要由蓝牙驱动程序、红外驱动程序和433报警程序组成。QT的软件控制流程如图3所示。当一个特定事件发生时,一个信号被发射。QT的窗口部件有多种预定义的信号,但可以通过继承来加入自己的信号。槽就是一个可以被调用处理特定信号的函数。信号与槽是宽松地联系在一起:一个发射信号的类无需已知哪个槽要接收这个信号。QT信号和槽可以保证如果将一个信号与一个槽连接起来,槽会在正确的时间使用信号的参数而被调用。信号和槽可以使用任何数量、任何类型的参数。
2.1 手机软件设计
通过调用Qobject对象的connect函数来将某
- 基于Linux/Qt的智能家居系统设计(07-07)
- 基于ARM-linux的智能监控系统设计(08-25)
- 基于Linux的智能家居管理方案(01-05)
- 基于Android智能家居远程监控系统设计(12-01)
- 基于ZigBee无线网络的嵌入式智能家居监控系统(03-18)
- DIY智能家居之多功能一体化触屏遥控器的设计实现(04-14)