摘要:随着物联网技术与智能化技术的发展,智能家居逐渐进入人们的视野。智能家居控制系统能够极大地提升家居的智能化程度,为用户提供更多的便利。文章提出了一种基于物联网技术的智能家居中央控制管理系统设计方案,其中主控板以STM32为核心,选择使用两块ESP8266 Wi—Fi模组实现智能家居之间的互联通信,受控板Wi—Fi模组作为服务器,以此来和主控板连接并传递数据指令信息,指令信息经由串口发送给单片机,单片机按照指令做出动作,最终达成对智能家居进行控制的目的。
关键词:智能家居控制;STM32;TFTLCD触摸屏;Wi—Fi无线通信
中图法分类号:TP311 文献标识码:A
Design and application of smart home system based onInternet of things technology
QIN Yuntao
(Suzhou Vocational University, Suzhou, Jiangsu 215000, China)
Abstract: With the development of Internet of things technology and intelligent technology, smart home has gradually entered people's vision. Smart home control system can greatly improve the intelligence of home and provide users with greater convenience. In this paper, a design scheme of smart home central control and management system based on Internet of things technology is proposed, in which the main control board takes STM32 as the core, selects two ESP8266 Wi-Fi modules to realize the interconnection communication between smart homes, and the controlled board Wi-Fi module is used as the server to connect with the main control board and transmit data instruction information. The instruction information is sent to the single chip microcomputer through serial port, and the single chip microcomputer acts according to the instructions. Finally the purpose of smart home control is achieved.
Key words: smart home control, STM32, TFTLCD touch screen, Wi-Fi wireless communication
1 引言
智能家居在保留原有家居特點的情况下,使家居连接到互联网,从而使家用电器具备网络通信、信息家电、设施自动化等特点。其中,用户利用无线网络就可以完成对家用电器的管控[1]。智能家居的发展带动了各种技术的发展,控制与管理系统就是其中一例。智能家居控制系统是在家居连接到网络的同时,对家用电器进行管理与控制,用户只需要通过智能家居控制界面连接家庭网络,就可以轻松实现对家用电器的控制和家庭环境的实时监测。因此,在智能化迅速发展的情况下,设计一种可以对家居轻松控制与管理的操作平台势在必行。
2 系统功能模块
智能家居中央控制管理系统主要以无线网络通信的方式实现操作平台对家居控制的目的[2]。本设计主要包含 TFTLCD 触摸显示屏、Wi?Fi无线通信模块、继电器控制模块、温湿度检测模块、步进电机控制模块等。TFTLCD 触摸显示屏幕是操作平台的重要组成部分,用户通过对触摸屏幕的操作实现对家居的控制;Wi?Fi无线通信模块是数据或指令传输的通道,用户通过对触摸屏幕的操作得到的指令都将从此处发送到受控板,由受控板接收到数据指令,进而控制家居;继电器控制模块是用来控制家用电器电源的通断,因为家庭中大多数电器的供电电压为220V 的交流电压,单片机无法直接进行控制,而继电器即是最佳的选择;温湿度检测模块是用于家庭室内温度与湿度的监测,主控板发送检测命令到受控板,受控板接收指令后控制温湿度传感器检测空气中温度与湿度,最终将检测结果由Wi?Fi模块发送到主控板并显示出来;步进电机控制模块是用于控制家用窗帘的打开与
闭合,由于步进电机具有转动角度可调的特性,因此可以准确地控制窗帘的打开与闭合。
3 系统硬件设计
3.1 主控板设计
主控板是控制管理系统的操作平台,也是整个系统中最关键的部分。它根据用户对 TFT 触摸屏的操作,把相关操作转换为数据指令,以无线传输的方式通过Wi?Fi模块将数据指令发送到受控板。主控板的电路单元模块主要由 STM32最小核心系统、TFTLCD 触摸显示屏幕、Wi?Fi无线通信模块组成。
3.1.1 STM32最小核心系统
主控板的主控芯片使用的是具有 M4内核、型号为 F407ZGT6的单片机。它是32位的处理器,具有144个引脚,内置丰富的外设资源,性能较为强大,并且内部集成了多种功能,所以原本需要多种芯片才能完成的功能,现在只需要一个芯片就可以实现,节约了成本并且降低了电路设计的复杂度。然而,一个芯片无法完成所有的工作,还需要复位电路、时钟电路、 RTC 时钟电路、STM32供电电路及程序下载烧制电路等多种电路协同才能正常工作。
STM32使用 USB 数据线进行供电,这不仅可以满足供电需求,也可以通过数据线下载程序。因为 USB 的供电电压为5V ,不可以直接供电,所以需要进行电压转换才能为单片机供电。程序下载烧制电路使用 CH340G 串口下载芯片,只须外接少量的辅助电路,配合程序下载软件就可实现一键下载。在下载程序时,要把程序下载软件内的设置选项改为 DTR 的低电平复位,RTS 高电平进入 Boot Loader 。此后,下载工具会管理 CH340G 芯片的 DTR#与 RTS#两个端口,从而输出下载控制时序。
3.1.2 TFTLCD 触摸显示屏幕设计
(1)液晶驱动与显示原理液晶显示屏幕的驱动模式有很多种,如 IIC 接口、6800接口、8080接口等。在本设计中,TFTLCD 液晶显示屏幕的驱动模式采用8080模式,TFTLCD 液晶显示屏幕的数据线为16根,根据器件的时序要求,通过单片机模拟8080通信接口协议进行驱动就可以与器件进行通信,实现对器件控制的目的。
(2)触摸屏幕触摸位置的计算 XPT2046的 AD 转换器的分辨率为12位,当檢测某一点的位置时,检测的值也就会在0~4096之间。触摸屏幕触摸位置的检测需要设计参考点进行校验,如假设触摸屏幕触摸位置物理坐标电压值为( Px,Py),当设置一个参考点的坐标为( Lcdx1,Lcdy1)时,对应的电压坐标为( Px1,Py1),设置另一个参考坐标的坐标值为( Lcdx2,Lcdy2)时,对应的电压坐标值为( Px2, Py2),则可以得到横屏比例系数,故物理坐标可以得到。其中,结果即为触摸屏幕的横轴坐标,纵轴坐标同理可得。
(3)Wi?Fi无线通信模块系统的控制与管理是应用触摸操作平台实现,通过Wi?Fi无线通信的方式把数据发送到控制板,并对家用电器进行控制。在主控板,Wi?Fi作为客户端,在需要时,用户可以通过它发送数据指令并接收受控板采集的数据。在受控板,Wi?Fi作为服务器,用于接收主控板发来的数据指令以及发送采集的数据到主控板。
3.2 受控板设计
控制管理系统的受控板起到对家居统一管理的作用,如电灯、冰箱、空调的控制等。受控板通过接收主控板发送来的数据命令,然后控制相应的电路单元[3]。受控板使用的是一种8位的51单片机,常用封装形式是直插式的,具有40个引脚。在本设计中,选用的单片机封装为 LQFP44,这款单片机增加了4个 P4口,IO 接口非常丰富。受控板的设计包含对继电器控制单元、步进电机控制单元、温湿度传感器检测单元和空气质量传感器检测单元的设计。
3.2.1 继电器控制单元设计
继电器控制单元分为两部分,一部分用于控制家用电灯,另一部分用于管理家用空调电源的通断。继电器的1和2脚分别连接到家用电器的连接线。在初始时,继电器1和2引脚断开,当单片机 P1.0或 P1.1引脚输出高电平时,三极管 Q6或 Q7导通,继电器中有电流流过,继电器线圈产生吸力使继电器1脚与2脚相连接,从而实现家用电器通电,同时 LED 灯亮表示继电器打开,电器通电。
3.2.2 步进电机控制单元设计
步进电机的控制原理主要是周期性地为其提供脉冲,在脉冲的作用下,一个脉冲使得电机转动的角度为步距角,只要为其提供合适的脉冲个数,就可以转动固定的角度。
3.2.3 温湿度传感器检测单元设计
温湿度传感器检测单元用于检测家庭中室内空气的温度与湿度,用户可以根据控制平台控制温湿度传感器检测家庭温湿度,然后将检测信息反馈到控制平台,实现家庭温度与湿度实时监控的目的。
3.2.4 空气质量传感器检测单元设计
空气质量传感器是一种把空气污染物浓度转换为电压变化的空气质量检测器件,空气质量传感器的4引脚是模拟电压输出端,应用 PCF8591AD 转换器将传感器的模拟信号转换为数字信号,然后经过计算得到空气浓度。依据 MQ?135传感器的特性,在有有害气体的空间内,电压每升高0.005V,被测气体的浓度增加1ppm 。假设在洁净空气中,MQ135输出电压为Vref,检测空气污染物时电压为Vdet,可以得到被测气体浓度为:Gas=( Vdet?Vref)×200。
4 系统软件设计
整个系统主要由 TFTLCD 显示模块控制程序、 ESP8266作为客户端与服务器的控制程序、温湿度传感器控制程序、步进电机控程序组成,最终实现控制平台对家居的控制。
4.1 主程序设计
整个系统由主控板与受控板两个部分组成。在系统开机时,系统会进行图形显示、参数设置等。系统进行数据或命令的检测,对于主控板,系统根据检测触摸指令进行控制页面的切换,之后检测控制页面的检测触摸指令,并发送指令;对于受控板,系统实时检测串口数据,当有数据发送来时,则对接收到的数据进行拆解提取,然后依据数据指令控制相应模块,如果有需要返回发送数据到主控板的指令,则进行数据的发送,最后重新回到串口检测的状态。
4.2 TFTLCD 触摸屏幕子程序设计
触摸屏幕显示屏幕的初始化,如设置屏幕横屏显示或是竖屏显示,数据显示扫描方向等。在进行初始化后,显示之前需要进行显示窗口的设置,然后在窗口内显示需要显示的内容,最后检测触摸位置,将检测到的触摸位置转换为坐标,进而判断数据指令。 TFTLCD 触摸屏幕的子程序主要分为三个部分,分别是字体的显示、图标的显示以及触摸位置的检测。
4.3 Wi?Fi模块子程序设计
Wi?Fi模块的程序设计分为两个部分,即服务器和客户端。对于服务器而言,首先进行系统的初始化,进而设置所要连接的Wi?Fi名和密码,然后自动获取自身 IP 并设置目标端口号和 IP,最后连接服务器,等待服务器发送的网络数据以及串口接收到的数据并将其发送到服务器;对于客户端来说,首先设置Wi?Fi名、密码、IP 以及端口号,然后建立侦听,等待客户端接入,当有客户端接入后,就不断检测网络数据,当有网络数据时,发送到串口,最后检测串口是否接收到数据,如果接收到数据,则将数据发送到客户端。
4.4 温湿度传感器子程序设计
单片机发送控制时序,与温湿度传感器连接成功后,温湿度传感器主动监测空气的温度与湿度并生成数据校验和,然后把检测的温度与湿度的和与校验和进行比较,如果和相等,则检测数据正确,最终把数据发送到客户端。
4.5 步进电机子程序设计
具体步骤为:单片机不断检测是否接收到数据指令,当接收到控制步进电机指令时,则判断是需要步进电机左转动还是右转动。
4.6 烟雾传感器子程序设计
具体步骤为:当单片机接收到控制烟雾传感器的指令时,则单片机就开始控制传感器检测当前的烟雾浓度。因为烟雾传感器检测的浓度变化完全以模拟信号输出,因此单片机将本次检测的模拟信号转换为数字信号后进行烟雾浓度的计算。
5 结束语
本设计以 STM32为核心,使用它自带的 FSMC 接口模拟8080时序来控制触摸显示屏幕,然后在主界面上显示温湿度检测、电灯控制、烟雾检测、空调控制以及窗帘控制五个图标。当用户触摸图标时,系统跳转到相应的控制界面。而受控板以51单片机为核心,使用Wi?Fi模块与主控板进行通信。当受控板接收到主控板的数据指令时,受控板控制各个模块并做出相应动作,实现对家居的控制与家庭环境的检测。本文设计了一个智能家居中央控制管理操作平台,其系统结构灵活,操作简单,兼容性强,具有广阔的应用前景。
参考文献:
[1] 汪浩,张旭,刘祎.基于 WIFI 模块的“互联网+”智能家居设计[J].南方农机,2022,53(5):123?126.
[2]尚晓峰.基于 Android 系统的智能家居移动终端软件设计准则和功能[J].木材科学与技术,2022,36(2):92.
[3] 谢作如,邱奕盛.用HomeAssistant搭建个性化智能家居系统[J].中国信息技术教育,2022(5):81?83.
作者简介:
秦云涛(1972—),硕士,讲师,研究方向:计算机网络、物联网。