基于STM32的多功能家庭智能安防系统_第1页
基于STM32的多功能家庭智能安防系统_第2页
基于STM32的多功能家庭智能安防系统_第3页
基于STM32的多功能家庭智能安防系统_第4页
基于STM32的多功能家庭智能安防系统_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要随着经济飞速发展,科技水平不断创新提高,人工智能和物联网技术的越来越成熟,智能系统成为了人们的日常生活中的新选择。然而现代化的生活方式也注定了新的智能安防系统已经渐渐出现,为了加强家庭环境安全系数的智能安防系统。本文设计了一种基于STM32的家庭智能安防系统,方便人们家中常用。本文首先对家庭安防系统在国内外的发展状况进行了比较,明确了本研究的主要内容和设计指标。本文提出了基于STM32的嵌入式系统,采用OV2640摄像头对实时家庭环境进行实时监控,采用火焰传感器、MQ-2烟雾传感器、红外传感器模块实现了实时烟雾浓度,可燃性气体浓度采集并显示、火焰检测、红外检测的功能,其次结合APP的设计实现远程显示监控出现异常报警提醒的功能。本文通过阐明对家庭智能安防系统的硬件构成、软件设计、测试方案设计等,并自主搭建了系统的测试平台。测试结果表明:手机App可以远程获取摄像头采集的视频监控信息,接收室内传感器采集的各种信息,有异常情况可以实现报警提醒。经过测试系统的一系列测试,顺利的验证了本文基于STM32的多功能家庭智能安防系统设计的可行性和安全性。关键词:嵌入式系统,物联网技术,传感器数据检测,实时远程监控,智能安防系统ABSTRACTWiththerapiddevelopmentoftheeconomy,theleveloftechnologycontinuestoinnovateandimprove,artificialintelligenceandInternetofThingstechnologyisbecomingmoreandmoremature,intelligentsystemshavebecomeanewchoiceinpeople'sdailylives.However,themodernwayoflifeisalsodestinedtonewintelligentsecuritysystemshavegraduallyemerged,inordertostrengthenthehomeenvironmentsecurityfactoroftheintelligentsecuritysystem.ThispaperdesignsanSTM32-basedhomeintelligentsecuritysystemtofacilitatethecommonuseofpeopleathome.Thispaperfirstcomparesthedevelopmentstatusofhomesecuritysystemsathomeandabroad,andclarifiesthemaincontentanddesignindicatorsofthisstudy.ThispaperproposesanembeddedsystembasedonSTM32,usingOV2640cameraforreal-timemonitoringofreal-timehomeenvironment,usingflamesensor,MQ-2smokesensor,infraredsensormoduletoachievereal-timesmokeconcentration,combustiblegasconcentrationcollectionanddisplay,flamedetection,infrareddetectionfunctions,followedbythecombinationofAPPdesigntoachieveremotedisplaymonitoringofabnormalalarmReminderfunction.Thispaperillustratesthehardwarecomposition,softwaredesignandtestprogramdesignofthehomeintelligentsecuritysystem,andbuildsthetestplatformofthesystemindependently.Thetestresultsshowthat:thecellphoneappcanremotelyobtainthevideomonitoringinformationcollectedbythecamera,receiveavarietyofinformationcollectedbytheindoorsensors,andalarmalertscanberealizedincaseofabnormalities.Afteraseriesoftestsonthetestsystem,itsuccessfullyverifiesthefeasibilityandsafetyofthispaper'sSTM32-basedmultifunctionalhomeintelligentsecuritysystemdesign,whichhasacertainreferencevalueintheintelligentsecuritysystemindustry.KEYWORDS:Embeddedsystems,IoTtechnology,sensordatadetection,real-timeremotemonitoring,intelligentsecuritysystems目录TOC\o"1-3"\h\u21853摘要 16730ABSTRACT 214901目录 421454第1章绪论 627291.1研究背景及意义 6194731.2国内外研究现状 7171811.2.1国外研究现状 793761.2.2国内研究现状 87261.3论文主要研究内容与章节安排 97145第2章家庭智能安防系统的功能与参数指标及总体方案设计 11168312.1家庭智能安防系统的功能定义与参数指标 1162692.2多功能家庭智能安防系统的总体方案设计 12105472.2.1硬件方案设计 13120772.2.2软件方案设计 15205052.2.3测试方案设计 188282.3本章小结 1823763第3章多功能家庭智能安防系统硬件构成 1963983.1多功能家庭智能安防系统硬件概述 19255613.2多功能家庭智能安防系统硬件电路 20139843.2.1STM32F103C8T6芯片的GPIO扩展接口电路 20204693.2.2STM32F103C8T6与系统其它子模块的硬件电路连接 2130463.3系统硬件电路搭建与实物展示 26188023.4本章小结 2724866第4章多功能家庭智能安防系统软件设计 28316844.1家庭智能安防系统软件设计概述 28201554.2多功能家庭智能安防系统软件程序设计 29218724.2.1主程序设计 29189294.2.2硬件驱动程序设计 30318094.2.3实时视频监控系统程序设计 35309194.2.4APP用户端程序设计 38163924.3本章小结 403640第5章多功能家庭智能安防系统测试 41267495.1测试目的与内容 41146295.2测试过程与结果 41243085.2.1MQ-2烟雾传感器模块测试 41173115.2.2火焰传感器模块测试 44314995.2.3红外检测模块测试 46116305.2.4摄像监控模块测试 48126705.2.5系统各模块综合测试 4992365.3本章小结 507861第6章总结与展望 5129666.1总结 51294026.2展望 519931参考文献 5413166致谢 598976诚信声明 61第1章绪论本章主要对基于STM32的多功能家庭智能安防系统设计的研究背景及意义、国内外研究现状进行了简单的阐述,同时对论文的主要研究内容和章节安排进行了概述。1.1研究背景及意义当前社会中,物联网发展迅速。与互联网相比,物联网的解决问题的范围相对较小REF_Ref5240\w\h[1]。如果互联网的解决范围是一千米,那么物联网的解决范围只有一百米。然而,即使在这一百米的范围内,也有无数的“窥视者”在等待机会。物联网行业已将家居市场作为主要渗透和发展对象,这已经成为各大物联网企业公司的热门关注点REF_Ref7089\w\h[2]。随着物联网的加速发展和政府的互联网+政策引导REF_Ref1227\w\h[3],智能家庭将会越来越局域化,进一步变成家居生活环境的物联网。然而,智能家庭系统内部连接通信的问题仍然是现代智能家庭领域的难点之一。此外,中国智能家庭产品市场正在掀起一股未来智能家庭安防的发展潮流,因此,能否趁势而为,分得这块智能家庭安防市场的一杯羹,将成为智能家庭安防企业的首要考虑REF_Ref3852\w\h[4]。目前建筑领域已经全面运用现代化科学技术,实现健康、智慧、可持续发展的同时,随着社会的发展,经济水平不断提高,生活水平也越来越好,人们对美好生活的向往使得对于住宅再也不像改革开放前REF_Ref8274\w\h[5-REF_Ref6742\w\h6],只是局限于居住的需求,在安全性以及多功能性上也提出了更高的需求。在日常生活中,家庭是与要与外界社会进行交互、交流的单元,不是独立的个体。如何快速、有效构建一套防火、防盗的家庭安防系统便显得尤为关键REF_Ref10224\w\h[7]。通过在人们家居生活中运用该系统可以显著提升家居艺术性、安全性、个性化及智慧性等。而智能家居中比较关键内容便是能对家居设备进行远程监控REF_Ref25170\w\h[8],具有便捷性以及安全性等诸多优势。对比常规家居,智能家居拥有传统家居功能的而同时,还有智慧家电、网络通信及远程控制等功能REF_Ref25216\w\h[9-REF_Ref25226\w\h10]。智能家居是当前一种新型产业,还处在摸索发展阶段,并未形成成熟的市场消费观念。然而在不断推广与普及智能家居市场下,消费者对于家居的操作习惯在逐渐培养,还需要很长一段时间去适应REF_Ref3852\n\h[4]2。目前大多数家居安防系统受到技术的局限性造成功能不全面,仅能防护常见的一两种灾害,难以实现全面监控与防护REF_Ref25846\w\h[11]。报警系统作为传统安防系统的主要部分,各灾害报警系统间具有独立性,也时常会出现漏报、误报警现象,且大部分业主无法及时收到报警信息,导致最佳处危机时间被耽误,造成严重的经济损失,严重威胁人身安全。首先,在我国的学术研究领域内,关于传感器网络的学术研究内容众多,关于家庭安全防护的学术研究内容也繁多,但是将两者联系在一起进行研究的相对较少REF_Ref25909\w\h[12]。因此,该系统设计为设计与实现基于传感器网络的家庭安防系统,可以帮助人们无忧的解决家庭安防问题,并且,虽然我国社会整体治安环境良好,但是在家居方面还是存在一些安全隐患,一方面来自电器使用的不当,一方面也来自社会的不稳定,继而家庭安防系统开始兴起,诸如小米、美的、阿里巴巴等企业均开始涉及到家庭安防系统的设计,并取得了一定成果REF_Ref25957\w\h[13]。该系统设计以基于传感器网络的家庭安防系统的设计与实现为题,基于当前我国家庭安防的切实所需,从总体方案、硬件和软件三个方面进行了设计,具备火灾预警、手机远程控制、实时检测报警等家庭安全防护功能REF_Ref26003\w\h[14-REF_Ref26006\w\h15]。因此,在提升我国居民家居安全防护水平,提升居民生活质量上具有一定给的现实意义REF_Ref3852\n\h[4]3。1.2国内外研究现状目前国内外众多研究学者对家庭智能安防系统做了大量研究,并取得了一定研究成果,本节将从国外研究现状、国内研究现状两部分进行叙述。1.2.1国外研究现状家庭是构成社会的主要单元,未来家庭中各种各样的家用电器、数据采集模块成为组成家庭内部网络的核心,利用家居安防控制控制中心连接英特网,而现代化科学技术的发展也会直接影响家庭控制网络未来的发展趋势REF_Ref26255\w\h[16]。智能家居在不久的将来,发展趋势将分为以下几个方向,即集约化终端、智能化感知、无线化终端接入REF_Ref26343\w\h[17-REF_Ref26349\w\h18]。Aguirre学者在研究智能家居过程中提出,智能家居其最终的目的在于强化家居安全性、便利性、艺术性等,它是以住宅作为平台,构建一个功能完善的智能化住宅设施与家庭事务系统,在实现结果的过程中运用各种现代化网络技术集成人们家居生活中各种相关设施,而智能家居中,比较关键的结构便是对家居设备进行远程操控,具有便捷性以及安全性等多种优势REF_Ref3852\n\h[4]4。智能安防在北美地区一直处于领先地位。其主要采用联网报警的方式进行系统开发,将整个安防产业纵向整合REF_Ref26558\w\h[19-REF_Ref26562\w\h20]。该行业成功结合了许多高科技技术和产业化管理理念,成为一个强大的综合性产业。在北美市场,ADT公司是一颗耀眼的明珠,贯穿整个智能安防系统的发展历程。从30年代最简单的防盗报警,到70年代的联网报警,再到当前将众多先进技术融合的报警系统REF_Ref26682\w\h[21-REF_Ref26686\w\h22],该公司推出了新一代智能安防平台。ADT公司在全球拥有大量用户,并且其营业额一直保持上升趋势。随着安防系统的不断成熟和壮大,ADT公司的地位也日益重要。保险业也积极推广安装安防系统,并提供最有竞争力的保险套餐REF_Ref6742\w\h[6]。国外较多学者展开了对智能家居领域的探究REF_Ref26699\w\h[23]。研究指出,早在上世纪八十年代初期,智能家居建筑首次在美国被设计出来,是智能家居领域发展的领头羊REF_Ref26836\w\h[24-REF_Ref26839\w\h25]。随着经济的发展,世界各国均结合自身国情角度,提出了与本国发展相适应的智能家居理念。其中,德国、日本和韩国等发展速度相对较快的国家,智能家居的普及率相对较高。自从上世纪九十年代末期的国外恐怖袭击事件时有发生后,安防产业受到了人们的普遍关注。安防产业的兴起,带动了家庭安防行业的快速发展。日本索尼公司也不针对家居只能够化的发展现状,推出应用变焦摄像机实现监控。该机器的智能化体现在通过VISCA协议命令集,变焦摄像机能够通过RS-485接口实现所有功能,且新型的监控设备可以与IP解决方案进行混合,帮助用户实现远程式监控REF_Ref3852\w\h[4]4。1.2.2国内研究现状与美国、日本等一些发达国家相比,我国对于智能家居领域的研究起步较晚,直到二十世纪末才开始从国外引进相关技术,用于国内智能家居产业的发展REF_Ref27114\w\h[26]。我国的智能建筑大致发展于上世纪90年代,北京发展大厦的建成标志着我国智能建筑初具雏形,该大厦集监控、消防等安防相关功能于一体,实现了建筑设计领域的智能化发展REF_Ref27140\w\h[27]。我国早期的安防产品占据价格低的优势,但也存在着功能单一的显著劣势,并且由于缺乏统一标准导致各个厂商生产的产品无法兼容,从而极大增加了智能安防系统的研发成本。此外,借助有线组网的安装方式也使得智能安防系统的安装变得更为复杂,需要依托更先进的技术并耗费较高的成本REF_Ref27176\w\h[28]。这些原因导致了智能家居安防系统无法在我国得到迅速推广,其早期的发展趋势较为缓慢。在智能手机未普及前,智能家居系统的终端都是个人计算机,通过多种传感器以及通信设备共同构建而成REF_Ref27208\w\h[29]。依托个人计算机实现的系统虽然能够对入室盗窃、火灾等异常情况做出反映并报警,基本满足用户的安防要求,但也明显存在着数据无法实时传输、用户使用不方便、需要投入的时间成本与技术成本较大等问题。2009年,海尔推出我国早期的智能家居系统。并在2018年率先发布了首个全场景定制化的智能家居系统。系统允许用户自定义生活服务,包括对家中用水、空气、洗护等环境的设置REF_Ref27244\w\h[30]。智能家居被列入2012年我国“十二五”规划的发展战略,随后在政府多项政策的大力支持下,智能家居领域在我国取得了迅猛的发展。市场上逐渐出现了一些完整的智能家居产品,并朝着系统化的方向发展REF_Ref27345\w\h[31]。随着智能手机的流行,将智能手机本身的智能性同安防系统相结合后,能够取代传统的GSM网络实现通信REF_Ref3852\n\h[4]。2014年,我国的智能家居得到了迅猛的发展。这一年互联网和家电产业的各大巨头公司纷纷加入智能家居行业。例如长虹公司推出了智能电视。海尔U-Home、美的智慧、小米物联等公司也均增加了智能安防系统。2015年,华为进军智能家居市场。在2018年,华为推出“百亿计划”,利用华为先进的技术以及世界知名的影响力推动了我国在智能家居领域的发展REF_Ref27381\w\h[32]。欧美等发达国家开发的防盗报警系统主要在智能化小区上应用。我国在设计开发家庭安防报警系统方面与国外发达国家对比相对落后。二十世纪八九十年代欧美等发达国家已经开始应用这种联网报警模式REF_Ref27443\w\h[33],近些年来我国IP网络发展迅速,一些防盗报警设备厂商也开始尝试这种报警方式。基于TCP/IP协议的联网报警模式优势显著,如:安装设备便捷性、灵活性强、运行稳定性安全性高等REF_Ref27473\w\h[34-REF_Ref27476\w\h35],在该优势下受到大量设备厂商与用户的喜爱。然而,这种方法存在一些缺点。它只能在小区内部使用,因为在装修时已经接入了无线网络,不需要进行额外的布线。但是,当各子节点连接到IP网络后,会消耗大量电量。更重要的是,利用IP网络联网的报警系统在特定环境下容易受到病毒入侵或人为破坏,并可能受到泄漏报警信号的干扰REF_Ref27528\w\h[36-REF_Ref27531\w\h37]。因此,在中国,目前小区内部使用的报警系统主要还是专用总线,而IP网络还没有完全普及和应用REF_Ref3852\n\h。伴随科学技术的提升与社会的发展,越来越多人安全意识也发生变化,尤其是认识到家庭安防的重要性,从而推动基于GSM网络的互联网报警系统快速发展REF_Ref27564\w\h[38]。“十一五”期间我国住宅产业呈现迅猛发展状态,家庭安防行业在该系统的推动下发展规模也逐步扩大。如今科技浪潮席卷人们生活,安防系统中有机的融合计算机技术、嵌入式技术、传感器技术及网络技术促进系统发展的更完善,在安防系统的作用下保证人们的生命财产安全,在维护社会安全稳定与保障公共安全领域发挥重要作用REF_Ref27613\w\h[39-REF_Ref836\w\h40]。1.3论文主要研究内容与章节安排本文主要研究了在基于STM32单片机上实现了多功能家庭智能安防系统设计,以STM32芯片为基础,主要设计了传感器采集数据模块、WIFI物联网通信模块、视频监控模块等。该设计总体目标是采用STM32驱动ESP8266控制通过传感器采集所需要的环境数据,经网络将MCU采集到的数据上传到云端服务器,家庭人员能够通过手机APP端实时监测家庭内部环境状况以及实时视频监控图像。MCU能够及时的感知到家庭内部的安防预警信息,并进行声光报警以及在用户APP的安防消息接收窗口能够及时的收到突发的预警消息。形成一个实时性好、部署简单、低成本的家庭安防与环境监测系统。整体实现了随时警惕人们居家环境是否异常,有效保护家庭环境安全的功能。本文基于嵌入式系统、传感器实时检测、物联网远程通讯等理论基础对基于STM32的多功能家庭智能安防系统设计展开研究,本文主要是以STM32F103芯片为基础,主要研究了传感器采集数据模块、WIFI物联网通信模块、视频监控模块等。从而实现下列功能:通过火焰传感器监测家中是否有明火危险。通过人体红外传感器进行人体红外检测。通过烟雾传感器监测家中烟雾情况。通过ESP8266WIFI模块MQTT协议连接物联网平台将接收到的监测数据发送至云平台,然后云平台将接收到的各种实时数据显示在物主手机上,实时警惕并且有异常情况发出警报,并且告知相关人员以达到防范目的。通过摄像头视频监控模块拍摄实景显示在物主特制APP屏幕上观测家中是否有异常情况,并且判断家中发生异常情况是否发生错误报警等。本文主要基于STM32的多功能家庭智能安防系统设计研究,将根据家庭智能安防系统功能及需求,通过选择相关的技术,对系统进行设计与实现,并对该系统进行相应的测试。本文在章节设置上主要分为以下6章。第1章论述本文研究的背景、意义和国内外研究现状,并对课题研究内容安排。第2章给出系统方案设计框图,分别介绍系统硬件方案设计、软件程序方案设计和测试方案设计。第3章叙述系统的硬件设计与实现,主要包括:视频监控模块、传感器模块、WiFi通讯模块等子模块。第4章论述系统的软件程序设计,包括:主程序设计、传感器采集信息设计、监控视频采集设计、远程数据传输设计、远程图像显示设计、APP用户端程序设计以及报警系统等程序设计。第5章阐述基于STM32的多功能家庭智能安防系统设计的相关测试设计,明确测试目的和内容,对系统各模块的实现以及系统的整体运行进行测试验证,并对测试结果进行分析与总结。第6章总结本文所设计的基于STM32的多功能家庭智能安防系统设计可以实现的功能,并分析系统中需要进一步完善和研究的问题,完成总结与展望。家庭智能安防系统的功能与参数指标及总体方案设计本章首先对基于STM32的多功能家庭智能安防系统的各模块功能进行了定义,然后对系统设计方案进行了叙述,并分别从硬件方案设计、软件方案设计以及测试方案设计进行了详细的阐述。2.1家庭智能安防系统的功能定义与参数指标图2-1基于STM32的多功能家庭智能安防系统功能定义框图本文设计的多功能家庭智能安防系统从人工智能,软硬件结合视觉角度对家庭内实时环境进行检测,结合传感器模块对实时环境实时数据进行采集,实现了对家庭环境检测以防出现异常的功能。除此之外,本系统还具有视频监控模块,配合各传感器模块进行实时监控;对周围环境的是否有明火危险、是否存在过大烟雾、是否有外来人员进入进行显示若出现异常及时报警的功能。该系统的具体功能定义和主要技术指标如下:系统应能实现家中环境的实时视频采集;并且远程监控的视频画面分辨率可以自己设定调节,具有160×120、240×176、320×240、400×296、640×480、800×600、1024×768、1280×1024、1600×1200多种分辨率可供选择系统可对火焰、烟雾、人体红外进行检测;当系统检测明火、强光、超过阈值的烟雾浓度,可以采用APP声音报警进行提醒;系统应可对所处环境的烟雾浓度、可燃性气体进行采集并显示,每隔1s更新一次数据,烟雾可燃性气体测量范围应为0-1000ppm,精度至少为±10ppm。系统应可对可见明火、强光照射、人体红外热感应进行检测,测量范围至少大于100cm。系统应可对摄像头监控的区域实时进行传输视频数据方便观测,并结合传感器数据进行判断是否发生异常情况。2.2多功能家庭智能安防系统的总体方案设计根据系统的功能定义和参数指标要求,本文设计的基于STM32的多功能家庭智能安防系统方案框图如图2-2所示。图2-2基于STM32的多功能家庭智能安防系统方案设计框图在图2-2中,该系统主要由基于STM32的系统传感检测模块以及基于ESP32-CAM的摄像监控模块两大部分组成。系统传感模块主要包括:火焰传感器模块、烟雾传感器模块、人体红外传感器模块,其中,火焰传感器模块、烟雾传感器模块、人体红外传感器模块通过GPIO接口直接与主控制器STM32103芯片相连。火焰传感器模块、烟雾传感器模块、人体红外传感器模块主要对环境数据进行实时采集,每隔1s采集一次,并利用OLED屏幕、APP用户端进行实时显示;烟雾传感器模块对可燃性气体以及烟雾浓度进行测量,通过AD转换模块将烟雾传感器模块所采集的烟雾浓度值数字化,并通过OLED显示屏、APP监控界面实时显示,当浓度大于所设置的阈值时,利用蜂鸣器和APP用户端进行报警提示;火焰传感器模块使用对可见明火、强光照射、热源进行实时检测,并实时显示在OLED屏幕、APP监控界面中,若出现异常进行报警,OLED和APP界面显示火焰情况异常。人体红外传感器模块对人体红外热源进行实时检测,若出现异常进行报警,OLED和APP界面显示红外情况异常。基于ESP32-CAM模块,首先通过自带的ESP8266进行联网采集摄像头拍摄视频数据,再通过MQTT协议物联网技术进行上传云端的过程,最后通过上位机APP用户端视频监控界面访问IP地址查看摄像头监控画面,并结合传感器采集的数据进行判断是否出现异常情况。“基于STM32的多功能家庭智能安防系统”作为一种可在智能家居、智能安防等领域广泛应用的系统,其设计与应用势必受到社会、健康、安全、法律、文化及环境等多种因素的影响。本次设计采用的ESP32-CAM涉及WiFi联网、物联网等,可能会出现家庭网络承受度增加、功耗增加,黑客攻击个人隐私泄露等安全隐患。本次设计中的火焰传感器模块受光强影响较大。在设计过程中还应该注意避免在光强太大的环境中使用。设计的传感器模块、视频监控模块系统硬件涉及高频电路,这些高频电路在工作中会消耗电能和电磁辐射,可能会对周边的环境及人的健康可能会造成一些影响,而国家法律法规、行业标准对电子产品的能耗、辐射等有相应的要求,因此本次系统设计受国家与行业相关能耗、辐射安全标准的制约。设计的视频监控模块可能会采集周边环境与人员的图像、视频信息,而这些图像可能涉及个人隐私、公共安全等敏感信息,因此,系统设计时,必须考虑如何保护个人隐私、公共安全等涉密信息,避免系统应用时,给社会、安全、文化带来不利影响,甚至可能产生法律问题。设计的基于STM32的多功能家庭智能安防系统对人们居家,家庭环境安全、人身安全、财产安全有积极作用,会对人们的身心健康、社会生产与生活方式、人工智能技术的发展产生直接有益影响。2.2.1硬件方案设计本文设计的基于STM32的多功能家庭智能安防系统硬件部分主要完成实时数据采集、实时数据显示、实时摄像监控的功能,主要有传感器采集采集模块、视频摄像监控模块、OLED显示模块,其设计方案框图如2-3所示。图2-3基于STM32的多功能家庭智能安防系统硬件方案设计框图本文选用的硬件模块各部分应该具有处理能力强、可编程性强、成本低以及可外接摄像头的功能,对比多个系列的处理器性能、功耗和成本,考虑到社会、健康、安全、法律、文化及环境等多种因素的影响,最终本文选择基于STM32F103为主控的开发平台。该器件价格实惠,是一款基于\t"/item/STM32F103C8T6/_blank"ARM

