ElectronicDesignEngineering2019年12月Dec.2019基于STM32智能家居控制系统的设计
林玩杰1,李水峰2,毛立夫3,林凯隆1
(1.广东工业大学机电工程学院,广东广州510006;2.广东工业大学实验教学部,广东广州510006;
3.广东工业大学计算机学院,广东广州510006)
摘要:设计一款Android智能手机控制的智能家居系统,采用STM32F103作为系统主处理器,使用DHT11温湿度传感器采集室内温湿度信息;通过I/O口控制灯的开和关;使用OV7670摄像头采集视频数据,采用JPEG对视频数据压缩编码并传给客户端APP进行播放。测试结果表明:用户通过手机客户端APP连接WiFi便可以远程监控家居情况,实现对家用灯光控制、环境检测以及视频监控等功能。此外,该系统运行良好,操作界面友好,满足智能家居的各项功能需求,具有一定的实用价值。
关键词:智能家居;监控系统;STM32;物联网中图分类号:TN915;TP273
文献标识码:A
文章编号:1674-6236(2019)24-0176-05
DOI:10.14022/j.issn1674-6236.2019.24.038
DesignofsmarthomesupervisionsystembasedonSTM32
LINWan⁃jie1,LIShui⁃feng2,MAOLi⁃fu3,LINKai⁃long1
(1.SchoolofElectro-mechanicalEngineering,GuangdongUniversityofTechnology,Guangzhou510006,China;3.SchoolofComputerEngineering,GuangdongUniversityofTechnology,Guangzhou
510006,China)
Abstract:ThispaperdesignsasmarthomesystemcontrolledbyAndroidsmartphone,whichuseSTM32F103asthemainprocessor.ThesystemchosesDHT11temperatureandhumiditysensortodetectcollectvideodata,anduseJPEGtocompressandencodevideodataandtransmitittotheclientAPPforplayback.Thetestresultshowsthatuserscanmonitorthehouseholdsituationremotelybyconnectingfunctionalrequirementsofsmarthomeandhasacertainpracticalvalue.Keywords:smarthome;supervisionsystem;STM32;IOT近年来,随着WiFi通信技术、物联网技术的快速发展,随之应运而生的智能家居技术也日趋成熟[1-5]。国内也有像小米、海尔等品牌企业涉足这个领域,开拓国内智能家居的市场,推动了智能家居在中国的普及[6-9]。
智能家居通过物联网技术将家中的各种设备
510006,China;2.ExperimentalTeachingCenter,GuangdongUniversityofTechnology,Guangzhou
indoortemperatureandhumidityinformation,I/Oporttocontrolthelightsonandoff,OV7670cameratoWiFiwithAPPonmobileclient,andrealizethefunctionsoflightingcontrol,environmentdetectionand
videomonitoring.Inaddition,thesystemrunswellandhasfriendlyoperationinterface,whichmeetsthe
(如照明系统、空调控制、安防系统、网络家电等)连接到一起,提供家电控制、照明控制、防盗报警、环境监测等多种功能和手段[10-13]。与普通家居相比,智能家居不仅具有传统的居住功能,兼备网络通信、信息家电、设备自动化,提供全方位的信息交互功能,提升用户体验的同时,又能节省各种资源资金的
-176-
浪费[14-17]。收稿日期:2019-04-24稿件编号:201904141
基金项目:2017年广东工业大学大学生创新训练省级项目(2017118452);2018年广东工业大学实验教学部教
学改革项目(2018syixb015)
作者简介:林玩杰(1995—),男,广东汕头人。研究方向:工业自动化生产。
林玩杰,等基于STM32智能家居控制系统的设计
本设计提出一种基于STM32的智能家居控制系统的实现方案,用户可以登录手机客户端APP的控制界面,通过WiFi技术实现对住宅设施的远程监控,包括灯光、家电的控制、环境(温湿度)的监测、视频监控等功能,构建一个高效的住宅设施管理系统,提升人们家居的安全性、便利性、舒适性。
1系统架构
智能家居系统架构主要由单片机STM32开发板、WiFi通信、Android手机客户端APP的监控界面这3大模块组成,如图1所示。
智能家居的整个设计是基于单片机STM32开发板实现的,单片机开发板主要实现灯光照明控制、环境监测、视频监控等模块的数据采集。另外,本设计开发了Android手机客户端APP作为智能家居的监控界面,通过手机连接WiFi完成数据传输,实现对单片机上各个模块的远程监控,包括灯光照明模块、环境监测模块、视频监控模块,实现了智能家居的整个控制系统。
图1
系统框架图
1.11硬件设计本)STM32设计开发板
中采用STM32开发板,选择STM32F103ZET6芯片,包括以下资源:作为64MCUkB,SRAM是一款功能十分强大的、512kBFLASH、2个基本定时器、4个通用定时器、2个高级定时器、2个DMA控制器(共12个通道)、3个SPI、2个IIC、5个串口、1个USB、1个CAN、3个12位ADC、1个12位DACIO、1个SDIO接口、1个FSMC接口以及示,口。包括温湿度传感器接口电路、STM32F103ZET6的部分接口电路图如图112个通用摄像头接口电路、
2所无线模块接口电路。
对于STM32F103开发板[18],它具有以下优点:和开发;
①接口丰富,可以方便的进行各种外设的实验②设计灵活,接口位置设计安排合理,操作方便
图2STM32F103ZET部分接口电路
顺手;
的STM32F103ZET6③资源充足,主芯片采用自带,满足大内存需512k求和字节大数FLASH据存
储,保障本设计中视频传输的稳定性。
2灯光照明模块用到的硬件只有两个)灯光照明模块
LED灯,本设计采用开发板上现有的两个LED灯,其电路在开发板上是默认连接好的,分别是DS0和DS1。其中,DS0两个是红色LED灯的熄灭模拟实现智能家居中灯光的控制。
LED灯,DS1是绿色LED灯,本设计中以这
3该环境检测模块中,)环境监测模块
主要考虑室内温湿度对于用户生活舒适度的影响,所以本设计主要对温度和湿度进行监测,并采用DHT11传感器进行温湿度数据采集。
传感器包括一个电阻式测湿元件和一个DHT11是一款温湿度一体化的数字传感器,NTC测温元
该
件。通过I/O口连接单片机微处理器,可以实时采集本地湿度和温度,传感器内部湿度和温度数据一次性传给单片机,数据采用校验和方式进行检验,有效
-177-
《电子设计工程》2019年第24期
地保证数据传输的准确性。DHT11的电路图如图3所示。
图3DHT11电路图
4视频监控模块是为解决用户对于家居安全状态)视频监控模块
的监控,用户可以实时监控住宅安全等问题[19],在设计该视频监控模块时,采用OV7670摄像头进行视频数据的采集。
器,该传感器体积小、OV7670是一颗1/6工作电压低,寸的CMOS提供单片VGA图VGA像传摄感
像头和影像处理器的所有功能。该产品VGA图像最高达到30帧/秒,用户可以完全控制图像质量、数据格式和传输方式等,OV7670应用电路如图4所示。
图4
OV7670应用电路图
5WiFi)WiFi模块是为了实现单片机上各功能模块与手
模块
机APP之间数据传输,保证数据传输的及时性和高效性。该设计的硬件采用ATK-RM04WiFi模块,这是一款高性能UART-ETH-WiFi(串口—以太网—无线网)模块。ATK-RM04WiFi模块采用串口
RS232/LVTTL)与MCU通信,内置TCP/IP协议栈,能够实现串口、以太网、无线网3个接口之间的转换,如图5所示。通过ATK-RM04WiFi模块,单片机开发板在不需要更改任何配置的情况下,直接连接WiFi的温度、模块,湿度、即可通过视频等数据。WiFi模块传输单片机上采集到ATK-RM04WiFi模块
-178的应用电路如图-
6所示。
图5WiFi模块的功能结构
图6
WiFi模块应用电路图
1.2软件设计本系统的软件设计主要是单片机开发板上各个
功能模块的设计[20],本设计使用Keil软件进行编程、仿真和调试,实现了灯光照明控制、温湿度监测、视频监控等各个模块的功能,整个软件设计流程如图7所示。首先,相对系统进行初始化,主要对进行I/O口进行初始化以确保硬件连接的稳定性;然后进入检测函数,通过检测函数进行数据采集,如灯光状态、温湿度数据、视频数据;最后再将采集到的数据进行传输。
图7
软件设计流程图
1灯光照明模块的软件设计主要实现单片机开发)灯光照明模块
板上两个LED灯的熄灭,模拟智能家居控制系统中的灯光亮灭的控制。首先,初始化与LED灯连接的
(林玩杰,等基于STM32智能家居控制系统的设计
硬件接口,然后通过设置“0”和“1”实现高低电位的控制,最终达到控制灯光亮灭的目的。
2环境监测模块的软件设计主要实现)环境监测模块
DHT11传感器温湿度数据采集和传输。DHT11数字温湿度传感器采用单总线数据格式,即单个数据引脚端口完成输入输出的双向传输。
首先,需通过函数代码对传感器进行初始化设置,若返回1,则表示检测到DHT11的存在;若返回0总线操作时序来读取,则表示检测不到DHT11DHT11的存在。然后,的温湿度值,若返回再根据单0,则表示温湿度读取成功;若返回1,则表示温湿度读取失败。在进行一系列初始化后,如果初始化成功,主函数代码则实现每个100ms读取一次数据,并将数据传输并显示在单片机开发板的显示屏上。
3视频监控模块的软件设计主要实现视频采集、)视频监控模块
视频数据传输、视频显示等功能。首先,初始化OV7670序列初始化,相关的完成初始化后,IO口,然后再完成便可进行视频图像采OV7670的寄存器集。将采集到的原始图像数据通过JPEG压缩输出给客户端APP进行实时播放,网络传输中应用层采用TRTP/RTCP协议配合来保证传输的质量,传输层与网络层采用TCP/IP协议。同时移植服务器,通过CGI的网络交互。
监听客户端APP的请求,从而实现与客户端APP1.3监控界面设计针对监控界面的设计,本设计使用Java语言开
发了Android手机客户端APP,其控制界面如图8所示,包含了温湿度模块、灯光控制模块、视频监控模块以及基础设置模块。
图8APP监控界面
智能家居系统采用传统的C/S架构,手机APP作
为客户端,嵌入式硬件作为服务器端。客户端每个模块的实现大致流程图如图9所示,首先初始化用户界面;然后开启子线程请求访问服务器,若服务器成功响应,则将数据解析出来并显示在用户界面;最后如果用户执行刷新操作,则继续访问服务器。
图9
模块实现流程图
其中客户端访问服务器采用底层Socket进行数据的传输,这样做的好处是便于把握细节,同时可以节省流量。由于网络请求通常属于耗时操作,如果直接在主线程中请求网络,则有可能导致主线程被阻塞。因此我们采用JAVA回调机制,首先在客户端开启一个子线程,然后将数据发送给服务器,最后再回调处理服务器响应的数据。
完成APP的程序设计后,可进行APP各项功能的操作。通过基础设置模块,连接单片机上的WiFi模块,实现单片机与手机APP客户端之间的数据传输,完成之后便可查看各个功能模块,如图10所示。
2系统测试
该智能家居控制系统以STM32开发板为主控制器,结合灯光模块、温湿度模块、视频监控、WiFi模块、手机客户端APP,为验证该智能控制系统的稳定性和有效性,需进行系统测试。首先,将DHT11温湿度传感器、OV7670摄像头、WiFi模块通过I/O口与单片机连接,接通电源后将程序代码烧写到STM32单片机开发板上。然后,打开手机APP的控制界面,如图8所示,点击“设置”后输入IP地址进行WiFi连接。最后,在移动端成功接入后,可以选择控制温湿度、灯光、视频、设置四个按钮并检测硬件部分的相应模块是否执行成功。图10显示了手机APP上系
统执行后的结果,系统运行良好,该测试结果满足了智能家居控制系统的设计要求。
-179-
《电子设计工程》2019年第24期
图10各功能模块的监控
3结束语
本设计是基于STM32的智能家居控制系统,以STM32为主控制器,实现了灯光照明模块、环境检测模块和视频监控模块,并开发了Android手机客户端APP作为智能家居系统的控制界面,最终通过WiFi通信技术实现了在APP上远程控制各个功能模块的设想。本设计满足智能家居的基础功能,实现成本低廉,用户操作简单,体现了智能家居的智能化、信息化、舒适性,具有良好的应用价值。
[10]朱向庆,邓浩欣,李嘉宝,等.基于STM32和Android(18):179-183.(10):76.的智能家居系统设计[J].电子设计工程,2018,26[11]李伟,张秀娟.基于STM32单片机的智能家居控2016(3):50.制系统设计与实现研究[J].科技创新与应用,[12]胡古月,黄丽华.基于STM32的温室温湿度采集[13]孟锦涛,刘淮霞.stm32单片机在室内监测研究[J].[14]余金遥.基于GPRS的网络监控系统的研究[D].荆[15]耿树芳,王宁,张雪莹,等.一种基于STM32的智[16]樊智一.基于STM32的无线WIFI温湿度监测系[17]林建华,林二妹.基于STM32无线网络智能家居(2):35-39.统设计[J].电子世界,2016(18):35-37.然科学版,2018,18(4):26-30.州:长江大学,2018.计算机产品与流通,2018(8):74.系统[J].浙江农业科学,2013(8):1053-1055.参考文献:[1]向兵,刘成.浅谈嵌入式智能家居系统设计[J].民[2]李志凯,江桂升,余丽红,等.基于STM32的智能[3]闫华,戴月真,曹晓慧,等.基于STM32的智能家[4]党鹏,马菁.物联网在智能家居中的应用与发展[5]冯飞雨,于春梅,胡立锋.基于S3C2440的嵌入式(16):3569-3572.[J].计算机产品与流通,2019(4):120.(14):167-146.家居控制系统设计[J].电脑与电信,2018(12):4-7.营科技,2018(11):58.能家居无线网关设计[J].廊坊师范学院学报:自居设计[J].城市建设理论研究(电子版),2018控制系统设计与实现[J].攀枝花学院学报,2019远程视频监控系统的设计[J].安防科技,2010,31[18]韩媛媛,周皓,陈金辉,等.基于STM32F103的光[19]蒲星星,王建设,高玉闪,等.液氧煤油发动机故26-31.电力,2017(6):73-77.伏电站智能直流汇流箱监测单元的研究[J].陕西[6]陶冶.基于Arduino和WiFi的温室监控系统[J].物[7]郭俊.基于安卓智能家居App控制系统及用户行[8]郭哲.以WiFi技术为基础的智能家居系统探究APP的设计与开发[J].科技创新与应用,2016-180-[9]杨利荣,李伟.基于Android平台的空气质量监测[J].电子测试,2019(4):65-67.为研究[D].南昌:南昌航空大学,2018.联网技术,2019,9(3):23-24,26.障监控特征参数提取研究[J].火箭推进,2017(6):[20]庄宿国,赵伟刚,杨霞辉,等.基于AutoCAD平台(3):47-52.的涨圈密封参数化软件开发[J].火箭推进,2017
因篇幅问题不能全部显示,请点此查看更多更全内容