当前位置:首页 > 消费电子 > 消费电子
[导读]摘要 系统以STM32F103为控制核心,用户通过手机或其它手持设备经蓝牙模块发送数据到STM32上,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函数来将某个对象的信号与另一个对象的沐曹函数相关联,这样当发射者发射信号时,接收者的槽函数将被调用,该函数的定义为:

boolQObjeet::eonnect(eonstQOb—ieet*sender,eonstchar*signal,

eonstQObjeet*reeeiver,eonstehar*mexnber)

conneet函数将sender对象中的信号signal与reeeiver中的member槽函数相关联,这里的sender和receiver都是指向QObject类型对象的指针。QT的宏signal()用于指定信号signal;宏slot()用于指定槽函数。

当对象内部发生某些事件时,它有可能发出信号。如果这个信号连接到槽,那么相应的槽函数就被执行。可以将多个槽连接到同一个信号,那么这些槽就将一一被执行,其执行顺序是任意的。

2.2 STM32系统软件设计

STM32系统软件设计首先对STM32系统的初始化,采用Rtthread系统并创建了3个子进程,分别为蓝牙模块子进程、红外模块子进程、报警模块子进程,设定任务的优先级并初始化各子进程。编写相应的初始化及数据处理函数实现系统的正常运行,通过Rtthread进行系统的线程调度。

STM32的软件控制流程如图4所示。

(1)蓝牙子进程程序设计,KEY位置高电平进入AT指令模式,通过发送AT指令进行蓝牙模块的设置,例如USART_Send_Cmd(“%s\r\n”,atstr);设置完成后KEY位置低进入数据透传模式,进行数据传输。接受到指令后返回数据,手机端对返回数据进行分析,如果接受错误数据,则手机端重新发送数据。接收到正确数据后发送给相应的模块,执行相应的操作。蓝牙软件设计流程如图5所示。

(2)红外子进程程序设计,先初始化红外模块,对要发送的数据解码后编码再经过红外模块发送出去。判断是否发送结束,未发送完整则继续发送。红外软件设计流程如图6所示。

(3)报警子进程程序设计,初始化报警模块,将一个家用烟感探测器与报警模块相连,一旦超过设定值报警模块通过STM32系统将报警信息,发送送到手机或其他终端设备上实现智能报警。判断是否有报警信息,如果有报警信息则通过串口1将数据发送给STM32芯片,再执行报警函数。

2.3 该系统在智能家居系统中的应用

要控制红外设备必须先学习控制该设备的红外码。首先,通过半口工具连接到该模块,将该设备的遥控器对准红外接收头,通过半口工具发送对应的报文,按下需要学习的键,然后就可以收到该控制键对应的红外码。将学习到的红外码保存在QT的槽函数内。实现了一个手机或终端设备智能的控制家电,并且实现了智能报警。

3 结束语

综上所述,可知基于STM32的智能家居系统实现简单,应用广泛。而蓝牙技术的成熟和普及,可以将各种遥控器由一个Android手机软件所代替,实现了智能化的控制电视、风扇、空调等设备。通过在室内安装多个STM32系统,可以实现对每间房间的控制。基于STM32的智能家居系统综合了多门技术,主要包括视蓝牙通信、红外遥控技术、433报警等,随着这些技术的发展,该智能家居系统将拥有更为广阔的发展空间。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