赞
踩
效果:
摘要:该系统结合了多种物联网的技术如WiFi技术、嵌入式技术等,通过温湿度传感器和火焰传感器实时采集仓库的温度、空气湿度和仓库明火情况。系统能够自动判断并处理异常情况,当温湿度超过阈值时风扇模块开始工作进行通风,当有明火时抽水泵模块开始工作。通过WiFi模块将监测到的数据上传到APP,同时可在APP上控制风扇和抽水泵的工作状态。
目录
大多数服装商户都有着服装存储的烦恼,因为衣物在长时间保存时,会受到外部因素,特别是存放地的温湿度和空气流通性的影响,比如存放的仓库温湿度过高的话会导致霉菌的生长,衣服上有大量霉菌生长的话会使得衣服的颜色变得暗沉,还会使衣服的布料变得容易受损,就算除去了这些霉菌,衣服的使用价值和商用价值也会大打折扣。在将服装长时间存储在仓库时,需要时刻关注仓库的温湿度,保证仓库的空气流通性,要使仓库温湿度一直保持正常状态,保证衣物不会损坏[1]。因此能及时的发现服装仓库的温湿度异常并调节非常重要。另外,衣物属于易燃物,无论火焰大小,如果没有及时处理很有可能会导致悲剧的发生。近年来,服装仓库发生火灾的情况屡见不鲜,给商户造成了巨大的财产损失,有的还会导致人员伤亡,所以,防止仓库火灾的发生也极其重要。
随着物联网技术的发展,各种各样的智能化和自动化系统被开发出来,人们的生活变得越来越方便[2]。但是服装仓库环境监测还存在着智能化水平不高、传统监测手段效率低且不精确以及实时性不强等问题。为了使服装仓库的环境监测更加智能化和自动化,方便仓库管理者和商户管理仓库,本课题设计了一种基于STM32单片机的服装仓库环境监测系统。本系统能够解决监测服装仓库环境手段少、监测方式落后、监测效率不高以及实时性不强等问题。
现有的仓库环境监测大多都是采取人工检测环境的办法,这种办法实时性不强,效率也低,既耗时费力又没办法及时处理发生的异常情况,而环境发生变化可能就是瞬息之间,一些霉菌对环境的变化是极其敏感的,一旦处理不及时,就会导致霉菌大量生长。衣物的存放对湿度也有要求,过于潮湿的空气会腐蚀服装的材质。如果发生火灾更是会给仓库管理者和商户带来巨大的经济损失。所以有必要开发一种智能化的服装仓库环境监测系统,实时监测仓库环境变化情况,并能对异常情况做一些简单的处理。智能服装仓库环境监测系统能有效的防止因环境突然改变而导致仓库霉菌大量生长和湿度过高而导致服装材质被腐蚀的情况,也能防止火灾所带来的经济损失和人
员伤亡,并且降低了服装仓库管理的成本,对服装仓库的管理和服装的存储有着重要
的价值。因此,本课题设计有很大的现实意义。
传统的仓库环境监测主要依靠人工,利用手持温湿度计或温湿度检测仪等到仓库各个地方对温湿度进行测量,当发现仓库温湿度不符合要求时,会手动操作进行相应的处理[3]。随着科学技术的快速发展,人们逐渐开发出了仓储环境监测系统。仓储环境监测系统通过电脑系统和各式传感器自动实时检测环境参数,但当时无线通信技术还不够成熟,为了保证通信质量,早期出现的仓库环境监测系统都是通过有线方式构建的,通过物理线路进行数据的传输。虽然这种环境监测系统能够实时获取数据。但是其仍存在着许多问题,比如在仓库内给所有传感器设置线路是非常困难的,而且系统的可移动性较差[4]。物联网技术以及无线通信技术的快速发展,为环境监测提供了新的技术手段。无线通信方式的环境监测系统开始出现并受到人们的青睐,越来越多的学者投入了相关的研究之中,现在,无线通信技术已经非常成熟,使用此技术和其他技术结合对系统进行开发,能够极大地提高系统的可操作性[5]。
智能环境监测系统基础理论与技术的研究起步较早,但是智能服装仓库环境监测系统的研究与设计起步较晚,是近年来物联网技术快速发展与仓库环境监测技术的融合应用。在国内,相关的研究主要有:侯晓云提出了一种基于ZigBee无线传感器网络的纺织企业环境监测系统设计[6]。该系统以STM32为控制核心,通过温湿度传感器和火焰传感器对企业工厂环境进行实时监测、显示和报警。该系统实时性好,效率高。张娅琳,吴伟强,赖靖豪设计了一款基于ESP8266 WiFi模块的实时环境监测系统。利用温湿度传感器和烟雾传感器监测环境的温湿度和烟雾浓度,利用光敏传感器检测光照强度,同时,通过ESP8266无线通信模块将数据上传到云端,再通过云端将数据传输到手机APP上,用户可在云端和APP上远程查看数据[7]。该系统云端应用和手机APP使用机智云平台进行配置开发,云端通过WiFi接收传感器数据,具有较高的可靠性和实时性。秦腾飞,葛广英,张如如等人设计并实现了基于ZigBee网络的仓库环境监测系统。通过搭建ZigBee网络和通信转发设备,实现传感器设备与本地监控设备和远程监控软件的通信连接,达到实时检测的目的。国内此类研究并不少,但大多只有对环境的监测,并没有执行模块,无法对异常情况做出处理。
国外的Filho Tercio,Rabelo Marcos等人提出了一种基于IEEE 1451标准的智能环
境监测系统平台[8]。该平台由一个基于IEEE 1451标准的物联网网络组成,具有网络能力的应用处理器( NCAP )节点(协调器)和多个无线传感器接口模块( WTIM )节点。WTIM节点由一个或多个传感器、数据传输接口和处理单元组成。Kho Ee Ping等人开发了一款基于无线传感器网络(WSN)的西米幼苗生长环境监测系统[9],该系统用于监测三个环境因素,即温度、相对湿度和光照强度。通过无线网络和门户网站连接,可以即时读取监测到的参数。系统每隔15分钟记录一次环境读数,并使用Zigbee网络将数据从节点传输到基站。然后,数据通过GPRS网络传输到云平台中。此外,还安装了线性执行器,以控制喷雾室门的开启,实现自然通风,并由阈值温度自动触发。此外,系统中还添加了智能警报系统,在触发时通过短信服务(SMS)提示采取行动。
本课题研究的主要内容如下:
第一章:绪论。主要阐述了本课题的研究背景和研究本课题的意义。还阐述了本课题及本课题相关技术在国内外的发展和研究现状。
第二章:系统分析与总体设计。首先对系统进行可行性分析和需求分析,然后讲述系统的设计方案。
第三章:系统的硬件结构实现。分析系统所选硬件。
第四章:系统的软件功能实现。讲述系统功能设计思路以及代码实现。
第五章:系统功能测试。
可行性分析一般包括技术可行性、经济可行性、操作可行性分析。本文便从这几个方面对系统进行可行性分析。
(1)技术可行性
本系统使用keil uVision5进行开发,搭配温湿度传感器、火焰传感器等硬件工具,这些工具在可用性、安全性以及可靠性等方面都有一定的保障,并且本人能够熟练地使用这些软件和硬件,所以本课题研究在技术上是可行的。
(2)经济可行性
经济可行性分析主要是对系统设计所用的资源进行经济效益评估,本系统设计使用的开发板、传感器以及其它各类硬件的开销都比较小,开发环境的配置也几乎没什么开销,系统的运行仅需一台上位机和一部手机。总的来说,开发和运行本系统所带来的经济开销完全在预期内。
(3)操作可行性
本系统实现后,操作简单,不需要特定的环境,只需要将传感器放置在仓库的监测区域,就能够实时监测仓库的环境参数,用户在APP上便可查看实时数据,风扇和抽水泵都是由系统自动控制,不需要过多操作,当然,用户若想手动控制只需要点击APP上的开关按键就行,非常方便。
服装仓库环境监测系统的实现是为了解决在服装仓库环境监测方面存在的智能化和实时性不强的问题,仓库管理者对该系统的需求主要如下:
(1)实时监测仓库环境。传统的环境检测方式最大的缺点就是实时性不强,目前许多服装仓库还是采用传统的人工监测方式,无法做到时刻监测,而且自动化水平较低,环境不符合要求时,只能由工作人员手动改善[10]。传统的仓库环境监测耗时费力,还容易出现测量疏忽和错误操作[11]。所以需要系统能够实时检测并记录仓库环境参数。
(2)防潮。当下雨天空气比较潮湿时,水汽会从仓库的缝隙内进入库内,导致空气潮湿[12]。尤其是南方梅雨时节较长,仓库的墙体会吸附过多的水分,然后渗进仓库内。一些建造在地下的仓库也会因为地面返潮导致库内空气湿度过高。而衣物特别是纯棉制品是很容易吸附水分的,长时间的潮湿会导致大量霉菌滋生,损坏衣物的材质,使其失去其商用价值。虽说一般情况下仓库管理者会定期检查并进行防潮操作,但这无疑增加了管理仓库的压力和成本,所以需要系统能够自动判断仓库空气是否潮湿并自动进行防潮操作。
(3)防火。衣物都属于易燃物,服装仓库一旦发生火灾,仓库内的衣物会在短时间内被引燃,火灾的发生往往是不可预料的,处理不及时的话不仅仓库内的衣物会成为一堆灰烬,还有可能造成人员伤亡,这是仓库管理者无法接受的,所以系统需要能够自动预防火灾的发生。
(4)随时查看数据和能够手动控制防火防潮操作。系统仅仅能实时检测数据还不够,仓库管理者需要能随时查看这些数据,了解自己仓库内的情况。有时,因某些原因,比如传感器损坏而导致系统无法正常检测数据或检测到的数据有异常时,需要系统的使用者能手动控制系统。
本系统一共包含五个组成部分,如图1所示,分别是温湿度监测模块、火焰监测模块、风扇模块、抽水泵模块和手机APP模块。
博主专注于嵌入式领域,有任何使用问题欢迎随时与我沟通
图1 系统功能图
(1)温湿度监测模块:通过温湿度传感器检测仓库的空气温湿度,并将数据传回到单片机。
(2)火焰监测模块:通过火焰传感器检测仓库是否存在明火,并将结果传回单片机。
(3)风扇模块:系统分析接收到的温湿度数据,从而控制风扇状态,如果接收到的数据高于设置的参数阈值,则单片机控制风扇转动进行通风,同时蜂鸣器报警,直到接收到的数据恢复正常。
(4)抽水泵模块:如果火焰传感器检测到仓库存在明火,则单片机控制抽水泵抽水进行灭火,同时蜂鸣器报警。若明火消失则抽水泵停止工作。
(5)手机APP模块:通过WiFi模块将单片机接收到的数据实时上传到APP,使得仓库管理者能够随时通过APP查看仓库情况,并且能在APP上设置环境参数阈值,同时可在APP上手动控制风扇和抽水泵的工作状态。
根据所提出的设计要求和功能,本系统硬件总体框架图如图2所示,系统硬件部分以STM32F103C8T6单片机为核心,通过DHT11温湿度传感器和火焰传感器检测仓库环境温湿度和明火情况,外接风扇和抽水泵,用于通风和灭火。同时通过ESP8 266WiFi模块与APP通信。
图2 系统硬件设计图
本系统程序设计主要是在keil5中使用C语言。手机APP开发是在Eclipse中使用JAVA语言设计的。程序设计主要包含如下三个部分:
(1)温湿度检测:一般来说,仓库温度应当低于35℃,空气湿度应当低于75%,若温度或湿度高于对应的值,则系统控制风扇开启进行通风并报警,直到数据恢复正常。
(2)明火检测:当仓库内出现明火时,系统立即控制抽水泵抽水灭火并报警,直到明火消失。
(3)APP设计:APP的设计是为了使数据可视化,方便用户了解仓库的情况,除此之外,还需要在APP中加入风扇和抽水泵的控制按键以及设置阈值的按键。
服装仓库环境监测系统的程序设计流程图如图3所示。
图3 系统程序设计流程图
硬件配置
硬件清单:STM32F103C8T6单片机、DHT11温湿度传感器、火焰传感器、ESP8266WiFi模块、Delta/台达电脑电源散热风扇、DC电机小水泵、继电器。
硬件连接图:
本系统采用的是STM32的最小核心开发板,即STM32F103C8T6开发板,它具有高性能、低成本、低功耗等优点,实物图如图4所示。STM32F103C8T6封装了48个引脚,其中VDD和VSS用于供电,C8T6开发板的工作电压为3.3V,其板载了一个LDO降压管,用于将USB提供的5V电压转化为3.3V。PA13和PA14引脚用于下载程序,如果引脚够用,一般不对这两个引脚进行设置,其他许多引脚都能够用来连接外设,完成不同的功能,需要注意的是C8T6开发板的工作电压和工作电流都很小,所以此开发板不能够带大功率的外设,如果系统需要,那需要采取其他措施。
图4 STM32F103C8T6开发板实物图
温湿度检测模块使用DHT11 数字温湿度传感器,传感器实物图如图5所示。DHT11 温湿度传感器是一款数字信号输出的温湿度复合传感器。传感器内部有两个元件用于测量温湿度,分别是一个电阻式感湿元件和一个 NTC 测温元件。传感器内部还有一个8位的单片机,该单片机将感湿元件和测温元件输出的模拟量转化成数字量并存储起来,方便用户使用单片机读取。DHT11产品参数如下:测温范围:0—50℃,测湿范围:20—90%RH。DHT11温湿度传感器具有低功耗、长期稳定、数字信号输出等特点,能满足许多应用场景以及本系统的设计需求。
DHT11为4引脚封装,如图5所示,从左至右分别为VDD、DATA、NC、GND。引脚接线如下:
1、VDD 供电 3.3~5.5V
2、DATA 串行数据,单总线
3、NC 空脚
4、GND 接地,电源负极
图5 dht11温湿度传感器实物图
DHT11通过DATA引脚与单片机通信,采用单总线的传输方式。每次传送40 bit数据,高位先出。每次通信4毫秒左右,数据分为整数部分和小数部分,但小数部分是无意义的,全部为0,其他部分都是0或1,格式如下:
数据格式:8bit(湿度)+8bit(湿度小数数据)+8bit(温度)+8bit(温度小数数据)+8bit(校验和)=40bit。
DHT11与单片机之间只通过一根数据线进行通信,也就是说两者之间每次只能由其中一个发送数据,另一个接收数据。DHT11并不会主动采集温湿度数据,空闲时处于低功耗模式,当需要采集数据时,主机首先发送一次开始信号,DHT11转为高速运行模式,当主机开始信号结束后,DHT11会回应一个响应信号,表示“握手成功”并先发送40bit的数据,然后在触发一次数据采集。由于DHT11先送出数据,然后再进行一次数据采集,所以单片机读出的数据是上一次测量的结果,但由于本系统是连续读取数据,所以并不影响本系统的实时性。通讯过程及时序是编程的依据,如图6所示。
图6 DHT11通信完整时序图
火焰传感器就是利用红外接收管对火焰比较敏感的特点,用特制的红外接收管制成的传感器。本系统采用的是三线火焰传感器,实物图如图7所示。本产品能够探测火焰发出的波段范围分别为700-1100 nm的短波近红外线。此火焰传感器的工作原理是将火焰强度转化为高低电平信号输出,输出引脚为DO引脚,电路原理图如图8所示。正常情况下,DO引脚输出高电平,当检测到火焰时,DO引脚输出低电平。输出引脚DO可以与单片机直接相连,通过单片机来检测高低电平,由此来检测环境的改变。经测试,打火机测试火焰距离为80cm,火焰越大,测试距离越远,所以这款火焰传感器符合本系统设计的要求。引脚接线说明:VCC—接电源正极(3.5-5V)、GND—接电源负极、DO—数字信号输出。
图7 火焰传感器实物图
图8 火焰传感器电路原理图
ESP8266实际上是一个通信芯片,实物图如图9所示。ESP8266集成了完整的TCP/IP协议栈和MCU,通过串口与用户单片机进行通信。ESP8266能够使用户的硬件设备联网,使用户的硬件可以通过WiFi网络与其他设备进行数据通信。ESP8266通过串口AT指令与单片机通信,实现串口透传。这个模块支持三种工作模式,分别为STA 模式:ESP8266模块作为客户连接服务器,上位机通过互联网实现对设备的远程控制。AP 模式:ESP8266模块作为热点,实现上位机直接与模块通信,实现局域网无线控制。STA+AP 模式:两种模式的共存模式。本系统将工作模式设置成了AP模式,通过AT指令实现模块初始化和数据通信。ESP8266是一种无线设备,且性能非常稳定,能适应各种应用环境。其引脚说明如表1所示。
表1 ESP8266引脚说明
引脚 | 功能 |
VCC | 接电源3.3-5V |
GND | 接地 |
TXD | 串口发送引脚 |
RXD | 串口接收引脚 |
RST | 复位 |
IO-0 | 烧写固件 |
图9 ESP8266WiFi模块实物图
市面上有很多风扇都能够作为本系统的风扇模块,经过选择,本系统风扇模块使用的是普通的Delta/台达电脑电源散热风扇,经测试,该产品性能良好,可以完成本系统的设计工作。普通的散热风扇工作电压比较大,而且没办法与单片机直接相连,想要实现单片机对风扇的控制就需要另一个模块,那便是继电器。本系统使用的是电磁继电器,实物图如图10所示。电磁继电器本质就是一个由电磁感应触发的开关,起到一个传递、桥梁的作用,可以把外界接收进来的如温度、光照等信号转化为开关是否开合的信号,从而起到控制电路的作用。通过继电器可以实现弱电控制强电、低电压小电流控制高电压大电流。电磁继电器有三个输入端,三个输出端。输入端分别是VCC接电源正极、GND接电源负极、IN接信号的控制端,一般与单片机引脚相连,输出端分别是COM公共端、NC常闭端、NO常开端。在继电器没有工作的情况下,公共端与常闭端是导通的,与常开端是断开的,当继电器收到触发信号时,公共端就会和常闭端断开,和常开端导通,也就起到了控制作用。
图10 电磁继电器实物图
电磁继电器内部结构图如图11所示,A代表常闭端,B代表公共端,C代表常开端,默认状态下AB导通,当继电器收到单片机的触发信号时,D、E两端产生电流,电磁铁产生吸力使得BC导通。
图11 电磁继电器内部结构图
本系统采用的抽水泵为DC电机小水泵,型号为JT-DC3W-3。实物图如图12所示。该型号的水泵分为立式和卧式,本系统使用立式水泵,该水泵驱动方式为电动,工作额定电压为3V,适合电压为3-5V。该水泵是直流水泵,所以电压要为直流供电。其使用方式如图13所示。水泵无法与单片机直接相连,在本系统中,水泵同样与继电器相连,从而达到由单片机控制开关的目的。该水泵虽然禁止无水空转,但短时间空转并无太大影响,可以完成本系统的设计任务。
图12 小水泵实物图
图13 水泵使用方式
本系统各部分硬件通过电路板连接到一起,实物连接图如图14所示。
图14 硬件实物整体连接图
本系统使用Keil5进行开发。Keil5支持C语言开发,并集成了许多开发板的库函数,在进行开发时使用C语言和这些库函数结合就可以完成项目。Keil5的开发环境搭建步骤如下:
图15 keil官网MDK下载界面
图16 STM32库文件添加
在本系统温湿度检测模块中,通过for循环将DHT11发送的40位数据分成5个8位的数据,本系统设计中只用其中第一个和第三个这两个有意义的数据,也就是温度整数数据和湿度整数数据。然后将检测到的数据以ASCII码的形式显示在LCD屏上,同时可以通过按键设置阈值,部分代码如下。
本系统中火焰传感器输出引脚与单片机PA1脚相连,通过GPIO _Read InputData Bit()函数读取PA1的输出值,同时将PA1的输出值宏定义为FIRE。在主函数中,系统每隔50ms读取一次PA1的输出值,即FIRE的值,当FIRE的值为1时判定没有火焰,当FIRE值为0时判定为有火焰,同时将计数标志coa的值设为100,每次循环递减,在此期间,系统一直判定存在火焰,直到coa的值为0,也就是说检测到了火焰,那从那一刻起,往后5秒内,无论火焰有没有消失,系统一直认为有火焰存在,这样可以使灭火模块运行的时间更长,灭火更彻底,部分代码如下。
本系统执行模块包括风扇、抽水泵和报警蜂鸣器,分别用PB6、PB5、PC13引脚控制。当检测到的温湿度超过设置的阈值时,或者按键S1按下时,使PB6输出高电平控制风扇转动,同时使PC13输出高电平控制蜂鸣器报警,当温湿度恢复到阈值以下时,使PB6和PC13输出低电平,风扇和蜂鸣器停止工作。当检测有火焰存在时,或者按键S2按下时,使PB5输出高电平控制水泵工作,同时使PC13输出高电平控制蜂鸣器报警,当火焰消失时,使PB5和PC13输出低电平,水泵和蜂鸣器停止工作。部分代码如下。
本系统通过ESP8266WiFi模块实现无线通信,首先要对ESP8266进行初始化,本系统中通过串口2发送AT指令对ESP8266进行配置,同时ESP8266接收和发送数据也是通过串口2实现。在系统工作时,系统会首先检测ESP8266是否配置成功,如果没有配置成功,系统会自动配置,如果配置成功,会检测是否有用户连接,如果有连接就会检测是否有数据要发送,有的话就发送数据。通过串口2的中断处理实现数据的接收。数据发送和接收部分代码如图21、图22所示。
将系统上电,经测试,系统能实时检测温湿度的变化,并在APP上显示。如图17所示,湿度由36%变为了47%。
图17 温湿度检测正常
用手捂住温湿度传感器,传感器检测到的温湿度将会增加,当温度或湿度超过设定的阈值时,相应的值会变红,风扇将会开始工作,把手拿开,温湿度恢复都恢复正常时,风扇停止工作。测试结果如图18所示。
图18 温湿度异常测试
将火源放到火焰传感器旁边进行测试,经测试,系统能够实时检测火焰并显示,当检测到火源时,抽水泵会开始工作。当无火焰时,抽水泵停止工作。测试结果如图19所示。
图19 火焰检测测试
本系统需要在APP上能够设置温湿度阈值,并且能够手动控制风扇和抽水泵的工作状态,经测试,能通过加减按键设置温湿度阈值,通过风扇开关按键和水泵开关按键控制风扇和水泵的开关。测试结果如图20所示,温湿度设定值分别由35℃、58%改为了33℃和55%,同时温湿度都没有超过设定值,但可以通过按键使风扇和水泵由停止状态变为运行状态。
图20 按键测试图
主程序运行方法
APP程序运行方法
随着科学技术和物联网技术的快速发展,传统的人工检测环境的方式逐渐被各式各样的智能化和自动化水平更高的环境检测系统代替。本课题研究的智能服装仓库环境监测系统基于物联网嵌入式技术,以STM32为核心,在仓库的各个区域布置上温湿度传感器和火焰传感器,实时采集环境数据,并通过esp8266 WiFi模块将数据上传到APP,还配有风扇和抽水泵,当仓库温湿度数值超出阈值或有明火存在时,由系统自动做出一些相应处理。该系统的开发使用的是keil5开发工具和C语言,以及一些传感器模块:单片机控制的风扇模块,抽水泵模块等。APP开发使用的是eclipse开发工具和Java语言。本系统最大的特点是在环境监测的基础上增加了处理模块,能自动处理异常情况,比如仓库温度升高时,风扇自动开启进行通风。有明火时,抽水泵自动抽水。处理模块的设计减小了仓库管理的成本,同时极大地降低了仓库出事的风险。
资料包下载链接:
主要包含有stm32源码、手机APP源码、系统配置与程序运行说明、答辩PPT
伦纹及演示视频可参见本博文。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。