\t"/item/STM32F103C8T6/_blank"Cortex-M

内核\t"/item/STM32F103C8T6/_blank"STM32系列的32位的\t"/item/STM32F103C8T6/_blank"微控制器,\t"/item/STM32F103C8T6/_blank"程序存储器容量是64KB,频率为72MHz。包括多个UART、SPI、I2C接口以及USB2.0全速设备接口。12位ADC,转换速率为1Msps。需要电压2V~3.6V,\t"/item/STM32F103C8T6/_blank"工作温度为-40°C~85°C。STM32F103C8T6具有强大的处理能力和丰富的外设资源,可以广泛应用于各种嵌入式系统中,如智能家居、工业自动化、机器人控制等领域REF_Ref28070\w\h[41]。同时,该芯片也有相对较低的价格和易于开发的特点,备受广大用户的喜爱和推崇。符合本次系统的设计要求以及成本预算。火焰传感器模块:该模块可用于检测火焰或波长为760nm至1100nm的光源。在打火机测试中,该模块可以测出火焰距离为80cm。当火焰越大时,测试距离也会相应增加。此外,该模块的探测角度约为60度,对火焰光谱特别敏感。其工作电压在3.3V至5V之间,可输出数字开关量和模拟电压REF_Ref28015\w\h[42]。此外,小板输出接口可直接连接至单片机IO口。各综合数据功能良好符合本次设计的要求。烟雾传感器模块需要实现用户所处环境的实时烟雾浓度、可燃性气体浓度的采集功能,本文采用MQ-2烟雾传感器获取环境中的烟雾浓度和可燃性气体浓度数据。经过查阅得到这种传感器对可燃性气体的浓度变化具有极其高的敏感度,尤其是对烷类烟雾浓度变化更为敏感,同时具有非常出色的抗干扰能力,这样以来就能够准确排除有刺激性但非可燃性的烟雾干扰信息。其检测范围可达100-10000ppm,适用于可燃气体和烟雾的检测。符合本次系统设计的功能定义。人体红外传感器模块主要配合视频监控实现检测家中异常情况,是否有陌生人闯入的功能。人体红外传感器是一种能够检测人或动物身体所发射的红外线,并通过输出电信号进行反馈的传感器。该传感器的工作电压为3~5V,静态电流为50μA,工作温度范围为0℃~+70℃,电平输出为4V,感应角度为110度,感应距离为7米。它主要应用于红外线防盗报警器、高速公路车辆车流计数器、公共安防等场景中REF_Ref28132\w\h[43-REF_Ref28224\w\h44],具有稳定性高、准确度高等优点。ESP8266是一种高性能的WIFI串口模块,内部集成了MCU,可以实现单片机之间的串口通信。它是目前使用最广泛的WIFI模块之一,支持单AP模式、单STA模式和混合模式(可以在两种模式之间切换)。在AP模式下,ESP8266可以产生热点,提供无线接入服务,允许其他无线设备连接并提供数据访问。一般的无线路由器/网桥工作在该模式下,对应TCP传输协议中的服务端(TCPServer)。在STA模式下,ESP8266作为连接到无线网络的终端(站点),可以连接到AP。一般的无线网卡工作在该模式下,对应TCP传输协议中的客户端(TCPClient)。简单的说,当ESP8266处于AP模式下,那么就可以将ESP8266作为热点,让其他设备连接上它;当处于STA模式时,就可以连接上当前环境下的WIFI热点。透传(透明传输)指的是不需要关心WIFI协议的实现方式,只需要通过串口发送和接收数据。ESP8266主要负责将传感器数据上传云端,并返回显示的功能。ESP-CAM模块主要实现远程实时摄像监控的功能,安信可公司推出的最新的ESP32-CAM摄像头模块,它是一款小型化的模组,可独立工作,并仅占据2740.54.5mm的空间,深度睡眠电流可低至6mA。该模块广泛适用于各种物联网场景,例如家庭智能设备、工业无线控制、无线监控、无线QR识别、定位系统和其他物联网应用。作为物联网应用的解决方案,ESP32-CAM采用低功耗双核32位CPU,主频率高达240MHz,运算能力达到600DMIPS;内置520KBSRAM和外置8MBPSRAM;还支持众多接口,例如UART、SPI、I2C、PWM、ADC和DAC,同时也支持OV2640和OV7670摄像头,以及内置闪光灯,并支持图片WiFI上传等功能。完全符合本次基于STM32的多功能家庭智能安防系统的设计要求。2.2.2软件方案设计本文设计的基于STM32的多功能家庭智能安防系统软件部分主要实现初始化配置、对硬件的程序驱动、传感器数据采集与显示、上位机APP制作和实时显示等功能,系统软件方案主要包括主程序、硬件驱动程序、传感器数据采集与显示程序、上位机APP制作和实时显示程序设计四个部分。设计框图如图2-4所示。图2-4基于STM32的多功能家庭智能安防系统软件方案设计框图为实现预期功能,本文的软件程序设计采用了C语言进行编程。C语言在现今社会仍然有着不可替代的广泛应用性。C语言广泛应用于底层开发,因为它可以用一种简单的方式编译,处理低级别内存。它还是一种高级语言,编写代码比汇编语言更加简单、易于理解和维护。那么在嵌入式系统这方面,采用C语言编程有很多缘由:C语言具有很强的可移植性,可以在不同的平台上编写和运行代码,这对于单片机的应用非常重要。它具有丰富的函数库,可以方便地调用各种常用的函数,比如数学库、字符串库等,这使得编程更加高效和便捷。C语言支持指针,可以直接访问内存中的数据,这对于单片机的应用非常重要,可以提高程序的运行效率。总之,C语言是一种功能强大、易于学习和使用的编程语言,非常适合用于单片机编程。因此,它既可以用于系统程序开发,也可以用于应用软件开发。嵌入式系统是以单片机为核心的软硬件结合,旨在完成特定任务。单片机编程是一种电子技术,通过编写代码来控制单片机的行为。单片机是一种集成电路,可以控制电机、读取传感器数据和显示文本等。程序员使用特定的编程语言和软件工具编写代码,并将代码上传到单片机中,以满足特定需求。单片机编程广泛应用于现代电子设备,如家用电器、汽车和电脑等。在单片机编程中,需要考虑到单片机的程序空间和数据空间有限,因此需要编写尽可能短小精悍的代码,以节省存储空间。单片机编程的主要目标是对单片机的端口和内部寄存器进行操作和配置,需要精确的时序控制。在单片机算法运算中,应尽量使用加法、减法和移位运算,而避免使用乘法和除法运算,因为它们会消耗大量时间和存储空间。高级语言可以实现更优化的算法和更方便的执行方案,但是对程序存储空间的占用较大。C语言代码执行效率高,精简,易于移植,因此在现代单片机编程中占据主导地位REF_Ref28332\w\h[45]。ESP32-CAM摄像监控模块采用ArduinoIDE进行编写烧录,Arduino是一个开源的硬件开发平台。Arduino应用的场景众多。基本的idea是通过编写程序,与各类传感器交互、控制其他部件、与其它设备通信。上位机APP制作这部分我采用了AppInventor制作平台。AppInventor是一款由Google开发的免费的应用程序开发工具,它可以帮助用户轻松地创建Android应用程序,无需编写复杂的代码。AppInventor还提供了一个可视化的界面,可以通过拖放图形化组件来构建应用程序,这样可以更好地理解应用程序的结构和功能。Appinventor特点:可视化编程:通过拖拽和连接各种组件,使编程变得直观易懂,降低了编程门槛。适合初学者:AppInventor提供了丰富的教程和示例,使初学者能够快速上手。跨平台:可以在Windows、MacOSX和Linux等多个操作系统上运行。支持多种组件:AppInventor支持多种组件,包括按钮、文本框、图片、音频、视频等,可以轻松实现各种功能。云端编程:AppInventor可以在浏览器中进行编程,无需下载和安装任何软件。实时预览:在编程过程中,可以实时预览应用程序的效果,方便调试和修改。自身提供强大调试功能,调试中任何代码的变更就会自动同步到进行调试的手机或模拟器当中,无需重装APP进行反复调试。采用Appinventor的目的就是Appinventor采用图形化编程,不需要复杂的代码去支持,只需自己看懂逻辑,采用图形框图逻辑编程。这个Android编程环境完全在线,采用可视化图形模块语言。这款工具软件可将代码编写并封装成模块,使用者只需使用模块积木的拖拽堆叠方法,添加服务选项和调整相关参数,即可简单有趣地进行程序外观设计和程序运行行为与流程的设定,完成程序拼装。编程环境非常友好。这也是Appinventor的一大优势。2.2.3测试方案设计系统测试是为了发现存在的错误而改进的一种过程,测试的目的是为了证明系统设计方案能够达到参数指标要求。为了验证本文设计的基于STM32的多功能家庭智能安防系统在家庭环境数据采集时的准确性以及发生异常后是否能惊醒主人,达到避免发生财产损失、威胁家庭安全环境和人身安全的目的。在系统设计结束后需要对各模块的功能进行测试,测试主要包含以下两个方面:系统各模块单独测试ESP-CAM模块摄像头是否可以采集实时视频信息,采集到视频信息是否可以远程实时传输;火焰传感器是否在可允许的误差范围内,检测出明火、强光、热源等;MQ-2烟雾传感器采集的数据是否准确,能否实现采集与显示的数据对应家庭环境中实时变换的环境数据;人体红外传感器是否工作正常,能否检测到可检测范围内出现的物体,出现异常准确发出警报。APP是否能准备显示传感器检测的实时数据,当数据异常时是否能开启警报提醒物主;是否能顺畅显示实时监控画面配合传感器各项检测数据作出判断以防发生不必要的损失。系统各模块综合测试首先拼接好系统整体硬件架构,烧入写好的程序进行综合测试,测试多功能家庭智能安防系统的各传感器是否可以实时采集环境数据并上传,其次在不同的环境下测试传感器模块的数据采集是否正常,记录其采集的数据的正确率与大致区间;再其次测试视频监控模块是否能和传感器模块同时运行并能无误准备上传实时摄像信息且能在APP端正常显示,最后测试各个功能模块整体运行时,电压电流是否供电正常;各种环境影响和人为因素影响下系统是否会出现异常等情况。确保系统运行时,硬件软件APP整体可以同时运行,互不干扰。2.3本章小结本章主要对多功能家庭智能安防系统的功能与参数指标及总体方案设计进行详细阐述,并对硬件设计方案、软件设计方案以及测试设计方案进行了详细规划,对系统搭建过程中的影响因素进行了分析。多功能家庭智能安防系统硬件构成本章主要阐述基于STM32的多功能家庭智能安防系统硬件平台搭建过程以及各个子模块的功能介绍,同时分模块叙述各个子模块的实现过程。3.1多功能家庭智能安防系统硬件概述本文设计的基于STM32的多功能家庭智能安防系统硬件部分主要分为:ESP32-CAM视频监控采集模块、传感器信息采集模块以及ESP8266WiFi上传数据用于APP实时显示模块4个部分。其中,主要用到基于STM32F103c8t6芯片主控的单片机、OV246摄像头、火焰传感器、MQ-2烟雾传感器、人体红外传感器、ESP32-CAM、OLED显示屏、AD/DA转换器以及LED灯等元器件。其中各模块的硬件组成框图如图3-1所示。图3-1多功能家庭智能安防系统的硬件组成框图在图3-1中,基于STM32F103c8t6芯片的单片机系统作为整个系统的主控器件,主要负责程序的运行、与各个扩展模块进行通信、实现各模块之间的宏观调配,多进程同时处理各模块运行结果;OV2460摄像头主要用于采集实时监控摄像画面数据,供后期处理;火焰传感器通过采集判断实验目标所处环境的是否存在明火、热源、强光等,实时显示至OLED液晶显示屏和APP用户端;显示异常并且声音报警提醒物主。MQ-2烟雾传感器则采集所处环境的烟雾浓度、可燃性气体浓度信息并显示在OLED屏和APP客户端上,当距浓度大于所设置的阈值时,APP显示异常并且声音报警提醒物主;人体红外传感器则负责检测所处环境是否出现发热源物体并显示在OLED屏幕和APP用户端画面上;若出现异常显示异常并且声音报警提醒物主。AD/DA转换器负责对MQ-2烟雾传感器采样的数据经过AD转换,将所采集的烟雾浓度、可燃性气体浓度值数字化,并通过OLED屏和APP用户端实时显示,并且可以通过修改代码来修改所设的阈值范围。3.2多功能家庭智能安防系统硬件电路本节主要详细阐述多功能家庭智能安防系统的硬件电路,主要包括STM32F103c8t6芯片GPIO扩展接口电路设计以及系统其它子模块的硬件电路连接设计两大部分。3.2.1STM32F103C8T6芯片的GPIO扩展接口电路基于STM32F103c8t6芯片的共有48针的GPIO口可供用户开发使用,通常的定义如图3-2所示。图3-2STM32F103c8t6芯片GPIO引脚定义图从图3-2可以看出,STM32F103c8t6的GPIO主要分为5V、3.3V、接地以及通用GPIO口,GPIO可配置为8种输出输入模式,引脚电平:0~3.3V,部分引脚可容忍5V。如果是控制功率比较大的设备,只需要再加入驱动电路即可——比如驱动直流电机。STM32F103C8T6一共有48个引脚,其中包括电源引脚、晶振时钟引脚、复位引脚、启动选择引脚、程序下载引脚等必需引脚。其余引脚则作为GPIO引脚。STM32将这些GPIO引脚按照字母(如A、B、C等)进行分组,每组包含16个引脚,编号为0至15。在STM32F103C8T6中,共有2组GPIO引脚,即32个GPIO引脚。STM32F103系列的I/O引脚共有8种工作模式,其中输出模式有四种:推挽输出、开漏输出、复用推挽输出、复用开漏输出;输入模式有四种:上拉输入、下拉输入、浮空输入、模拟输入。在本次设计中,MQ-2烟雾传感器分配的引脚是PA1;火焰传感器分配的引脚是PB0;人体红外热释传感器分配的引脚是PB1;ESP8266WiFi模块分配引脚是PA2;OLED显示屏通过连接VCC、GND、SCL分配PA5、SDA分配PA4、RES分配PA6、DC分配PA7、CS分配PA8实现;AD/DA转换器通过I2C与主控芯片进行通信;ESP-32CAM模块则可以通过单独供电连接5V和接地引脚即可正常运行。为提高基于STM32的多功能家庭智能安防系统硬件平台的稳定性,减少杜邦线的使用,提高硬件平台的集成度以及美观度,本文将基于STM32的多功能家庭智能安防系统中涉及到的GPIO口进行扩展设计,扩展板的原理图如图3-3所示。图3-3STM32F103C8T6GPIO扩展电路原理图3.2.2STM32F103C8T6与系统其它子模块的硬件电路连接基于STM32的多功能家庭智能安防系统硬件平台搭建过程中涉及六个子模块:MQ-2烟雾传感器模块、火焰传感器模块、人体红外热释传感器模块、ESP8266WiFi模块、OLED显示模块以及ESM32-CAM模块。本节将主要介绍多功能家庭智能安防系统六个硬件子模块的功能以及实现过程。STM32F103C8T6与MQ-2烟雾传感器模块的硬件电路连接MQ-2烟雾传感器模块是本文基于STM32F103C8T6的多功能家庭智能安防系统的重要组成部分,主要负责采集系统所处环境的烟雾浓度、可燃性气体浓度数据。在本设计中,烟雾的探测是通过MQ-2烟雾传感器模块实现的。该模块内部含有二氧化锡半导体气敏材料,属于N型表面离子式半导体。当材料温度在200~300摄氏度时,会吸附空气中的氧元素,形成负离子吸附,进而导致半导体中电子密度下降,电阻值增加。当烟雾与传感器接触时,烟雾密度会影响晶粒间结构的势垒,导致表面的导电率发生变化,因此可以通过检测这种变化来探测烟雾的存在。烟雾密度越高,导电率就会越强,输出电阻就会越低,模拟信号输出也相应增加REF_Ref28563\w\h[46]。MQ-2烟雾传感器与STM32F103C8T6引脚的连接示意图如图3-4所示。图3-4MQ-2烟雾传感器与STM32F103C8T6引脚连接示意图如图所示,MQ-2的+5V接STM32F103C8T6的5V,GND对应接STM32F103C8T6的GND,由于要实时获取电压,所以要使用的是AO引脚(检测模拟信号的变化),AOUT接口接事先分配好的STM32F103C8T6的PA1引脚,选择PA1引脚是因为PA1引脚具有ADC功能。烟雾传感器中的AO口输出信号是一个模拟电压信号,其范围一般是0-5V。烟雾浓度越高,AO口输出的电压信号也就越高。其AO口输出的电压信号可以通过模数转换器(ADC)进行数字化处理,以便于微处理器进行处理。STM32F103C8T6与火焰传感器模块的硬件电路连接防火模块主要分为火焰传感器实时检测是否存在明火、强光、热源等信息并且实时显示在OLED和APP用户端上两个部分。实时检测利用火焰传感器对环境进行实时监测。该传感器可以检测到波长在760nm至1100nm范围内的光源,包括火焰。在测试中,打火机的火焰距离可达80cm,且随着火焰大小的增加,检测距离也会相应增加。传感器的探测角度约为60度,对火焰光谱非常敏感REF_Ref28629\w\h[47]。此外,传感器的小板输出接口可直接连接到单片机IO口。本文给火焰传感器分配的引脚为PB0。其与STM32F103C8T6的引脚连接示意图如3-5所示。图3-5STM32F103C8T6与火焰传感器模块引脚连接示意图经过多次数据分析校验,火焰传感器模块对焰光谱特别灵敏。其中的核心部件红外接收管是一个光敏器件,它对火焰的红外线特别敏感。当未检测到火焰时,红外接收管截止,AO端输出高电压(VCC);当检测到火焰时,二极管导通或部分导通,AO端输出的电压降低,火焰越大,AO端电压就降低的越厉害;当A0端电压降低到比较器的设定电压时,DO端就会由初始的高电压切换为低电平。当出现异常情况时,OLED屏幕显示火焰信息异常,APP用户端显示火焰信息异常并发出警报。STM32F103C8T6与人体红外热释传感器模块的硬件电路连接防盗模块是本文设计的基于STM32的多功能家庭智能安防系统的配合ESP32-CAM摄像监控模块使用的辅助模块,主要负责检测是否家中出现陌生人入室盗窃的功能,当在可检测的范围内出现带有热源的物体时,OLED和APP用户端显示出现异常情况并进行报警通知;本文使用HC-SR501器件进行检测。该自动控制模块采用红外线技术和德国原装进口LHI778探头设计,具有高灵敏度、可靠性强和超低电压的工作方式。它被广泛的应用于各种自动感应电器设备,特别是干电池供电的自动控制产品。该模块是全自动感应的,当人进入感应范围时,输出高电平;当人离开感应范围时,高电平会自动延时关闭,输出低电平。该传感器有两种触发方式可供选择。第一种触发方式是不可重复的,即感应输出高电平后,延迟一段时间结束,自动由高电平转为低电平输出。第二种触发方式是可重复的,即在感应输出高电平后,在延时时间段内,如果感应范围内有人体活动,输出将一直保持高电平,直到人离开后,才延时将高电平转为低电平。感应模块检测到人体每一次活动后,一个延时时间段自动顺延,延时时间的起始点为最后一次活动的时间。其引脚与STM32F103C8T6连接示意图如图3-6所示:图3-6STM32F103C8T6与人体红外热释传感器模块引脚连接示意图通常,人体的体温保持在37摄氏度,会发出波长约为10微米的红外线。被动红外探头可以探测到人体放射出的这种红外线。接着,红外线通过菲涅耳滤光片进行强化,然后集中到红外感应源上。通常情况下,热释电元件用作红外感应源。当这种元件接收到人体红外线的辐射温度发生变化时,电荷平衡会失衡,导致电荷向外释放。通过处理检测信号,可使后续电路产生警报信号。以防其出现误报或者过于灵敏检测所以让其配合本文设计的ESP32-CAM模块一起使用以达到预设的防盗目的。STM32F103C8T6与OLED显示模块的硬件电路连接OLED显示模块是本文基于STM32的多功能家庭智能安防系统设计的功能扩展模块之一,主要实现对传感器模块采集的所处环境的信息进行实时显示的功能。模组采用SSD1306为主\t"/soft/Mec/2022/_blank"芯片,像素为128*64,通讯方式可选择SPI或IIC(地址默认0x78),该引脚与IIC完全兼容(即在IIC模式下,只能连接4根线),默认为4-WireSPI

