基于单片机的智能家居系统_第1页
基于单片机的智能家居系统_第2页
基于单片机的智能家居系统_第3页
基于单片机的智能家居系统_第4页
基于单片机的智能家居系统_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

出现了一套更为功能强大的智能家居系统。它已经基本包含了居住环境的各个方面。有水表的示数、电表的示数、安全防盗功能、室内人员的识别、常用电器的控制、实时的监控等。在这次会议召开之后,智能家居产业设计都照其模仿,运用于用户的住宅内。在嗅到智能家居的商机,各个企业财团当然都加入智能家居行业中,大力投资智能家居行业。在智能家居行业国外非常出名的有三星、松下、苹果等企业。拿三星这个企业来说,从最初步入智能家居行业,到现在,三星能够自行生产据大部分智能家具电器的零器件,并且三星拥有绝大部分智能家居的专利,建造了许多属于企业自身的生产车间,而且经销商遍布各个国家和地区。而我们所了解的苹果公司也开发了一套智能家居系统,在2014年苹果公司在公司官网上发布的智能家居平台HomeKit。两年之后苹果开发者展览大会在美国洛杉矶市内召开,在这个备受瞩目的会议上,绝大部分国际建筑商品供应商对媒体们宣布了HomeKit开始被应用支持于建筑建造中,发展至今HomeKit已经成为了一个应用广泛的智能家居的应用[4]。随后苹果官方又发布一则消息,当苹果用户将苹果系统iOS更新到最新版本后,就会出现了一个新的应用功能。整个功能就是可以用苹果手机或者平板控制智能家居平台HomeKit,而且能够直接地了解到家居的实时情况。而且,苹果智能语音也支持了第三方的应用程序,也就是说可以通过苹果智能语音通过互联网来控制家里的智能灯的打开和关闭,锁上家里的智能门等等方面,而且用户可以根据自定义操作。从最初的对家用电器的简单控制,到门禁系统、对环境的检测和报警和调整,远程抄表等功能。国外的发展都极为迅速[7]。展望未来,随着第四次工业革命(信息化革命)的到来,我们的生活得到了很大的改变,我们所处的城市,我们所住的小区,都在潜移默化得变得更加信息化,智能化,人们的衣食住行都变得更加便利,回顾历史,古时人们把飞天当做梦想,现在有了飞机,原来觉得跨过大洋通信不可思议,现在也触手可及,所以,随着社会的进步,生活品质的提升,智能化的道路势不可挡,智能家居迟早会走进每家每户。徐鸿远:基于单片机的智能家居系统设计辽宁工程技术大学毕业设计(论文)1总体设计本设计是通过以stm32F103芯片为主控核心,以多种家用传感器和一些用模拟家用电器组成,由传感器测量数据对家庭数据进行监测,stm32芯片处理数据,然后蓝牙串口传输及AR9931路由传输数据到手机APP,在APP上显示摄像头成像及家居数据,手机操控APP控制家庭用电器,对家庭用电器进行实时调整和监控。本次设计系统硬件部分主要有核心芯片处理模块、手机显示模块、驱动电机模块、蜂鸣器报警模块、常用家用传感器监测模块、LC930型号的WIFI模块等,另外还有系统软件及手机软件等设计。本次智能家居系统设计实现功能如下:温度、湿度、烟雾浓度的实时监测与显示。本设计通过、DHT11温湿度传感器、及光敏传感器对家居环境的温度、湿度及烟雾浓度及家居光照强度参数进行采集,并将采集到的家居数据传输到主控芯片,并完成处理,然后通过蓝牙传输到手机端,在手机APP上显示家庭当前环境的数值。2、报警功能。即通过stm32精英板带有的蜂鸣器的声音报警和手机APP提醒进行报警。当家用的传感器采集到的温湿度的值和烟雾浓度值超出了所设定的最大值或最小值时,蜂鸣器就会进行报警。报警时蜂鸣器正常工作。与此同时在stmm32单片机的控制下,经由蓝牙模块发送数据到所连接的手机APP上,以便预示用户家里内温度及烟雾浓度的变化,以此来保证家庭的安全性。3、控制功能。在电路的外围部分添加了驱动电机模块和光敏传感器模块。该模块可以经由手机APP发送给蓝牙,再通过蓝牙和单片机的串口通信,可以控制电机的正反转,或者在检测手机APP上按键被按下,单片机连接的LED被点亮。4、视频功能即通过LC930模块,LC930模块是以Ar9331为核心芯片的路由模块,通过路由与UVC摄像头相互组装,使用UVC摄像头采集视频数据并压缩数据,然后通过USB通信传输给AR9331芯片,继续通过手机连接路由,连接LC930模块,通过无线传输,使用rtsp视频流传输视频,然后在手机APP上显示,以此来让用户了解家庭外面的状况。5、手机端监控功能作为一个智能家居系统,手机端操控是必不可少的,那么要完成手机监测与控制,就要有通信功能,那么本设计使用HC05蓝牙模块和Lc930模块完成了对家居环境的监测与控制,首先使用HC05蓝牙传输家居的温湿度、烟雾浓度、光照强度、等数据,然后还能够接收手机所发的控制信息,点亮小灯,拉窗帘等,然后LC930是用来充当路由器,由手机连接WiFi,然后通过LC930发送给手机视频数据,实现对家庭外部的观察。2系统硬件选型与设计本设计在对比及筛选了市面上一些常见的单片机型号,例如:51系列单片机、52系列单片机、arm系列单片机、NXp系列单片机,最终决定使用arm系列单片机中的以stm32F103芯片为核心的单片机,因此本设计基于stm32单片机,以及多种传感器和一些用电器,由传感器测量数据,stm32芯片处理数据,然后蓝牙传输数据到手机APP,在APP上显示摄像头成像及家居数据,手机操控APP控制家用电器,以来模拟智能家居的基本操作。核心部件选型:本设计核心部件包括stm32单片机和LC930模块,是本系统主要的数据处理器,是系统的大脑。Stm32单片机用来处理传感器数据与蓝牙传输数据,LC930模块用来处理摄像头数据。2.1stm32精英板在设计之初,选择单片机时,曾在C51,C52,stm32中我们曾经使用过渡这几种单片机之间犹豫不决,c51单片机简单方便、易于控制,但是只能采用单任务机制,程序只能按顺序依次执行,缺乏灵活性,其中只能使用单片机的中断函数来实时地处理一些比较短的任务,在较复杂的应用环境中使用极为不便。然后C52单片机只是比c51单片机多了几个定时器,但芯片内存和c51基本相同,都比较小,而stm32不同,芯片内存比c51、c52大得多,因此系统运行速度更快,外围接口丰富,而且stm32的外围器件都是模块化的,使用更方便。因此本设计最终决定使用的是正点原子的stm32精英版,芯片型号为STM32F103RCT6,虽然它是一款迷你的stm32103型开发板,比较小巧,但是它的功能还是比较丰富的,而且对比传统的c51,c52开发板内存更大,具有超前的体系结构、高性能、低电压、低功耗、引脚更多,功能更齐全。并且所有硬件资料与软件代码都是开源开放的。图2.1stm32精英板Figure3.2STM32EliteBoard表2.1stm32F103芯片功能Table2.1Functionsofstm32F103ChipStm32单片机个数48KBSRAM1256KBFLASH116为基本定时器216位高级定时器216位通用定时器4SPI3DMA控制器2串口5IC2CAN1USB212位DAC351个通用IO口51SDIO接口12.2电源模块主芯片stm32单片机的工作电压范围基本为3.3-5v。这样就可以知道stm32芯片在正常的工作时候,电源的电压在3.3伏至5伏之间,这个芯片才可以正常工作。但是,如果stm32的芯片的电源电压高于5伏,这种情况下是不能够接到单片机上的,可能会由于电压过高,烧坏芯片;另外,如果电源电压低于3.3伏时,芯片虽然不会烧坏,但是并不能够正常工作。也因为这个原因,其中本系统所用的电机原件所需电压为10v,因此stm32单片机无法支持电机电源,同时因为所连的元器件数量的上升,所用元器件并联,分掉stm32单片机的电压,有一些5v用电器是无法正常工作的,因此应该考虑用电器是否正常工作,考虑外接电源。2.3温湿度传感器DHT11在智能家居系统中,测温度一定是必不可缺的一部分。在我们以往的学习中,可知常用的温度传感器能够分为两个大类别,这分别为接触式温度传感器和非接触式温度传感器,因为本设计是要检测家居温度,因此本次设计使用的是非接触式温度传感器。在我们所的学课程中了解到,非接触式温度传感分为铂热电阻温度传感器(测温范围均为-200~850℃)、热电偶温度传感器(主要测量高温,可测温度最高达到2300度)和热敏电阻型传感器(主要是由金属氧化物陶瓷构成,热敏电阻型传感器是低本最低、敏度比较高的温度传感器。但是温度范围比较小,大概在零下50度到零上200度左右,并且它体积比较小,响应时间还比较快)。因此一般家居所用的都是用的热敏电阻性温度传感器,然后其中比较经济实惠的有DS18B20和DHT11,其中ds18b20温度传感器所测的温度在零下55℃到零上125℃之间,精度误差为0.5℃上下,而DHT11温湿度传感器能够测量的温度范围是0-50度,湿度是0-100%,符合家居所要测量范围,并且它的温度误差是1度上下,湿度误差大概在1%,如果只对比温度精确范围和量程范围来说,ds18b20似乎是不二之选,但是在家居环境下很少有温度达到0摄氏度以下,50摄氏度以上,而精度虽然DHT11略逊于ds18b20,但是考虑家居设备温度没有必要要求特别精确,因此在不考虑温度范围和精度的情况下,DHT11能够测量环境的湿度,这是ds18b20所不具备的,因此在选择上,本次设计选择了DHT11温湿度传感器。DHT11温湿度传感器它的工作电压范围在3.3-5v,符合stm32能供电能力的范围内。图2.3DHT11实物图Figure2.3DHT11physicaldiagramDht11使用的是单总线数字信号,以单个数据口作数据的输入输出的双向通信,工作电流0.5mA,其数据包由5个字节,即40个位构成。图2.4DHT11二进制读取数据Figure2.4DHT11binaryreaddata图2.5DHT11数据发送流程Figure2.5DHT11datatransmissionprocess由上图可知,黑色实线代表的主机信号,首先主机先发送开始信号,开始信号是由MCU发出的,然后通过拉低数据线,保持至少18ms的时间长度,再拉高数据线20~40us的时间长度,这个是主机部分,那么DHT11是怎么接收信号呢?由上图可知灰色线所代表DHT11所发送的信号,在主机发送开始信号之后,DHT11会拉低,保持40~50us时间之后,该信号作为响应信号,然后DHT11拉高,保持40~50us时间之后,DHT11开始输出数据。也就是说t1-t2这个时间段是主机发送的开始信号,t3-t4时间段是DHT11的所发送的响应信号,t4后面才是我们所要的采集的家居环境的数据。当然最后还是需要用数字来格式表示所采集数据,那DHT11是用什么方便置1置0的呢?DHT11先输出一个12.14us的低电平,再输出一个26-28us的高电平,这就代表输出的是0,那么先输出一个12.14us的低电平,再输出一个116-118us的高电平,这就代表输出的是1。DHT11检测输出的方法就是:因为无论高低电平,前一段低电平输出时间相同,只是输出为1时,高电平时间比输出为0时间长了很多,就是利用这一特性,在28us和116us之间检测,如果输出为高电平,说明DHT11输出是1,反之输出为0。设计电路图如下:如下图DHT11有四个接口,但实际上只使用了3个,VCC接电源,GND接地,其中单总线的数据连接接口IWIREDQ接口连接单片机的PG11I/O口,因为它是一个单线双向通信的器件,同时认为R22所在的数据线默认时拉高的。图2.6DHT11电路图Figure2.6DHT11CircuitDiagram2.4烟雾报警器本系统在选型方面参考了市面上一些型号的单片机,当中MQ-2是最经济实惠,然后使用范围也比较广,因此采用了MQ-2型号烟雾报警器,它的优点非常多,首先它应用于对液化气、烷、苯、氢气、酒精、烟雾等气体浓度的检测,能够满足本设计的智能家居监测要测的烟及天然气的数据。与此同时它还有其他优点,它不仅抗灵敏度和响应速度比较好,而且在抗干扰性,寿命上还优于其他烟雾报警器。而且其检测可燃气体浓度与烟雾浓度的范围比较广,其大概是在100~10000ppm。MQ-2型烟雾传感器属于二氧化锡型半导体气敏材料,它属于化学器件,即它是通过化学变化引起的电阻阻值的变化,以此来检测烟雾浓度的值。当MQ-2表面半导体与烟雾接触时,晶粒间界处的势垒收到空气中烟雾浓度的变化,就会引起烟雾报警器表面的半导体导电率的变化,利用这一点就可以获得这种烟雾浓度的信息,当空气中的烟雾浓度增大时,器件表面的半导体导电率就会增大,然后导致输出电阻将低,因此输出的模拟信号量增大。依此测量跟MQ-2串联的电阻那里得到参考电压,通过AD转换后得到数字电压,通过这么一个数字电压,就可以通过浓度计算公式得到当时空气中甲烷的PPM值,即浓度。图2.7MQ-2实物图Figure2.7MQ-2physicalmapMq-2也同样和DHT11相同,它也拥有四个接口,VCC接电源,GND接地,也同样是单线双向通信。图2.8MQ-2电路图\o"添加到收藏夹"Figure2.8MQ-2CircuitDiagram2.5HC05蓝牙模块本设计使用的是HC05蓝牙模块,HC05使用的蓝牙2.0,因为本次实验需要蓝牙设计传输的只是温湿度,烟雾浓度,光照强度,还接收手机发送的指令信息,视频数据的传递都由LC930模块承担,因此本设计中所需要的蓝牙不需要太大的传输速率,因此比起市面上的蓝牙3.0蓝牙4.0蓝牙5.0等,虽然传输速率提升,但是范围等其他方面都没什么大的提升,而且HC05更加经济实惠,所以本次设计选择了HC05型号蓝牙。设计中HC05蓝牙使用的是串口通信,本设计中使用了stm32精英版的串口2,首先是在上电前蓝牙KEY接VCC平或将KEY接VCC,这两种方法进入AT指令模式,然后通过蓝牙自带的AT指令来操控蓝牙,测试蓝牙是否损坏。然后因为本次设计是由编写一个手机APP与蓝牙实现通信功能,因此把手机端设置为主机,然后把HC05蓝牙设置为从机。HC05蓝牙与单片机使用的是串口通信来进行数据交互,然后蓝牙先通过判定是否配对成功,否则一直检测,然后通过无线通信的方式来接收上位机蓝牙传送的数据。其中串口通信指的是外设和主控芯片之间,通过数据线或者信号线,按照位进行传输数据的一种短程通讯方式。表2.9模块引脚介绍Table2.9IntroductiontoModulePins序号名称说明1LED配对状态输出;配对成功就输出高电平,未配对就输出低电平。2KEY用于进入AT状态;高电平有效(悬空就默认为低电平)。3RXD模块串口接收脚,可接单片机的TXD4TXD模块串口发送脚,可接单片机的RXD5GND地6VCC电源(3.3V~5.0V)图2.10HC05电路图\o"添加到收藏夹"Figure2.10HC05CircuitDiagram图2.11HC05实物图Figure3.11HC05physicalmapHC05有VCC、GND、KEY、TXD、RXD、LED5个接口,VCC接口、GND接口连接电源正负极,蓝牙的TXD接口连接单片机的RXD接口,RXD接口连接单片机的TXD接口,实现蓝牙与单片机的数据传输功能。LED是连接的HC05蓝牙上的LED灯,KEY接口能够开启蓝牙AT模式,当模块接上电源后,可以通过将KEY接口接高电平,使模块进入AT指令状态,或者在上电的同时,再或者在上电之前将KEY设置接高电平,上电之后,模块即进入AT指令状态。2.6L298N电机L298n是本设计中模拟智能家居窗帘的动力来源,其相应速度,转速,圈速等将决定最终效果的实现。但是由于该电机所需供电电源应达10v,stm32单片机无法提供该电机转动,因此本次设计所使用的驱动电机必须采用外接其他电源。并且可以通过控制单片机的I/O的输入来改变芯片控制端的电平高低,由此可以操控电机进行正向和反向旋转,制动和停止的操作,这对于stm32单片机来说很方便。表2.12L298N输入引脚与输出引脚的逻辑关系图Table2.12LogicalDiagramofInputandOutputPinsofL298NENAIN1IN2直流电机状态0XX停止100制动101正转110反转111制动L298N内部含有四个通道的逻辑驱动电路,是我们常用的二相电机和四相电机的专用驱动器,用来驱动两个直流电机,来达成双马达输出,接口有A使能通道和B使能通道,12V输入,GND,单片机I/O口控制输入等。如果想对电机进行PWM调节速度,必须需要设置电机IN1和IN2,确定电机的转动方向,然后通过对使能A端或者B输出PWM脉冲,因为本次实验只用到一个电机,所以只使用了使能A端,通过这样操作就能够调节电机的转速了。如果电机使能信号为0时,那么电机处于自由停止状态,如果使能信号为1时,即IN1和IN2为00或11时,电机处于制动状态,就阻止电机启动。2.7蜂鸣器报警模块本设计使用的是stm32板上带有的微型蜂鸣器,为了满足所设计的智能家居的需求,蜂鸣器报警模块主要就是对当采集的温度值、湿度值或者烟雾浓度的值的情况高于或者低于系统所设定的范围时,就进行报警发声提示。蜂鸣器的发出声音的原理是:当方波信号输入谐振装置到中后,通过复杂的转换后,从谐振装置输出出来的为声音信号。图2.13蜂鸣器原理图Figure2.13Principlediagramofbuzzer图2.14蜂鸣器实物图Figure2.14Physicaldiagramofbuzzer2.8LC930视频模块本设计使用了wifi模块,用来实现远程操控智能家居系统和视频通信两种功能。LC930模块是一种低成本,低功耗,高性能的嵌入式小型WiFi模块,整个模块是由深圳的灵卡技术有限公司开发的。LC930模块使用了高通AR9331一体化单芯片技术,使模块体积得到明显的减小。LC930引出了众多功能接口,使得LC930可以广泛使用在无线数据传输,多媒体音视频传输,无线数据存储等公共场合。LC930是一款基于高通ARA9331的芯片,8MBFlash,64MBDDR2的全新功能WIFI核心模块。具备1个USB2.0,1个高速UART串口,多个GPIO接口。1WAN+4LAN10/100Mbps接口,方便用户灵活扩展外围接口主板,可广泛应用于各种家,商,工业嵌入式无线产。简单地来说Lc930就是一个小型的路由器,但是他的带宽却不小,如果他连接光纤的话,它的网速能够超越市面上绝大部分家用路由器,也因为传输速度快,本设计选择了Lc9331来作为视频传输的中介。本设计不仅仅使用了LC930模块,并且在LC930模块的基础上,与UVC摄像头进行了封装,其中UVC摄像头模块像素达到30万像素,因为UVC摄像头使用的是USB2.0通信,所以用UVC摄像头采集图像信息进行信息传输是十分方便。在摄像头采集到图像之后,通过摄像头背面的芯片对采集的数据进行压缩,把数据压缩成MJPG格式,其中MJPG是MJPEG的缩写,MJPEG全名为"MotionJointPhotographicExpertsGroup",是一种常用的视频编码格式,JPEG技术常常用于翻译模拟视频信号,把模拟视频信号翻译成视频流,然后存储起来。本次设计中在视频数据压缩成为MJPG格式后,通过USB口,把数据传输到AR9331芯片,通过局域网通信把数据传输到手机,再通过解码显示在手机上。2.9光敏传感器模块系统使用的是stm32精英版自带的光敏传感器,它是一个光敏二极管,当光照强度比较强的时候,电阻阻值变小,导致通过光敏二极管的电流变大,光照强度变弱时,电阻变大,通过光敏二极管的电流变小,通过电流的大小检测光照强度。3软件设计本次设计是通过以stm32103芯片为主控核心,以多种家用传感器和一些用模拟家用电器组成,由传感器测量数据对家庭数据进行监测,stm32芯片处理数据,然后蓝牙串口传输及AR9931路由传输数据到手机APP,在APP上显示摄像头成像及家居数据,手机操控APP控制家用电器,对家用电器进行实时调整和监控。因此对于一个成功的系统来说,只有硬件部分远远是不够的,时代在进步,编程智能化已经渗透到各个行业,所以软件设计部分是必不可少的。合理的编程不仅能减轻我们的工作量,还能减少系统的出错率,进而减少精力和成本。本系统的设计使用的是keil5软件,编程语言为C语言,最终程序以MDK5写入单片机。在设计之初必须掌握好整个系统实现的功能,实现功能所需的流程,都必须完善,以避免程序无误,但是功能无法实现的问题。主函数程序设计表3.1主函数流程图Table3.1MainFunctionFlowChart一个完美的程序须有一段精炼简短的主函数,在不删减功能的同时,最大化地简练,删掉没必要的部分。3.1温湿度监测模块温湿度监测部分主要以DHT11传感器芯片为中心。它能够把测得家居温湿度的数据转化成串4行数字信号,这样数据就方便单片机处理。在向单片机写入数据的时候,经过一段时间的延时之后,主芯片读取得到的温湿度的数据,经过数据处理,将数据转换成十进制后,再将数据发送给单片机,之后通过单片机串口通信发送给蓝牙,通过蓝牙发送给手机。温湿度的监测部分主要流程图如下所示。表4.2温湿度传感器流程图Table4.2Flowchartoftemperatureandhumiditysensor3.2烟雾监测模块烟雾浓度检测监测部分主要以MQ-2传感器为主体。他的部分工作流程与温湿度传感器工作流程类似,但是也有很大的不同之处。不同之处在于烟雾气体等值为模拟信号,需要转换成便于处理的数字信号,通过A/D转换,才能被stm32单片机接受。表3.3MQ-2工作流程图Table3.3MQ-2WorkflowDiagram3.3光敏传感器模块光敏传感器部分是以G93SNSOR为主体,它是一个光敏二极管,通过电流的大小检测光照强度,不需要通过AD转换即可得到数据,然后传输给单片机。光敏传感器的主要流程图如下所示:表3.4光敏传感器工作流程Table3.4WorkflowofPhotosensitiveSensors3.4蓝牙通信模块本设计使用的是二代蓝牙Hc05,uploadData(&Data);send_data_to_android((u8*)&Data,sizeof(Data));printf("light=%dsmoke%dtem%dhum%d\n",Data.light,Data.smoke,Data.temp,Data.hum);这一段程序写的是把stm32板收集到的数据通过蓝牙,按照一定的格式(即编写的android程序与stm32单片机程序匹配),发送给手机端,然后在手机APP上显示温湿度、烟雾浓度、光照强度等数据。但是作为一个智能家居程序,只接受程序明显是不合格的,因此在此基础上手机APP能够给蓝牙发送数据,控制stm32上的LED2指示灯亮暗,并且还能够控制窗帘电机的正反转。图3.5HC05工作流程Figure3.5HC05workflow3.5LC930摄像头模块本次设计使用了LC930模块,其中外置摄像头是与Lc930模块连接的外置设备,其中视频解码中使用了billbill开源视频框架,那么billbill开源视频框架是什么呢?开始本设计准备用Vitamio的开源视频框架的,而且相关的文章和方案也比较丰富,但是后来发现Vitamio视频开源框架对于商业应用和个人移动应用都需要购买Vitamio的使用授权或在Vitamio中付费。后来经过反复对比和筛选,最终决定使用billbill视频开源的ijkplayer,因为billbill视频开源框架无论个人使用还是商用都是不需要付费的。

