当前位置:首页 > 消费电子 > 消费电子
[导读]摘要 系统以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报警等,随着这些技术的发展,该智能家居系统将拥有更为广阔的发展空间。

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

在微控制器领域,MSP430与STM32无疑是两颗璀璨的明星。它们各自凭借其独特的技术特点和广泛的应用领域,在市场上占据了重要的位置。本文将深入解析MSP430与STM32之间的区别,探讨它们在不同应用场景下的优势和局限...

关键字: MSP430 STM32 单片机

STM32是由意法半导体公司(STMicroelectronics)推出的基于ARM Cortex-M内核的32位微控制器系列,以其高性能、低功耗、丰富的外设接口和强大的生态系统深受广大嵌入式开发者喜爱。本文将详细介绍S...

关键字: STM32 单片机

VGA接口主要用于将计算机的数字图像信号转换成模拟信号,从而可以在显示器上显示。这种接口通常包含15个针脚,分成3排,每排5个孔,可以传输红、绿、蓝三种基本颜色的信号以及水平和垂直同步信号。

关键字: vga接口 信号 电压

STM32与51单片机之间有什么差异呢?两者可以说是一场科技与性能的较量了。在科技飞速发展的今天,微控制器(MCU)已广泛应用于各类电子设备和系统中,发挥着举足轻重的作用。其中,STM32和51单片机作为两种常见的微控制...

关键字: STM32 51单片机 MCU

电磁铁是一种利用电流产生磁场的装置,具有快速响应、易于控制等特点,在工业自动化、电子设备、科学实验等领域有着广泛的应用。STM32是一款功能强大的微控制器,具有高性能、低功耗、易于编程等优点,是控制电磁铁的理想选择。本文...

关键字: 电磁铁 微控制器 STM32

边缘人工智能的实现涉及到三个基本 要素:安全性,连接性、自主性,而其中自主性是AI能力的体现,也是边缘AI有别于其他传统的物联网的关键。而通过ST Edge AI套件,就可以帮助各种不同类型的开发者实现覆盖全硬件平台的全...

关键字: 边缘人工智能 AI STM32

今天,小编将在这篇文章中为大家带来STM32单片机最小系统的有关报道,通过阅读这篇文章,大家可以对它具备清晰的认识,主要内容如下。

关键字: 单片机 单片机最小系统 STM32

STM32是一款由STMicroelectronics生产的微控制器系列,具有高性能、低功耗和丰富的外设资源。其中,串口通信是一种常用的通信方式,可以实现与其他设备之间的数据传输。

关键字: STM32 串口通信 微控制器

STM32是一种广泛使用的微控制器,具有丰富的通信接口。其中,串口通信是STM32与其他设备或系统进行数据交换的重要方式之一。本文将详细介绍STM32串口通信的原理、应用及常见故障。

关键字: STM32 串口通信

由于目前缺乏相应的监测技术,地下电缆线路出现异常运行状态无法被及时发现,久而久之易演变成大故障,最终只能通过更换地下电缆进行修复,耗费大量的人力、物力。鉴于此,开发了一种基于STM32的地下电缆异常状态检测系统,利用热传...

关键字: STM32 地下电缆
关闭
关闭