\t"/soft/Mec/2022/_blank"通信模式,无自发光视角,低功耗。兼容3.3V或5V\t"/soft/Mec/2022/_blank"电源输入兼容3.3V或5VIO口电平通讯方式可选择SPI(4-Wire或3-Wire)/IIC。其引脚连接示意图如图3-7所示。图3-7STM32F103C8T6与OLED显示模块引脚连接示意图在连接STM32与该模块时,对于STM32和OLED模块的接口,需要设置IO(输入/输出)端口。在连接OLED模块上,需要将相应的IO口设置为输出端口。接下来,需要对OLED模块进行初始化操作,这包括硬件复位SSD1306、驱动IC初始化程序、开启显示、清零显存、然后开始显示。最后,可以使用函数将所需的字符和数字显示在OLED模块上。实验结果证明OLED可以正常显示各传感器采集的实时数据,并且当数据发生变换时也能随之而变换显示出现异常。STM32F103C8T6与ESP8266模块的硬件电路连接ESP8266模块具有完整且自成体系的WiFi网络解决方案,它不仅能够独立运行,也可以作为slave搭载于其他Host运行。ESP8266也是一个非常实用强大的硬件,可以与其它的芯片及组件进行组合搭配,做出自己想要的实现某些特定功能的单片机出来。通过GPIO口,ESP8266芯片可以集成传感器和其他特定设备,利用其强大的片上处理和存储能力,实现最低前期开发并占用更少的系统资源。本文设计的系统中ESP8266主要发挥了其可以上传信息至云端服务器的功能。其引脚连接示意图如图3-8所示。图3-8STM32F103C8T6与ESP8266模块引脚连接示意图通过STM32主控接收传感器采集的数据,将数据通过STM32发送到ESP8266WiFi模块,并且使用网络MQTT协议将数据发送到云服务器。通过连接云服务器,然后本文设计的APP应用程序可以获得STM32发送的数据并将其显示给用户。ESP32-CAM模块的硬件电路安信可公司发布了一款名为ESP32-CAM的小型相机模块,可作为最小系统独立工作,尺寸仅为2740.54.5mm,最小深度睡眠电流仅为6mA。该模块适用范围广泛,可用于家庭智能设备、工业无线控制、无线监控、QR的无线识别系统、定位系统等多种物联网应用,是物联网应用的理想解决方案。ESP32-CAM采用DIP封装,直接插入底板即可使用,实现了产品的快速生产,为客户提供了高可靠性的连接方式,方便应用于各种物联网硬件终端场合。其引脚定义图如图3-9所示。图3-9ESP32-CAM模块引脚定义示意图本文设计的摄像头采集模块采用ESP32-CAM模块实现,其自身携带了OV2460摄像头可以采集视频信息以供后期上传实现远程监控所用。本模块可作为独立系统单独使用,使用时只需连接VCC和GND即可。在设计时采用ArduinoIDE对该模块进行编程烧录监控摄像程序,通过访问专属IP地址可查看监控画面信息。3.3系统硬件电路搭建与实物展示本文设计的基于STM32的多功能家庭智能安防系统的硬件模块主要有六个子模块:MQ-2烟雾传感器模块、火焰传感器模块、人体红外热释传感器模块、ESP8266WiFi模块以及ESM32-CAM模块。通过配置各自引脚,实现与STM32F103C8T6相连接以实现相应的功能设计。根据系统各硬件模块的引脚连接示意图和STM32F103C8T6的GPIO扩展图,对系统硬件测试平台进行搭建。系统硬件平台搭建如图3-10所示。图3-10系统硬件平台搭建实物图3.4本章小结本章主要叙述了基于STM32的多功能家庭智能安防系统设计中相关硬件平台的搭建过程以及各个子模块的功能介绍和实现过程。主要包括STM32F103C8T6的GPIO扩展电路设计以及MQ-2烟雾传感器模块、火焰传感器模块、人体红外传感器模块、ESP8266WiFi模块、OLED显示模块以及ESM32-CAM模块六个子模块的功能分析和实现过程。