ijkplayer是一种基于FFmpeg的\o"Android知识库"Android和\o"iOS知识库"iOS都适用的视频播放器。Ijkplayer也是全球领先的多媒体框架,能够播放绝大部分的视频格式。它还能够提供了录制视频、转换视频格式以及流化音频、视频的完整解决方案。图3.6摄像头工作流程Figure3.6CameraWorkflow虽然LC930能够配置成为路由器,但是买来的L模块并不能直接使用,首先使用linux,在网上下载并安装Ubuntu,安装在虚拟机中,先吧LC930模块通电,使用笔记本脑连接,再登录路由器管理页面04网址,找到系统工具-软件升即,通过无线传输把下载在虚拟机中的程序拷进设备中,图形化安装,安装完成后使用SecureCRT软件Telnet连接路由器,能够观察是否进入路由器然后通过指令修改密码,然后通过WinSCP软件更改路由设置,更改完毕后通过SecureCRT登录路由器,使用SSH2模式登陆路由器建立主机密匙和外壳安全密码,然后重启路由器,用wifi登录LC930查看摄像头设备是否连接成功,然后安装免驱uvc镜头,安装成功后再安装视频流采集软件,这样就能够采集到摄像头图像了。其中LC930是通过使用Rstp视频流,通过上传到局域网(其中LC930就相当于一个路由器,创建一个局域网),再由路由发送给手机端,完成手机与摄像头的数据传输。其中RTSP(RealTimeStreamingProtocol)是TCP/IP协议体系中的一个应用层协议,该协议定义了视频数据如何有效地通过IP网络传送多媒体数据在适用于一对多应用程序的情况下。对于RTSP协议来说,他的优点非常的多,它可扩展性好、比较容易解析,而且它非常的安全,它使用了网页安全机制,能够独立于传输、采用多个服务器支持、可以记录设备控制可使用协调传输方法、允许用户提出适合的用户界面等等,也因此大多数的电视台,网络视频都使用的是RTSP协议。本次设计选择RTSP协议的原因有很多,首先RTSP协议它是流媒体协议,其次RTSP协议还是共有协议,并有专门的机构能够做维护。而且RTSP协议传输的是ts、mp4格式的流,而这也正是本次设计中所需要的视频格式,因为rs、mp4是我们常见的最基础的视频协议,这两种协议处理起来比较方便。当使用RTSP开发时,可以自己搭建视频服务器来进行测试外,还可以通过使用一些已经配置完成的直播服务器,但是自己搭建视频服务器比较复制和麻烦,所以常常都是使用的是其他人配置的服务器,即省时又省力,比如澳门跨海大桥监控和香港电视台等网络地址都是可以使用的。不仅如此我们所知道的安徽卫视、福建卫视、湖南卫视、江苏卫视、四川卫视、浙江卫视等等,这些国地方卫视的电视台视频地址都是rtsp视频流地址。3.6程序设计因为系统本次设计使用C语言编写单片机系统程序,使用linux编写LC930路由程序,使用java语言编写手机Android程序,使用XML语言编写手机APP页面,由此看来,本系统程序编写占据了很大一部分。本次设计的Android程序是使用Androidstudio编写的,首先初始化UI页面和按键,然后接收LC930所发送的视频数据,并开启实时显示,不断循环更新页面,然后判断蓝牙是否连接,如果没有连接就返回更新UI页面,不断循环,如果成功连接就按照所编写格式接收蓝牙传输的家居环境数据,并实时显示在手机APP上,并循环,完成实时监控功能。图4.7手机APP运行流程图Figure4.7MobileAppRunningFlowChart4系统测试与运行4.1系统的测试本设计需要满足的设计任务有,家居数据的采集,蓝牙的无线通信、可控的电机转动、视频的无线传输。设计测试流程如下:1)在屏蔽蓝牙,LC930等通讯设备的同时,开始采集家居数据,把LCD显示屏插到stm32精英版上,在keil5主函数中加入数据显示,置零后验证数据,观察在光敏传感器,观察亮度数值是否正常用手握住DHT11温湿度传感器,观察温度是否正常变化,在温湿度传感器附近喷水,观察湿度是否正常变化,最后,按住打火机,使其点火,不松开手,吹灭火焰,把打火机靠近烟雾报警器,观察烟雾浓度数值是否正常变化。验证后,拔掉LCD显示屏(因单片机用电器较多,LCD插在stm32单片机上电压不稳,闪烁)。2)连接HC05蓝牙模块,通过串口通信,把手机设置为上位机,把蓝牙设置为下位机,把蓝牙KEY接口接VCC,使用串口通信软件,用手机安装蓝牙串口软件,同时PC端也打开串口程序,通过上位机发送固定的Al指令,观察PC串口程序中是否接受所发送AL指令,如果接收到信息,改变发送AL指令,进行多次验证,验证成功后,以常规方法接入蓝牙,使用手机蓝牙串口软件发送数据,然后接收数据,观察所接受的数据是否正确,如果成功,多次使用不同数据发送,观察是否有丢包现象。3)LC960模块:通过androidStuido来编写视频播放程序,本系统使用的是billbill视频开源框架,检查编译程序后,使用极客WiFi配置网页,配置LC930模块设置。配置完成后,使用手机连接WiFi,连接到LC930模块路由,检测是否在手机APP上显示视频,观察视频分辨率是否一致,转动摄像头,检验视频传输是否失真。4)由于智能家居传感器还有一些模拟家居电器程序是储存在stm32单片机的芯片中,还有本设计中手机APP设计也占据了非常大的工程量,它关系到是否能完成智能家居的远程操控,所以对软件编程的测试就成为了重中之重,所以在编程时应该从头检查是否缺少初始化程序,是否定义I/O口,串口,是否设置中断程序等等,所以在编程时要非常细心。4.2系统的运行在本次系统设计中,系统调试主要为三个部分,这三部分分别为硬件电路的检查,软件部分的编写,还有就是调试硬件与软件链接在一起进行整体的调试。硬件检查时一般可以查出在连接stm32单片机和一些传感器或者用电器时,是否连错正负极,是否连错I/O口,连接的I/O口是否和单片机的I/O口功能对应,是否能够统一支持通信等部这些元件连接不当等问题,还有就是因为本次实验使用的是STM32精英板,硬件检测还能够判断选择一些更加方便连接的元器件。软件测试部分主要涉及到了编程方面,本次设计编程方面主要是使用linux虚拟机路由程序配置、使用keil5单片机程序编写、还有就是进行手机APP设计,因为软件程序行数比较多,当编写完之后,想要发现错误,复检工作量会很大,所以从逻辑到语法结构等,都需要仔细斟酌检查。当硬件设计和软件设计完成后,可以将程序下载到stm32芯片上,同时将Android程序在手机上进行安装,然后将软件与硬件综合在一起,进行整体调试。主要如下:4.1实物整体调试图4.1Physicaldebuggingchart手机APP运行窗口如下,屏幕上方时实时采集的视频窗口,屏幕下方的数据有温度,湿度,光照强度,有两个按键,能够控制电机转动,点亮LED小灯,如下图4.2手机APP显示图4.2MobileAppDisplayChart5经济技术分析对于传统的智能家居系统来说,一直存在着连线复杂,兼容性比较差,而且不易扩展、灵活性差、升级成本和维护成本都比较高等问题,如果资金不是很充足,无法制办一个完善的智能家居企业,因此,在市场上也看不到有关智能家居的小型企业,基本都是中大型企业,这在一定程度上阻碍了智能家居行业的发展,但是随着智能家居行业的爆发式增长,越来越多的人看到了该产业的前景,同时也有越来越多的企业智能家居企业犹雨后春笋一样冒了出来。本设计采用的以stm32单片机作为系统核心,通过无线通信和串口通信实现上位机和下位机之间的数据交换和局域网之间的数据传输,实现在一定范围内对家居设备的监控和控制。其中stm32型单片机性能突出,稳定性高,适用于绝大部分外设,使用广泛,而且经济实惠,便于维修。本设计使用器件价格如下表:表5.1元件价格采购表surface5.1ComponentPricePurchaseTable所选器件采购价格/元采购个数STM32精英板1991LC930套件981L298N驱动121烟雾传感器51温湿度传感器31HC05蓝牙19.81电机9.82其他电子元器件3016结论本次设计得出如下结论:(1)使用DHT11温湿度传感器,MQ-2烟雾传感器、光敏传感器等简单的家居传感器收集家庭环境数据,并通过蓝牙把数据传输到上位机,实现实时监控使用LC930模块及UVC摄像头对图像进行采集,并把实时图像传输到手机APP上显示成像。(2)当家居设备所收集的温湿度、烟雾浓度数据超过系统所设定的阈值时,蜂鸣器报警并且手机提示危险信息。(3)完成对java的了解和基本学习,并完成编写手机APP软件,实现数据在手机APP上的实时显示。(4)在理论设计的基础上,并结合实际,完成系统实物的制作,并实现智能家居的基本功能。本设计具有多种扩展功能,但相比目前成熟的智能家居系统来说,本设计的外设隋然比较少的,但是可以在给用户在智能家居的任务方面提供不同的选择。本次设计虽然完成了最初的要求,但是在远程控制上使用的是局域网通信,这是很大的不足,最初设计时是想通过Lc930路由器连接因特网进行远程控制,再利用花生壳软件,这样就能够把数据全部传输到公网上,再通过手机连接因特网,家居数据就能实时显示在手机上了,但由于校园网有密匙的原因,无法访问,因此,本次设计只能退求其次,选择了蓝牙和局域网通信,这也是本次实验不足的一点,因此我希望如果将来有希望从事智能家居这方面的工作,一定要把设计做得更完善一些。致谢本次设计是我在大学生涯中最后一次综合性系统设计任务,首先非常感谢付华、李雅梅、徐耀松、高姬、王雨虹、刘宏志、初淑香等老师在这四年来悉心的教学,为我答疑解惑,交给了我们许多知识,为我们扎实的基础知识奠定了基础。同时也非常感谢马耀名老师,在我毕业论文排版,撰写和实物制作方面提供了不少意见,从最初选题到最后答辩给了我很多鼓励。感谢班导师高姬老师,感谢您四年的陪伴,在学校无论是生活还是学习上我们都感觉到了无私的关怀,逢年过节还能收到您的小礼物,每当那个时候,我们都觉得心里暖暖的,也让我们成为了其他班的学生,我非常荣幸当初在高考报志愿时在密密麻麻的专业中选择了测控,也在茫茫人海中遇到您,我感到很幸运。与此同时我还要感谢我的同学,在大学四年中绝大部分时间都是他们在陪伴着我,陪伴着我学习,陪伴着我玩闹,陪伴着我做实验等等,当生病是,是她们细心关照着我,当我遇到困难时,是他们无私地帮助了我,我很开心能够遇到这些可爱而又友好的同学们。然后我还要感谢我的家人,无论什么时候他们都是我坚强的后盾,在我作毕业设计迷茫和烦躁时,是他们在不断地鼓励着我,也是他们的爱一直温暖着我,这也一直都是我学习和努力的动力,没有他们就没有今天的我。最后希望自己能够顺顺利利地完成学业,并在今后的工作和生活中,作为一个优秀的测控人而努力。参考文献[1]张永昌,张通.基于STM32单片机的智能家居系统设计[J].电子技术与软件工程,2015(14):262.XE"[1]张永昌,张通.基于STM32单片机的智能家居系统设计[J].电子技术与软件工程,2015(14)\:262."\t"[1]"XE"[1]张永昌,张通.基于STM32单片机的智能家居系统设计[J].电子技术与软件工程,2015(14)\:262."\t"[1]"XE"[1]张永昌,张通.基于STM32单片机的智能家居系统设计[J].电子技术与软件工程,2015(14)\:262."\t"[1]"XE"[1]张永昌,张通.基于STM32单片机的智能家居系统设计[J].电子技术与软件工程,2015(14)\:262."\t"[1]"XE"[1]张永昌,张通.基于STM32单片机的智能家居系统设计[J].电子技术与软件工程,2015(1

温馨提示

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

评论

0/150

提交评论