时间:2024-05-04
向镍锌 邝乙桐 王雪
摘要:随着科学技术的飞速发展,新一代电子设备由于其智能化、便携化、人性化等因素,在日常生活、工作中得到了人们的喜爱和广泛应用。智能家居从概念提出以来便受到各界人士的广泛关注,并逐渐被人们所认知与接受。该文设计了一款基于单片机的智能家居监控系统,从系统软硬件设计、后端服务器搭建、前端UI界面设计三方面展开,实现了从数据检测、数据传输、数据监测、设备远端控制等系列功能,完成了家居环境的有效监控,从而实时了解并改善家居环境。
关键词:单片机;智能家居;环境监控;UI;Wi-Fi技术
中图分类号:TP393 文献标识码:A
文章编号:1009-3044(2020)28-0198-04
Abstract: With the rapid development of science and technology, a new generation of electronic equipment has been loved and widely used in daily life and work due to factors such as intelligence, portability, and humanization.The smart home has received wide attention from people since the concept was put forward, and has gradually been recognized and accepted by people. This article designs a smart home monitoring system based on a single-chip microcomputer. It expands from three aspects: software and hardware design of this system, back-end server construction, and front-end UI interface design. It realizes data detection, data transmission, data monitoring, remote device control, etc. The series of functions complete the effective monitoring of the home environment, so as to realize real-time monitoring and improve the home environment.
Key words: single-chip microcomputer; smart home; environmental monitoring; UI; Wi-Fi technology
1 背景
隨着我国科学技术的不断发展,人们的生活水平逐渐提高,人们对生活质量提出了更高的需求,物联网设备应运而生。智能安防、智能家居、智慧生活等一系列新的名词出现在人们的生活中,利用互联网、物联网、人工智能技术实现全社会的智能化全成为科技工作者新的目标。智能家居(Smart Home),从20世纪80年代提出以来便受到人们的广泛关注,它以物物互联为宗旨,以家居环境为平台,利用物联网技术、通信技术、自动控制技术将住宅设备连接到一起,并实现远端控制[1]。单片机作为测控领域的核心产物,由于其小型化、集成化等特点,可应用于智能家居、智能仪器仪表、自动化设备等诸多领域[2]。
本文针对智能家居应用中的环境监控问题,设计了一种基于单片机的智能家居监控系统,通过传感器对环境的温湿度、光照强度、空气质量、红外等参数进行检测,利用Wi-Fi模块实现数据的无线传输,通过服务器将数据回传UI界面实现家居环境参数的实时监测与远程控制,并在参数超过阈值时通知用户,保障家居环境的舒适与安全。
2 系统总体方案设计
系统由硬件系统、UDP服务器、UI界面三部分构成,其总体方案结构如图1所示。硬件系统由单片机最小系统、传感器模块、Wi-Fi无线模块、电源模块等组成。单片机作为硬件系统的主控芯片,处理传感器模块所采集的家庭环境信息,电源模块为整个硬件系统各模块供电。UDP服务器作为本系统的中转站与硬件系统交互环境信息,并对登录信息进行处理,当用户在UI界面中请求时将环境信息发送给界面,实现实时回传检测数据。当界面中有控制请求信息时,对控制信息进行处理。UI界面中包含注册界面、登录界面、控制界面三大模块,环境信息的显示及控制均在控制界面中实现。
3 系统硬件选型与结构设计
3.1 硬件选型
系统的硬件包括数据采集单元、控制单元、供电单元,因此分别对系统主控芯片和各传感器模块进行选型。
3.1.1 控制器
设计中需要单片机驱动各模块正常工作,且需要串口以便数据有效通信。因此综合经济与实用性,系统采用的是我国独立知识自主知识产权STC89C52作为主控芯片,该芯片拥有8k字节的闪存,512字节的运行内存,保证了软件程序写入时的运作效率,同时该芯片还拥有32个I/O 接口,4个外部中断,串口通信等,能满足各个模块的驱动[3]。
3.1.2 传感器模块
大量实验表明,最适宜人的温湿度是:夏天温度20℃—27℃,湿度为30%—60%;冬天温度18℃—25℃,湿度为30%—80%。一般情况下,室内温度控制在18℃—26℃,湿度为30%—70%时,人体感觉最舒适[4]。因此对室内进行温度、湿度、光照、空气质量等参数检测,并通过远程控制进行调整能获得人体舒适的家居环境。本设计中选用DHT11数字温湿度传感器检测环境温湿度,其精度为:湿度+-5%RH,温度+-2℃,量程湿度20-90%RH,温度0~50℃[5]。利用MQ-135空气质量传感器检测环境中的一氧化碳气体、烟雾,同时该传感器拥有模拟信号输出接口和数字信号输出接口[6],能满足系统的功能与性能需求。此外,系统采用BH1750环境光强度传感器检测室内光强,其对应输入光范围为1-65535lx,运行温度为-40℃~80℃[7],采用ESP8266 Wi-Fi模块实现单片机与服务器的信息交互。
3.2 硬件结构设计
硬件结构作为系统检测处理环境数据的基础,在环境监控系统中具有重要作用。系统中硬件结构由STC89C52单片机、DHT11温湿度传感器、MQ-135空气质量传感器、BH1750环境光强度传感器、蜂鸣器、两个LED灯及一个ESP8266 Wi-Fi模块组成,其电路结构如图2所示。
系统中采用STC89C52单片机最小系统作为核心开发模块,采用USB接口母座作为电源接口,外接USB线,另一端接移动电源进行供电。各传感器模块除供电与接地引脚分别接VCC与GND,DHT11温湿度传感器模块的数字信号输出接口接到单片机的P0^2口。BH1750传感器,SCL接单片机P1^3口,SDA接51单片机P1^4口,ADDR悬空,通过I?C与单片机通信。MQ-135空气质量传感器DOUT接51单片机P1^2接口,AOUT悬空。ESP8266 Wi-Fi模块TXD引脚接单片机P3^0(RXD)口,RXD接P3^1(TXD)口,RST口和IO_O口悬空。
4 系统软件设计
系统软件设计包括对数据采集设备的软件设计、UDP服务器的设计以及UI界面的设计。本项目首先利用各传感器模块采集环境信息并发送给单片机控制系统,单片机将信息通过串口发送给Wi-Fi无线通信模块,服务器端收到UI控制界面的控制指令时将数据信息通过网络传输到界面中显示,并通过无线通信方式控制单片机进行操作,从而实现数据的采集、发送、处理、存储、显示、报警等系列功能。
4.1 数据采集端软件设计
系统数据采集端软件使用C语言在Keil 5中进行编写,各个传感器检测模块子程序写入单片机中,通过主控芯片驱动传感器工作,程序总体流程如图3所示。首先系统进行初始化,随后单片机与各传感器模块进入工作状态。MQ-135传感器实时检测空气质量,若空气中有害气体浓度达到预设阈值则向单片机发出信号,单片机接收到信号后驱动蜂鸣器报警,没有则继续检测。DHT11温湿度传感器和BH1750光照强度传感器同时进行家居环境温湿度、光照强度的实时采集并将参数发送给单片机。当收到Wi-Fi无线通信模块的获取请求时,单片机通过串口通信的方式将数据传输给Wi-Fi模块,Wi-Fi模块再对数据进行实时透传,将数据传输给服务器。若Wi-Fi模块发来开关灯和开关风扇请求,单片机则控制LED1(模拟照明系统),LED2(模擬风扇系统)灯的开关。
4.2 UI界面与UDP服务器设计
UI界面作为用户与单片机系统的交互界面,可提升用户的直观感受,但UI界面无法直接与单片机系统交互,需要一个服务器作为中转实现他们之间的信息传输,因此对系统的UI界面与服务器进行了设计。考虑到QT具有可用C++编写UI框架、界面自定义编写、支持跨平台、可移植性强等特点,本系统采用QT进行UI界面设计。此外,由于TCP服务器在应对多网关数据同时接入时会存在一定的性能损耗[8],本系统采用基于Linux下的C语言编程设计UDP服务器。UI界面及服务器的系统框图如图4所示。
4.2.1 UI界面的搭建与设计
本系统的UI界面共有三个,分别是注册界面、登录界面与控制显示界面。
注册界面内包括请输入用户名、请输入密码与立即注册三项内容,界面如图5所示。用户在注册界面中输入正确格式的用户名和密码,点击立即注册按钮,注册界面向UDP服务器发送用户名与密码。UDP服务器接收到用户名与密码后会首先进行用户名重名查找。如果用户名重复,则返回失败信号,此时注册界面的用户名对话框旁会出现红字提醒该用户名已被注册,同时注册界面不做任何变动等待用户重新输入用户名与密码重新注册。如果没有重复,则注册界面弹出对话框提醒用户注册成功,点击消息框中的确定按钮便可进入登录界面。
登录界面如图6所示,包含用户名、密码、登录和注册用户。当用户输入用户名与密码后,点击登录按钮,登录界面向UDP服务器发送用户名与密码,UDP服务器将其与存储的用户名和密码进行对比。如果比对成功则跳转至控制界面,如果不成功登录界面则会弹出一个提示窗提醒用户登录失败,同时界面不做任何改变继续等待用户输入用户名与密码重新登录。当用户点击注册按钮时,界面会跳转至注册界面,同时登录界面被隐藏。
控制显示界面分为参数获取显示、控制、备忘录文本框三个模块,如图7所示。当用户点击“获取室内环境按钮”时,服务器将从硬件设备获取到的数据返回到控制界面,控制界面进行简单的解析后显示到界面上。当用户点击“开灯”按钮时,服务器将该信号发送给Wi-Fi模块,Wi-Fi模块通过串口将信号发送给单片机,随后做出相应控制,同时界面中央动态图片显示。同理,点击关灯、开关风扇按钮工作流程与开灯相同。
4.2.2 UDP服务器的搭建与请求处理
搭建UDP服务器首先需要创建一个套接字通信,然后填写服务器的端口号和IP地址,最后绑定套接字与本地信息即可开始网络通信。因此UDP服务器的搭建过程分为创建socket通信、填充本地信息(即填充此UDP服务器的端口号及IP地址)、绑定socket与本地信息、接收和发送信息四个步骤。
UDP服务器的求情处理包含登录注册处理、单片机与界面准备、服务器请求信息处理三个阶段。登录注册处理阶段,服务器首先解析用户名与密码中的标志位,判断其为登录还是注册,分解出用户名与密码。然后调用fopen和fcolse方法调用Linux系统下的本地文本文件,判断是否为正确的用户名和密码。单片机与界面准备表示UI界面与单片机硬件系统都已启动,当服务器接收到两组信号时进入登录循环程序。当对UI界面进行操作时,返回信号到服务器端,执行相应操作。
5 系统测试与验证
为测试系统的可靠性与有效性,对设计完成的监控系统进行了多次测试,系统各环节均能正常工作,最后整理本系统的测试结果如表1所示。
6 结束语
如何有效监测和改善家居环境是近年来备受人们关注讨论的研究课题。该系统基于单片机设计制作了一套智能家居监控系统。将各个传感器采集的数据通过Wi-Fi模块实时传输至服务器,并在UI界面中呈现给用户,用户可通过界面交互实现对单片机的控制,从而辅助改变家居环境参数。结果表明,该系统能实时监控光照、温湿度、空气质量等环境参数,具有一定的市场与应用前景。
参考文献:
[1] 王丽伟,邬迎.基于WiFi技术的家居环境监测系统的设计与研究[J].电脑知识与技术,2016,12(13):49-50.
[2] 张毅刚.单片机原理及接口技术(C51编程)[M].北京:人民邮电出版社,2011.
[3] 韩美.一种基于单片机的智能家居控制系统的设计[J].中国科技信息,2018(12):81-84.
[4] 李文菁,陈歆儒.人体舒适度与室内热环境[J].湖南工程学院学报(自然科学版),2010,20(3):72-76.
[5] 陈建新.DHT11数字温湿度传感器在温室控制系统中的应用[J].山东工业技术,2016(18):120.
[6] 吴琦.基于STC12C5A60S2单片机设计的有毒气体排除系统[J].信息通信,2016,29(1):79-80.
[7] 幸联星.基于单片机的智能家居环境检测系统设计[J].电子技术与软件工程,2020(1):59-61.
[8] 胡晓喻,陈庆奎.智能家居接入服务器策略的设计与实现[J].计算机工程与设计,2017,38(2):544-549.
【通联编辑:谢媛媛】
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!