多功能家庭智能安防系统软件设计本章叙述了基于STM32的多功能家庭智能安防系统的软件设计,包括系统总体实现框图和各个模块的程序流程图,并分为主程序、硬件驱动程序和实时坐姿检测及错误坐姿提醒程序设计三部分阐述其软件设计的实现方法,同时简述了操作系统软件移植的步骤。4.1家庭智能安防系统软件设计概述本文设计的基于STM32的多功能家庭智能安防系统软件设计部分主要分为主程序、硬件驱动程序和实时监控摄像程序、上位机APP的设计四大部分。设计的总体框图如图4-1所示。图4-1基于STM32的多功能家庭智能安防系统软件构成框图在图4-1中,系统软件方案设计主要包括主程序、硬件驱动程序、实时监控程序、APP设计制作四个部分。主程序设计主要实现系统初始化配置、GPIO口配置、多进程同时运行处理等功能,硬件驱动程序设计主要实现对功能硬件的程序控制,包括实时传感器数据的采集和显示程序设计、ESP8266数据上传程序设计等。实时监控程序设计主要接入家庭网络、OV2640摄像头获取视频数据并上传、内网透传产生视频流地址以便APP用户端访问三大模块。多功能家庭智能安防系统软件设计的主要思想是利用C语言,KEIL软件进行编程烧录进系统硬件进行多进程同时实现实时视频监控、实时传感器数据采集上传并显示等功能,多个程序并行执行、互不干扰,共同完成系统功能。4.2多功能家庭智能安防系统软件程序设计根据基于STM32的多功能家庭智能安防系统软件的设计方案,本文设计的基于STM32的多功能家庭智能安防系统软件设计主要分为主程序、硬件驱动程序、实时监控程序、APP设计制作四个部分,本小节将详细阐述四个部分的软件设计过程。4.2.1主程序设计主程序设计主要实现对各个硬件模块的控制,主要包括系统初始化配置、多进程同时运行处理设计等内容。主程序流程图如图4-2所示。图4-2基于STM32的多功能家庭智能安防系统主程序流程图在图4-2中,主程序在设计的过程中,首先需要导入所需的库文件,初始化GPIO配置,初始化各种硬件接口和中断优先级分组,然后进入一个无限循环,不断读取各种传感器的数据并上传到服务器。在主程序中主要调用delay_init()函数初始化延时函数,NVIC_PriorityGroupConfig()函数设置中断优先级分组,LED_Init()函数初始化LED硬件接口,KEY_Init()函数初始化按键硬件接口,BEEP_Init()函数初始化蜂鸣器硬件接口,Adc_Init()函数初始化ADC硬件接口,Usart1_Init()函数和Usart2_Init()函数分别初始化debug串口和stm32-8266通讯串口,OLED_Init()函数初始化OLED硬件接口,OLED_Refresh_Gram()函数刷新OLED屏幕。调用esp01_register()函数,将ESP8266模块连接到WiFi网络并注册到MQTT服务器。调用TIM2_Int_Init()函数,设置定时器2的中断时间为500ms,用于刷新OLED屏幕和上传数据。进入一个无限循环,不断读取各种传感器的数据并上传到服务器。其中,if语句判断红外传感器是否检测到物体,if语句判断火焰传感器是否检测到火焰,adc2变量读取烟雾传感器的模拟量值,然后根据这些传感器的数据设置yanwu、hongwai和huoyan变量的值。最后,调用UsartPrintf()函数将数据上传到服务器。4.2.2硬件驱动程序设计本文设计的基于STM32的多功能家庭智能安防系统的功能扩展模块主要有烟雾传感器模块、火焰传感器模块、人体红外传感器模块、OLED显示模块、ESP8266WIFI模块五个模块,本小节将对这五个模块进行详细阐述。实时烟雾浓度、可燃性气体浓度采集及显示程序设计烟雾传感器模块主要利用MQ-2烟雾传感器对环境的烟雾浓度、可燃性气体浓度进行实时采集,通过AD转换将数据显示在OLED屏幕上。其程序流程图如图4-3所示。图4-3烟雾传感器采集及显示程序流程图在图4-3中,烟雾传感器模块程序首先进行驱动传感器设置、初始化设置。在设计中,Adcmq2_Init()函数用于初始化ADC1模块和GPIOA的引脚,设置ADC1的工作模式、采样方式和采样周期,并开启ADC1。Getmq2_Adc()函数用于获取MQ-2传感器的ADC采样值,可以通过传入通道参数来选择采样的通道。Getmq2_Adc_Average()函数用于对MQ-2传感器进行多次采样,并返回采样值的平均值。其中,times参数用于控制采样次数,可以根据实际需要进行调整。经过AD转换之后将数据实时显示在OLED屏幕上,若发生异常情况则显示烟雾情况异常。火焰传感器程序设计防火模块通过火焰传感器模块对系统所处环境是否存在明火、强光、热源进行测量,当出现异常时,OLED屏和APP用户端显示异常并进行报警提醒,其实现流程图如图4-4所示。图4-4火焰检测程序流程图在图4-4中,火焰检测程序首先对火焰传感器进行驱动,初始化GPIO口,进行设置光照阈值,随后进行判断环境是否在阈值范围从而判断是否存在火焰。传感器模块在系统所处环境的火焰光谱或者其光源达不到设定阈值时,则DO口输出低电平,当外界环境火焰光谱或者光源超过设定阈值时,则DO口输出高电平,而STM32F103c8t6会通过读取火焰传感器的DO引脚的高低电平从而判断是否存在火焰。设计中加入循环系统,一直判断检测火焰传感器的输出信号,DO口输出低电平时显示火焰正常;DO口输出高电平时显示火焰异常;结合OLED屏幕将实时情况显示在OLED屏幕上。人体红外检测程序设计防盗人体红外检测模块主要通过人体红外传感器进行检测,其程序流程图如图4-5所示。图4-5人体红外检测程序流程图在图4-5中,人体红外检测程序首先进行驱动人体红外传感器,初始化GPIO口;在主程序中通过digitalRead函数读取HC-SR312的OUT引脚电平值,读取OUT引脚电平值的程序存放在hongwai函数中。由于HC-SR312有2秒的延时时间,所以每隔2秒对OUT引脚的数据采集一次。通过判断是否检测到人体,将采集检测到的数据通过OLED显示出来。ESP8266数据上传程序设计ESP8266WIFI模块为本文设计的基于STM32的多功能家庭智能安防系统的重要部分,主要通过ESP8266进行联网并将各传感器采集的环境数据实时上传至云端服务器,以便后续上位机APP通过访问云端服务器将各传感器采集的环境数据实时显示在APP用户端界面中。其程序流程图如图4-6所示。图4-6ESP8266数据上传程序流程图在图4-6中,ESP8266WIFI模块首先进行初始化,IO口初始化。然后进行连接WiFi的操作,当连接上WIFI之后把传感器采集的环境数据进行上传云端服务器并加以处理,在APP用户端获取云端数据进行显示。通过判断环境数据是否存在异常,若没有存在异常继续采集数据操作;若存在异常APP用户端进行报警提醒。在esp01_register()函数中,依次发送了一些AT指令来设置ESP8266模块的工作模式、连接MQTT服务器、发布和订阅MQTT主题等。其中,每个AT指令发送后都会延时一段时间,以确保指令被正确处理。同时,通过USART_GetFlagStatus()函数检查USART发送标志位,确保数据发送完毕。在每个指令发送后,通过USART1将结果输出到终端,以便调试和监测连接状态。相对于HTTP等协议,MQTT在网络上的数据传输性能更好。另外,本协议的一个重要特征就是可以很容易地在客户端上实现。MQTT是目前国际上应用最广泛的物联网技术。在汽车网络、智能家居、即时聊天、工业互联网等方面,已经得到了广泛的应用。MQTT协议为设备提供了稳定、可靠和易于使用的通信基础。OLED显示程序设计OLED显示模块主要利用SSD1306芯片驱动4线I2C接口来实现屏幕点亮,其主要实现过程如下:OLED的驱动主要是通过使用U8g2库来完成,U8g2是一个用于屏幕显示的单色图形库,兼容大部分的主流的单色OLED和LCD显示屏,在ArduinoIDE的库管理器中进行安装。屏幕上的显示内容为MCU获取到的烟雾、明火、人体感应状态这些环境数据。为了保证整体主程序的模块化,通过自定义的显示函数OLEDDispaly(Stringgas,Stringfire,Stringhuman)来驱动屏幕显示环境数据。主程序中对OLED屏幕的显示控制主要包括以下的内容。首先通过构造器对进行初始化,包括显示的缓冲区大小、通信协议、屏幕显示方向等。然后确定U8g2绘制模式,为了使环境数据的变换能够及时的在显示屏上显示出来,采用了U8g2库中的Fullscreenbuffermode(全屏缓存模式),该显示模式有固定的U8g2库函数调用顺序,顺序颠倒或者错误调用都不能正常驱动屏幕进行显示。使用该显示模式的程序控制过程:调用u8g2.clearBuffer清除内存中的数据缓冲区,为了使屏幕显示出相关信息,通过u8g2.setFont设置字符集,类似与编码格式;依据屏幕像素点阵的X轴和Y轴布局,使用u8g2.setCursor设置要绘制内容的起始坐标位置;利用u8g2.print函数指明屏幕上要显示的内容信息,写入缓冲区;最后调用u8g2.sendBuffer将缓冲区中的字符内容显示到屏幕上,调用OLED_Clear函数清屏。4.2.3实时视频监控系统程序设计ESP32-CAM模块是实时视频监控系统程序设计的核心内容,其程序流程图4-7所示。图4-7实时视频监控系统程序流程图在图4-7中,实时视频监控系统程序首先连接至家庭WiFi,初始化OV2640摄像头后,系统产生内网视频流地址,APP用户端通过访问地址就可以实时观看监控画面。在视频监控模块这里,对ESP32-CAM采用ArduinoIDE进行编程烧录工作。constchar*ssid=“**********”;//自定义需要连接的WIFI名称constchar*password=“**********”;//自定义需要连接的WIFI密码//Selectcameramodel//#defineCAMERA_MODEL_WROVER_KIT//#defineCAMERA_MODEL_ESP_EYE//#defineCAMERA_MODEL_M5STACK_PSRAM//#defineCAMERA_MODEL_M5STACK_WIDE#defineCAMERA_MODEL_AI_THINKER根据自身ESP32-CAM的摄像头模型选择使用哪种摄像头模型,这里我选择AI_THINKER:AI-Thinker生产的OV2640摄像头模块。ArduinoIDE开发环境配置在ESP32-CAM模块实时视频监控系统程序设计研究过程中,主要通过ArduinoIDE软件对软件程序进行设计,ArduinoIDE不像以往在KEIL里面直接编写C语言即可编程烧录,要对此进行开发环境配置工作。其主要步骤为:首先下载ArduinoIDE软件,并准备好ESP32-CAM模块和烧录器。打开ArduinoIDE,文件-首选项-开发板管理URL设置,添加以下url地址:https:///dl/package_esp32_index.json如图4-8:图4-8添加管理地址添加好管理地址之后,打开工具-开发板-开发板管理器,在里面搜索并添加e

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论