版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要近几年来,人们对粮食的存储越来越关注,尤其在新冠疫情期间更为关心。在很多政府以及企业粮食储藏库,需要对环境等各种状态进行采集,来确保仓库的安全性。本系统基于物联网技术设计了粮库存储条件监控系统。感知层由STM32、温湿度传感器DHT11、可燃气体传感器MQ-9以及光照强度数字检测模块GY-30进行数据的采集;传输层通过无限节点ZigBee技术和WiFi技术将采集到的环境数据上传至服务器并存储在MySQL数据库中;使用SpringBoot微服务框架搭建应用服务器端,完成在通讯设备上分析和展示实时性与可靠性的数据,同时对不利于存储的环境通过短信与页面提醒的方式通知用户。本文首先阐述了题目要研究的背景及实际意义;其次介绍了设计的方案的选择;再次详细的介绍了系统硬件设计与软件设计,最后对此次设计进行了硬件与软件调试,保证了系统的可靠性与稳定性。关键词:环境监测,ZigBee,WiFi,STM32,SpringBootAbstractInrecentyears,peoplehavepaidmoreandmoreattentiontothestorageoffood.especiallyduringtheoutbreakofnewcoronavirus.Inmanygovernmentandenterprisegrainstoragewarehouses,itisnecessarytocollectvariousconditionssuchastheenvironmenttoensurethesafetyofthewarehouse.BasedonthetechnologyofInternetofthings,themonitoringsystemofgrainstorageconditionsisdesigned.Inthesensinglayer,STM32,DHT11,MQ-9andgy-30areusedtocollectdata;inthetransmissionlayer,ZigBeetechnologyandWiFitechnologyareusedtouploadthecollectedenvironmentdatatotheserverandstoreitinMySQLdatabase;inaddition,springbootmicroserviceframeworkisusedtobuildapplicationserverandcompleteitoncommunicationequipmentAnalyzeanddisplayreal-timeandreliabledata,andinformusersthroughSMSandpageremindersinanenvironmentthatisnotconducivetostorage.Thisarticlefirstdescribesthebackgroundandpracticalsignificanceofthetopictobestudied;secondlyintroducesthechoiceofdesignscheme;againintroducesthesystemhardwaredesignandsoftwaredesignindetail,andfinallyperformshardwareandsoftwaredebuggingonthedesigntoensurethesystem'sReliabilityandstability.Keywords:EnvironmentalMonitoring,ZigBee,WiFi,STM32,SpringBoot第1章绪论本章对系统的开发背景、设计目标、目的和意义进行了综述,主要分析了国内外基于物联网的粮库存储条件监控系统的发展情况。1.1选题的目的和意义食品安全问题关系到国家政策和消费者福利,受到各国的高度重视REF_Ref41389111\r\h[1]。其中,粮食存储过程中的品质安全是需要着力保证的重要一环。其中,粮食食品储藏过程中的保证质量安全是重要组成部分。如何用科学有效的方法保证食品的安全是目前食品储藏中的一个重要课题。在中国,由于食品的储存方法不科学,仓库陈旧,湿度大,食品的储存状况无法实时监测,食品的储存损耗率居高不下。在食品储藏过程中,温度和湿度直接决定着食品的质量。为了保证食品储存质量,减少食品损失,必须及时准确地监测食品储存过程中温度、湿度等食品状态参数的变化,发现影响食品安全的因素,采取有效的干预措施。如今,国内大部分粮仓选用PC监控体系,主要依靠线缆进行信息发送REF_Ref41389210\r\h[2]。但是,经过若干年使用发现,这种线缆式的监控方式仍然存在一些问题:一、测温电缆布线杂乱,不仅安装困难,并容易造成线缆机械损伤。比如,老鼠咬断线缆。二、从主机到分机,从分机到主机之间的大量线缆造成了监测成本的增加。三、温湿度节点易受潮湿和熏蒸影响,导致电路腐蚀。四、布线繁杂,易引入雷击,从而引起火灾或系统故障事件。随着物联网和移动互联网时代的到来,无线传感器网络的普遍使用,移动终端的普及,微电子技术的发展,以无线方式代替有线进行数据的汇集,以更为廉价的嵌入式设备代替传统PC进行监控,以远程监控代替本地监控成为主流的解决思路和方案REF_Ref41389227\r\h[3]。研究下一代的无线粮情远程监控系统方案,使得人工管理高效,系统集成耗费低廉,系统运作稳定,用新的无线技术和嵌入式技术替代落后的监测系统势在必行。1.2国内外发展现状由于本系统采用了WiFi和微服务技术以及相关的物联网硬件技术,所以在查找资料的时候重点查看了与此相关的论文和科技期刊,由此发现物联网及环境监测技术在国内外的发展方面上,有着十分巨大的区别。最早粮仓中温湿度等环境的检测一般采用人工测量的方法,由工作人员携带温度计等相关设备进行测量,但是这种测量方法往往由于人工的误差和物理位置的不全面导致测量的不准确和时间的不及时REF_Ref41389290\r\h[4]。随着温湿度传感器、模拟转换器、报警器等各种技术的迅速发展,人们开始将粮食研究转化为一个智能化的监测系统。最早的测试系统由电阻传感器采集,由三个模块组成:模拟转换和报警。在测量中,灵敏度不高,智能测量系统的实时性不高,测量效果不是很好。20世纪末,随着单片机科技,数字化电路和传感器技术的进一步发展,传感器采用半导体和热电偶技术,使用串行传输技术,在一定程度上提高了测量的可靠性REF_Ref41389401\r\h[5]。国外的粮食仓库经营模式使其对粮食的储备检测要求更为迫切,智能化系统广泛应用于国外粮仓设备中,系统也日趋成熟。通过考察粮仓温湿度情况和对国内外研发状态的比较,在粮仓外部进行实时监测是非常有必要的REF_Ref41389420\r\h[6]。首先,为了保证粮仓内部空气的全封闭性,人员不可能随时出入;其次,粮仓要定期蒸熏高腐蚀性的药物来达到防虫的目的,另外人员频繁的进出粮仓也会影响身体的健康。因此,若将测量、显示及报警等设备均安置在粮仓外部是非常便利的REF_Ref41389429\r\h[7]。目前国内外的监测系统中采集端与计算机都通过串口实现通信REF_Ref41389563\r\h[8],虽然在一定程度上能够实现集中控制,但是由于有线设备布线的损耗和传输速度的缓慢,导致在大型粮仓中不能保证采集的准确性和可靠性REF_Ref41389576\r\h[9]。因此,需要将粮仓内部的信息通过无线网络传达到身边。随着单片机技术、无线传输技术和传感技术等电子技术的快速发展,如何基于无线传输网络技术,研究出一套高效可靠的智能化粮仓测量监控系统是本论文研究的主要内容REF_Ref41389548\r\h[10]。1.3设计目标本系统拟采用温湿度传感器DHT11、可燃气体传感器MQ-9、ZigBee模块CC2530、光照强度数字检测模块GY-30,软件系统、控制系统、预警系统、加密系统等组成。硬件系统主要为,根据ZigBee无线传感器网络构成的特点,结合粮仓环境需要监测的数据,研究设计硬件电路原理图STM32主控系统集成了温湿度传感器DHT11、可燃气体传感器MQ-9和光照强度数字检测模块GY-30负责环境数据的监测以及ZigBee模块CC2530。软件系统可以对数据进行收集和存储,也能为用户查看数据提供方便,用户也可以在软件系统的数据,并且对数据进行统计数据、分析数据;控制系统作为控制端而存在,能够在得到软件服务端系统发出的命令之后对粮仓内的进行温湿度的调节与控制;移动通信设备AndroidApp是可以使相关人员在异地可以轻松通过移动通信设备,例如手机等观察、控制数据和管理粮食存储环境。本设计是运用物联网技术,设计一款粮食存储条件监控系统,本套系统可以对采集的数据进行收集整理的全自动,不仅可以减少不必要的人力,而且检测到的数值误差也相对较小,将物联网的思想引入到粮食存储的环境控制之中,其实现功能指标如下:(1)温度范围:15~22℃
精度:0.1℃(以干藏库为例,38℃紧急预警);(2)湿度范围:50~60%RH
精度:20%RH(以干藏库为例);(3)可燃气体浓度范围:100~10000ppm
;(4)光照强度范围:0~500lx误差:±2%lx;(5)无线传输模块:传输距离10~15米;(6)加密算法:数字签名(公钥加密);(7)运用ZigBee和WiFi模块数据交互;(8)通过微服务技术实现对采集数据进行处理。第2章系统总体设计系统总体设计由三部分组成。第一部分是由STM32的ARM内核,以CC2530无线射频芯片为核心,采用星型网络结构,由一个协调器和一个终端节点组成。节点采用模块化设计思想,主要包括电源模块、无线射频模块、数据采集模块和处理器模块。终端节点主要功能是采集数据,通过将温湿度传感器测量采集到的温湿度数据,对数据信息进行处理REF_Ref41390819\r\h[11]。第二部分是通信部分,通过CC2530无线射频芯片发送给协调器,协调器主要的功能是组建网络和加入节点,采用WiFi技术使PC端与底层硬件通信交互REF_Ref41390844\r\h[12]。第三部分是以上位机WEB端和AndroidAPP形式实现的软件部分。本系统主要采用MySQL数据库,与其它大型数据库的设置和管理相比,其复杂程度较低,易于使用。可移植性强REF_Ref41390884\r\hREF_Ref41390884\r\h[13]。MySQL能够运行与多种系统平台上,如Windows、Linux。2.1系统总体结构粮库存储条件监控系统的由三部分组成,包括三种传感器、无线节点、WiFi网关、服务器以及多客户端。系统架构拓扑仿真图和系统框架结构图,如下图2-1所示:图2-1系统框架拓扑仿真图数据的传递与系统的整体架构,如系统框架结构图2-2所示。图2-2系统框架结构图粮食存储条件监测及预警是本设计的主要功能实现,使用各类传感器检测粮食储藏环境中的环境参数并将检测到的信号集中传给STM32。通过WiFi传输模块,传输到服务器端的数据库MySQL中REF_Ref41390912\r\h[14]。WEB模块和AndroidAPP通过统一的服务器端读取数据库MySQL中的数据,在客户端显示移动通信界面和电子计算器页面中,当检测到的数据异常时,同时提示管理粮库的公务人员。该系统具备存储功能,所以通过存量数据科技进行信息的分析,例如当环境中温度过高时,会通过移动通信设备进行报警,同时上述页面提示管理人员,对于管理人员可根据当时情况做出相应的操作对策,确保粮库稳定、安全、可靠等。系统总体框架如图2-3所示。图2-3系统总体框架感知层由各传感器分别检测温度、湿度、可燃气体浓度、光照强度等,不同的传感器组成,并将检测的数据上传至STM32单片机。传输层利用WiFi实现传输功能,对采集到的数据进行传输。STM32接收从传感器收集的数据,并由STM32通过WiFi模块将数据传输到服务器端数据库。应用层为Web端和Android端APP设计,主要是读取数据库中的数据,并将其显示在界面中,当数据异常时,发出提示。主要的设计为以下三个方面:(1)硬件设计,本系统需要采集环境参数和传输数据,所以根据这些功能选择硬件。(2)传输设计,主要为通信协议的设计,需要在底层硬件和Java服务器之间建立通信,保证通信效率。(3)软件设计主要包括应用程序的界面设计,配置页面、用户注册页面、用户登录页面和主页。实时显示检测的各项环境参数,展示历史环境数据、设置功能以及提示功能。2.2设计方案本章主要对整个系统设计做出合理的设计方案,主要有数据采集模块、处理器模块、无限传输模块、应用层数据库、服务器等。根据设计需要,采用不同的设计方案。利用不同的设计思想,对每个模块做出详细的叙述,然后对比每个模块的功能、耗材、价格,为本次毕业设计采取最佳的元器件。2.2.1温湿度传感器模块设计方案传感器是测量和控制的第一部分,是测量系统的重要组成部分,如果没有传感器,就无法准确可靠地捕获和转换原始测量信号,从而无法实现所有精确的测量和控制。工业生产过程自动化测控主要是通过各种传感器对生产过程的各种参数进行检测和控制,使设备和系统处于最佳状态,以保证生产的效率和质量。1、方案一:采用SHT11单片全校准温湿度传感器。SHT11不同的“微结构”探测电极系统的保护和聚合物涂层形成传感器芯片的容量,不仅能恢复电容性水分的原始性能,而且还能抵抗其他方面的影响。温度传感器与湿度传感器的组合表现出一个单个的个体,能够改进测量精度和准确捕获点,而不因温度传感器与湿度传感器之间的温度梯度变化而造成误差。转换器,OTP校准数据存储器,串行总线和其它电路功能部件在芯片中的CMOS技术、温度和湿度传感器。传感器和放大器是集成的,不仅增加了信号强度,而且还增加了长期稳定性,这对于传感器系统非常重要。同时,模/数转换也在一个芯片内同时完成,这可使信号对噪声不敏感,尤其重要的是,在传感器芯片数据存储器内装载的针对每一只传感器的校准数据保证了每一只传感器都有相同的功能,可以实现100%的互换REF_Ref41391344\r\h[15]。另外,传感器具有快速反应、高精度和低功率消耗的优势。2、方案二:采用DHT90数字温湿度传感器。DHT90系列温湿度传感器采用进口湿度传感器芯片,主轴为为标准2.54mm插针。该传感器质量高,速度快,抗干扰能力强,性价比高。自由液压加工,开发时间短,开发效率提高,相对湿度、温度、输出精确测量,满标度输出,采用无重定向,长度稳定性好,高精度二线制数字接口,直接连接单片机,要求测量超功率,没有其他外部因素,自动睡眠。3、方案三:采用DHT11作为测温电路的温湿度传感器。DHT11数字温湿度传感器是一种具有校准数字信号输出的温湿度复合传感器。采用特殊的数字模块检测技术和温湿度传感器技术,确保高可靠性和良好的长期稳定性。传感器由电阻式湿度传感器和NTC温度测量元件组成,并配有强大的8位单片机。这就是为什么产品具有质量优良、反应速度快、坚固性强、成本效益高等优点。DHT11传感器在极其精确的湿度校准室内进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数REF_Ref41391331\r\hREF_Ref41391331\r\h[16]。综合以上三种方案,本系统选择了第三种方案的线性输出比较好的DHT11来作为温度检测。2.2.2光照强度传感器的方案选择1、方案一:TSL2581FN环境光线传感器TSL2581FN对数字转换系统具有高度的视觉敏感性,它可以改变光强度,并能够根据I2C标准进行数字标记。该器件包含一个宽带光伏(红外可见)和一个CMOS总循环的红外响应,可以提供一个16位的有源移动范围(16位分辨率)的光电二极管,它可以通过I2C接口检测环境的光强度和曝光。2、方案二:GY-30数字光强度检测模块GY-30光强数字测量模块,采用原BH1750FVI芯片,电源:3-5V,照明范围:0-65535lx,内置传感器16位AD转换器,直接数字输出,跳过复杂运算,通过校准,环境光二极管不易分辨,接近视觉灵敏度感知,可用于确定高亮精度1lx,标准NXPIC通信协议,模块包含通信电平转换。其提供的串口特性可以与本系统STM32单片机IO直接连接REF_Ref41391943\r\h[17]。综合以上方案,本系统选择了第二种方案中的与系统高度适配的数字光强度检测模块GY-30模块。2.2.3可燃气体传感器的方案选择1、方案一:MQ-5传感器MQ-5气体传感器对丁烷、丙烷、甲烷的灵敏性较高该传感器对天然气的检测特别灵敏,是一款多功能低成本传感器。2、方案二:MQ-9传感器MQ-9气体传感器对一氧化碳、甲烷、液化气的灵敏度较高,这种传感器可检测多种含一氧化碳及可燃气体,是一款多应用低成本的传感器REF_Ref41393512\r\h[18]。结论:考虑到实际应用场景,火灾主要由液化气泄漏、燃烧爆炸引起的,所以本设计采用MQ-9气体传感器。2.2.4处理器主控板模块的选择1、方案一:STC15系列STC15系列的单片机是深圳宏晶公司生产的单片机,该单片机在低端单片机市场有很大的空间,具有很强的抗干扰能力,防辐射能力,价格便宜REF_Ref41392287\r\h[19]。但是该系列的单片机功耗比较高,运行速度很慢,内部的可用资源比较少,只有一个串口。另外可用的引脚也较少,要想用SPI、IIC等功能只能通过复杂的软件模拟来实现,在系统开发过程中会耗费大量的时间。2、方案二:STM32F103X系列STM32F103X系列的单片机,是ST公司利用ARM公司Cortex-M3架构开发的芯片REF_Ref41392300\r\h[20]。该芯片具有多达5个串口,并且片上集成了非常多的硬件SPI以及硬件IIC,使得开发者可以不必花费大量的时间在处理各种通信协议上。并且该芯片拥有多达256KBRAM完全满足网络通信对于大内存的需求。结论:本系统采用STM32F103X系列的单片机,该单片机由于拥有丰富的硬件资源如SPI,IIC,ADC等非常有利于设计开发。并且该芯片的处理速度块,抗干扰性也强,相比STC15系列的单片机要好很多。2.2.5传输模块设计的方案1、方案一GPRS传输模块GPS无线电设备主要用于工业应用。它是以GSM/GPRS为核心单元,以GSM/GPRS网络为通信手段,以工业通信终端为基础,在移动GPS平台上运行的无线调制解调器和GPRS数据。如果该模块包含运营商的电话卡,则将创建移动互联网以满足电信设计的需要。该模块采用标准工业规范,提供标准RS232接口,直接与用户设备相连,具有中英文文本信息、彩色信息功能、网络通讯功能。2、方案二ESP8266WiFi模块无线热点是一个创建于IEEE802.11标准的无线局域网技术,由于其价格便宜传输速率高,丢帧率底,而且还能有3种工作模式,并且能够组网。3、方案三CC2530模块随着集成电路技术的发展,很多公司都提供有符合IEEE802.15.4的IC解决方案,再加上一个通用的MCU就能完成这两部分的设计。现在很多公司把MCU和射频收发芯片集成在一块SOC(SystemOnChip)之上,该方案和单独的MCU加射频收发模块的方案原理相同。因为,单个SOC的方案已经相当成熟,而且比较来说其体积更小,同时,TI公司的协议栈是部分开源并且完全免费的,使用该方案的成本更低REF_Ref41392287\r\h[21],实现定制更多自我的功能。最后的选择是SOC。下表3-1为市面上较为常用的三种ZigBee硬件平台的对比表。表2-1ZigBee芯片的对比(Freescale)MC13202(MicroChip)MRF24J40(TI)CC2530硬件协议802.15.4802.15.4802.15.4工作电压(V)2~3.42.4~3.61.8~3.8发射功率-2.7dBm~+3dBm可编程-3.0~0dBm可编程-3~+5dBm可编程相邻信道抑制比(dB)313049接收灵敏度(dBm)最大-95最大-95最大-98功耗休眠最小1uA空闲800uA发送35mA接收42mA休眠2uA接收19mA发送23mA休眠<1uA接收18.5mA发送25.8mA&33.6mA是否有MCU+RF集成SOC是是是ZigBee协议栈不开源不开源不开源安全AES-128AES-128AES-128从上表3-1可以看出三款2.4GHzZigBee/IEEE802.15.4射频收发器都具有低功耗的特性,而且都提供片上“系统+协议栈”的解决方案,使得对其开发变的相对容易;从安全的角度来看,这三种晶体芯片都具有AES-128加密的标准功能。然而,横向比较表明,其他晶体的性能与相邻的CC2530信道相比,CC2530区域的发射信道更小,接收灵敏度更高,因此CC2530的特性更为重要。结论:考虑到粮库环境比较稳定,以及结合价格等因素综合考虑本设计采用方案二WiFi模块和方案三中的CC2530模块作为传输数据方式。2.2.6数据库的设计方案1、方案一:SQLite数据库SQLite数据库是一个自己的手机数据库,速度非常快,不需要连接到多个开发环境。它是一个独立的数据库,没有服务器,没有SQL数据库的配置和维护。另外,这个数据库是免费开放的,节省了成本,如果数据量不够高,就用SQLite来处理数据。2、方案二:MySQL关系型数据库与Redis非关系型数据库MySQL使用的SQL语言是访问数据库最常用的标准语言。MySQL数据库规模小、增长快、价格便宜、开放性一般,它有着广泛的应用,另外MySQL是整个网站的数据库。凭借其社区版以及Java和Apache服务器的优异性能,可以使其成为一个良好的开发环境API和其他语言。低使用多流和进程资源已满。优化的SQL请求算法,有效提高了问题的质量和速度。可以是客户网络环境中使用的独立应用程序,也可以是嵌入在其他软件中的库。多语言支持允许表和数据列表的共同编码,如中文GB2312和UTF-8。安全访问不同的数据库,如TCP/IP、ODBC和JDBC。提供用于管理、检查和优化数据库业务的管理工具。它可以是一个处理数亿条目的大型数据库,底部使用多个B+tree存储系统。redis存储数据库速度快,支持数据的一致性,重启时可以存储在磁盘上。Redis不仅支持键值数据,还提供了列表、语句、散列等安全数据结构。支持数据备份,这是一个很好的例子。支持服务性能很高。Redis能读的速度是十万多次/s,写的速度是八万多次/s。所有回收的操作都是内核的。redis支持多个操作后,它们被合并可以保证原子性。事务等丰富的特性,Redis还支持publish/subscribe,通知key过期等等特性REF_Ref41392287\r\h[22]。由于粮库体积巨大,面积巨大,结合系统中ZigBee的模块的设计,对海量数据量的分析与展示,故选择传输性能与速度、稳定性能更好的MySQL数据库与Redis非关系型数据库,选择方案二。2.2.7服务器端的设计方案由于粮库体积巨大,面积巨大,结合系统中ZigBee的模块的设计,对海量数据量的分析与展示,故选择传输性能与速度、稳定性能更好的MySQL数据库与Redis非关系型数据库,选择方案二。1、方案一:JavaServlet服务连接器JavaServlet服务连接器中JSP、Servlet、JavaBean的开发模式,需要编写大量重复的代码,如固定的doGet()方法等。然而,众所周知,它的控制跳转并不灵活,通常需要两个java文件来处理一个问题。而且,采用MVC模式进行开发时,还存在很大程度的耦合,这对于以后的维护是没有帮助。它的好处是,适合于初学者,对于理解其中的交互过程很适合,便于以后对企业级框架的理解。2、方案二:SpringBoot微服务分布式应用服务器Spring4.0内嵌SpringBoot,SpringBoot由此而生的,因此它继承了一个优秀的基因,在SpringBoot中,只需要在工程中pom文件中添加Starter-Web依赖即可。因此服务器三层相互解耦。多工具等封装类,大大提高了开发效率。只需要将项目中的main()方法运行,即使用一键式启动项目。SpringBoot服务是未来的发展趋势。项目将逐步从传统的向不同的小微服务结构转变,而且,支持各种RESTAPI的实现方式。SpringBoot也是官方大力推荐的技术,可以看出,SpringBoot是未来发展的一个大趋势REF_Ref41392287\r\h[23]。故选择方案二,为本次设计的应用层服务连接器。2.3系统开发环境系统硬件主要使用C语言开发底层,软件开发基于Java的服务微服务SpringBoot框架,WiFi传输技术连接相关的软硬件。2.3.1系统软件开发环境本系统软件采用的是Spring平台,开发环境是IntelliJIDEA2018.2.6x64集成开发环境。IntelliJIDEA把很多工具集成在一个里面,JavaWeb是Spring软件开发工具包,可以在IntelliJIDEA中下载安装。Android开源的代码可以开发原生的应用,同时Android还可以给使用者提供自带的功能,例如通话、浏览器、短信等等。为部署SpringBoot项目,需要的工具有:IntelliJIDEA工具包,JDK安装包;如果需要部署的项目需连接数据库的话还需要:MySQL安装包,NavicatPremium。因为IDEA不用额外配置云端jar包Maven依赖,方便使用。2.3.2系统硬件开发环境硬件的STM32单片机所需要的编程语言是C语言,利用C语言编写单片机程序,不用考虑程序的初始化地址,不用考虑ACC,PSW以及工作寄存器的保护,不用考虑溢出进位CY。本设计中所涉及的主要为I/O控制、时间函数、数学函数等。第3章系统详细设计本章重点对系统的各个部分进行了详细的设计。主要完成了硬件电路的连接设计,重点讲解硬件功能和原理;软件部分详细说明了UI设计、算法流程和应用接口。3.1系统感知层的详细设计3.1.1MUC核心板模块设计本设计围绕STM32单片机建立最小系统。实物如图3-1所示,电路原理图如图3-1所示,。1、晶振电路晶振电路主要用于控制程序的运行节奏,MUC晶振电路,如图3-3所示。图3-1STM32实物图图3-2STM32电路图图3-3晶振电路图2、复位电路设计复位电路利用了电容电压不会突然变化的特性。通电后,电容电压为零,芯片复位。电源从C1到R10充电,芯片开始正常工作,直到电容电压上升到高电平。复位电路如图3-4所示。图3-4复位电路图3.1.2温湿度信号采集模块设计1、DHT11特点每个DHT11传感器都在一个非常精确的温湿度校准室内进行校准。校准系数以程序的形式存储在OTP存储器中,在传感器内部的检测信号处理过程中调用这些校准系数。单线串行接口,使系统集成方便快捷。DHT11数字温湿度传感器为4针单排针封装。但是只有三个连接,VCC(电源)、GND(接地)和data(数据)。在通信过程中,主机通过数据线向DHT11发送启动信号,DHT11接收到信号后返回响应信号。2、DHT11的接口设计DHT11的接口设计,为温湿度采集模块的核心设计,引脚的连接是首要注意事项,故引脚原理图,如下图3-5所示。图3-5DHT11原理图图3-5中,很明显看出DHT11仅仅有三个引脚可以用,DHT11其实是有四个引脚的,由于3脚悬空,封装的时候就将3脚去掉了。右脚接VCC,中间脚接数据,左脚接地。3.1.3可燃气体信号采集模块设计1、可燃气体信号模块硬件设计适用于家庭或工厂的气体泄漏监测装置,适宜于液化气、丁烷、丙烷、甲烷、酒精、氢气、烟雾等监测装置。可燃气体信号模块电路图,如图3-6所示。 图3-6MQ-9传感器电路图 MQ-9模块引脚接线说明表3-1,所示。表3-1MQ-9模块引脚接线说明表浊度传感器引脚Stm32主板连接引脚说明VCCVCC5V供电GNDGND接地线DOUTPA5采集数据2、可燃气体信号模块软件设计MQ-9可燃气体传感器软件工作流程图,如图3-7所示。图3-7MQ-9可燃气体传感器软件工作流程图3.1.4光照强度信号采集模块设计1、GY-30的特点及电路设计I2C总线接口(f/s模式支持),光谱的范围是人眼相近,照度数字转换器,宽范围和高分解(1-65535勒克斯),低电流关断功能,50Hz/60Hz光噪声抑制功能,1.8V逻辑输入接口,无任何外部部件,光源依赖性小(如白炽灯、荧光灯、LED),可选择2类IC从站地址,可调光窗测量结果(可检测分钟)。使用此功能0.11勒克斯,最大100000勒克斯),变化小(+/-20%),红外线影响小。GY-30接线原理图,如3-8所示。图3-8GY-30接线原理图3.2系统传输层的详细设计系统传输层由终端节电装置与CC2530芯片网关节点装置之间的通信、网关ESP8266串口WiFi模块与服务器之间的通信组成。粮库环境数据远程采集设备通过TCP/IP协议通信将采集到的监控数据上传到应用服务器,实现监控数据的远程传输和监控管理功能。3.2.1通信结构设计1、终端的节电设备与CC2530芯片的网关节点的设计CC2530是一个40引脚的芯片,芯片引脚如图3-9所示。图3-9CC2530RF射频板图CC2530是集成了8051内核的MCU和2.4G的无线射频模块,该芯片具有21个IO引脚,P0、P1、P2;一般来说P2口的P2.2和P2.1加上芯片上的VDD、GND、RESET_N五个引脚作为下载调试接口用。Zigebe节点与STM32通讯设计,如图3-10,所示。图3-10Zigebe节点与STM32通讯设计图Zigbee节点在感知节点上的电气连接如表3-2。表3-2Zigbee节点在感知节点上的电气接口说明接口名称功能UARTTX串口发送UARTRX串口接收GND接地VCC电源正端P0口集成有AD输入功能。该芯片有两个外接晶振,一个32.726KHz;一个32MHz,32MHz的晶振主要是2.4G无线收发模块使用。2、网关节点ESP8266串口WiFi模块与服务器之间通信的设计本系统的数据传输主要采用WiFi传输,电路图如图3-17所示。ESP8266串口WiFi模块的接口1和8分别连接STM32的PB11/USART_RX和PB10/USART_TX接口,接口2接地,接口3、4、6、7接模拟电源。数据传输软件流程图如图3-10所示。图3-11数据传输软件流程图WiFi模块电路图,如图3-12所示。图3-12WiFi模块电路图3.2.2通信协议1、终端的节电设备与CC2530芯片网关节点的通信协议Z-stack协议栈是一种基于轮询的嵌入式多任务操作系统。在该操作系统中,实现了ZigBee协议的基本硬件配置和操作、MAC访问和信息路由。其中,ZigBee的大部分原语并以API的形式提供给用户,提供了相对灵活而简单的开发机制,协议栈的工作流程如图3-13所示。图3-13Z-Stack工作流程上图3-12为Z-Stack工作流程。进入系统前,协议栈启动后需要进行各种初始化工作,如图左侧所示。初始化后,协议栈进入事件轮询和事件处理过程。图的中间部分是轮询机制的简单表示。在Z-stack中,所有要处理的任务都称为任务。每个任务由两个数组决定:tasksEvents和tasksarr。前者称为事件数组,后者称为事件处理程序数组。事件数组元素为无符号的短整型,而事件处理函数的元素为函数指针REF_Ref41393249\r\hREF_Ref41393249\r\h[24]。Z-stack的每个级别对应一系列事件中的单个元素,因此理论上,每个级别的最大任务数可以是65536个事件;存储在任务组中的系统请求一组事件发生后,指定一个事件处理函数,该函数应与数组的每个元素、对应的函数一致打电话给taskar。Z-stack的开发是一个定义的事件和事件处理函数,当需要操作系统调用给定的处理函数时,一旦在正确的时间安装了一组事件,就会执行该函数。ZigBee通信协议帧结构如表3-3。表3-3信标帧结构表属性格式帧控制2字节序列码1字节寻址信息4-10字节数据载荷N字节FCS2字节2、网关节点ESP8266串口WiFi模块与服务器之间通信协议连接到本地服务器的主面板通过WiFi模块。目前,无线技术在市场上得到了广泛的应用,如GSM、GPRS、3G、4G等,系统支持串行RS232端口,方便了STM32主控晶体的串行连接,并提供了直通功能,大大提高了无需多次连接的实时数据传输能力。ESP8266模块有一个内置的AT元素,这使得开发人员可以很容易地使用at指令来调整他们的工作模式。包括静态模式、AP模式、AP+站模式,支持网络的功能透明。基于网络级IP协议的TCP传输协议。尽管这些包的实现细节无关紧要,但只需要使用系统提供的相应接口,如网络编程中的Socket。此外,在ESP8266模块中实现了TCP/IP协议,方便了用户使用AT命令启动TCP连接到工作结束。AT指令表,如表3-4所示。表3-4AT指令表指令描述AT+CIPSTATUS查询网络连接信息AT+CIPMUX设置多连接模式AT+CIPSTART建立TCP连接UDP传输或者SSL连接AT+CIPCLOSE关闭TCP/UDP/SSL传输AT+CIPMODE设置透传模式AT+CIPSEND发送数据在连接到TCP服务器和打开数据传输模式后,数据将通过TCP连接传送到串行端口,这将使数据从计算机到程序通过网络通过一个串行过程传输完成,以确保连接平稳。协议传输数据帧格式如下:{"flag":"01","granaryId":"0001","eqId":"000001","status":"1","time":"2019-7-2815:30:56","temperatureData":"m0","humidityData":"m1","concentrationData":"m2","illuminationData":"m3"}各键值对的具体含义,如表3-5所示:表3-5协议传输数据帧各键值对具体含义表键值说明flag自定义值,如:01采集数据上传标识granaryId自定义值,如:0001粮库编号eqId自定义值,如:000001设备编号status1或0设备状态time如:2020-01-0100:00:00当前时间temperatureDatam0温度humidityDatam1湿度concentrationDatam2可燃气体浓度illuminationDatam3光照强度3.3系统应该用层的详细设计本章主要讲的是应用层软件部分。系统中首先要将底层采集到的数据信息通过Socket协议发送到服务器端,服务器端在接收到数据之后会将数据存到MySQL数据库中,当客户端通过HTTP协议向服务器端发送监测请求时服务器端再把从数据库中取出来的数据转成Json数组格式反馈给客户端用以显示。不过,在显示之前要先将取到的数据进行判断,如果没问题,就直接显示,如果有问题的话那么就在实时数据界面会显示“某某数据异常”,主界面显示的是当前设备、产品与数据等汇总信息,点击进去后界面显示历史数据。本系统系统总体框架,如图3-14所示。图3-14系统总体框架3.3.1数据库设计1、数据库概念结构设计本系统中数据库的实体构成如下:用户:用户id、用户名、用户账号、密码、邮箱、创建时间;产品:产品id、产品名、产品类别、产品简介、创建时间、用户id;控制设备:设备id、设备名、设备编号、设备描述、设备状态、创建时间、产品id;数据流模板:模板id、模板名、单位名称、单位符号、创建时间、设备id;数据流实例数据:数据id、数据参数、创建时间、模板id。系统流程为:首先,其中一个工作人员是可以负责监控多个粮食仓库,粮食仓库里面的很多个产品都可以是由一个工作人员来监控的,也就是他们之间是一对多、多对一的关系;粮食仓库里面的产品使用的传感器是一对多的关系,传感器所监测到的数据之间的关系是一对多的关系;再有粮食仓库内的工作人员和控制设备之间的关系是一对多、多对一的关系,因为当发生异常的时候粮食仓库里面的一个工作人员是可以控制很多个控制设备的。系统全局E-R图如图3-15所示。图3-15系统全局E-R图2、数据库逻辑结构设计本系统中采用了MySQL数据库来进行设计。服务端通过调用数据库中的信息与前端交互,验证用户的信息,以及实时数据,历史数据的展示,和继电器控制等功能,在本系统中的数据库中重要的表有五张。这五张表分别为用户信息表user、产品信息表product、设备信息表equipment、数据模板单位表model、数据采集表entity。(1)用户信息表在用户的信息表中主要存储用户注册时添加的用户名、密码、邮箱、创建时间,用户信息表如表3-6所示。表3-6用户信息表user列名数据类型约束说明idint(20)NotNULL,Primary用户idnamevarchar(255)NotNULL用户名phonevarchar(255)NotNULL用户手机passwordvarchar(255)NotNULL用户密码emailvarchar(255)用户邮箱createtimetimestampNotNULL创建时间(2)产品信息表在产品信息表中主要存储产品的状态信息,产品信息表如表3-7所示。表3-7产品信息表product列名数据类型约束说明idintNotNULL,Primary产品IDnamevarchar(255)NotNULL产品名industryvarchar(255)产品行业categoryvarchar(255)产品类别introductionvarchar(255)产品简介createtimetimestampNotNULL创建时间uidintNotNULL用户id(3)设备信息表在房间内的信息表中主要存储了设备名、产品的ID、设备的控制状态信息,设备信息表如表3-8所示。表3-8设备信息表room_info列名数据类型约束说明idInt(20)NotNULL,Primary设备idnamevarchar(255)NotNULL设备名codevarchar(255)NotNULL设备编号describevarchar(255)设备描述stateInt(1)NotNULL设备状态createtimetimestampNotNULL创建时间pidInt(20)NotNULL产品id(4)数据流模板信息表在房间内的信息表中主要存储了监测值的单位名称、单位符号、设备的id,数据流模板信息表如表3-9所示。表3-9数据流模板信息表data_stream_model列名数据类型约束说明idIntNotNULL,Primary数据流模板idnamevarchar(255)NotNULL数据流模板idunitnamevarchar(255)NotNULL单位名称unitsymbolvarchar(255)NotNULL单位符号createtimetimestampNotNULL创建时间eidint(20)NotNULL设备id(5)房间内信息表在房间内的信息表中主要存储了监测的房间的ID值、用户的ID、控制设备的ID信息,房间内的信息表如表3-10所示。表3-10数据流信息表room_info列名数据类型约束说明idInt(20)NotNULL,Primary数据idparameterdouble(255,5)数据参数createtimetimestampNotNULL创建时间didint(20)NotNULL模板id3.3.2功能模块设计1、用户登录模块(1)UI设计在该登录模块中使用了简单的线性布局LinearLayout,整体是垂直分布的,而每一行又是TableLayout布局,这其中包含的控件有TextView、EditText、Button,在Text框中有“用户账号”、“密码”等友好的中文提示。粮库以及企业粮仓管理人员信息至关重要,所以系统采用MD5加密的方式对管理员的敏感信息进行加密。同理用户注册的UI也是这样实现的,如图3-16所示为登录界面图。图3-16登录移动端界面图(2)算法流程
MD5是一个安全的散列算法,输入两个不同的明文不会得到相同的输出值,根据输出值,不能得到原始的明文,即其过程不可逆。所以能保证落库的管理员信息是完全的保密的REF_Ref41393273\r\h[25]。当用户打开AndroidAPP和Web浏览器时,进入系统无信息的首页,首页左上方有登录和注册的超链接接口,当点击查看设备信息或数据信息时,系统会自动提示“请先登录”的友好中文提示,如果没有账号则回退页面到系统首页,点击注册的超链接接口,当用户注册完成时会自动跳转到登录界面。用户输入错误的用户账号和密码时,数据库校验失败,提示“登录失败”,当用户输入正确无误的用户账号和密码时,数据库校验成功登录成功系统返回系统首页。图3-17用户登录流程如图所示。图3-17用户登录界面软件流程图(3)应用接口表3-11用户登录接口名称/login_user说明本接口验证用户名和密码是否存在输入username:登录用户名password:登录密码输出0:登录失败1:登录成功2、用户注册模块(1)UI设计用户注册的UI设计与登录UI类似,是在res文件夹下的资源文件中实现,需要在Layout布局在.jsp文件中,对注册界面设计。同时,在TEXT中会对用户有非常友好的“设置用户名”、“设置账号”、“设置密码”提示标语。如图3-18,用户注册移动端页面UI图,所示。图3-18注册移动端界面图(2)算法流程该接口的入口在系统首页,用户可以在注册接口打开AndroidAPP和Web浏览器的注册界面。注册流程会提示用户设置用户名、账号、密码等信息,当点击注册信息时,系统会率先对用户账号等敏感信息进行加密,自顶向下传递数据,在数据库MySQL中对用户账号的字符进行检查,前面提到,为了加开查询效率,用户账号添加了唯一索引index,如果用户账号重复,系统会给用户提示“该账号已被注册”的友好中文信息。用户输入设置的用户名、用户账号和密码时,数据库添加失败,系统返回注册页面,提示“注册失败”,当用户输入正确无误的用户账号和密码时,数据库添加成功后,系统直接返回登录页面,使用设置的账号和密码登录成功后,返回系统首页。图3-18用户注册流程如图所示。图3-18用户注册界面软件流程图(3)应用接口表3-12用户注册接口名称/register_user说明本接口验证用户名是否存在,并添加注册新的用户输入username:登录用户名phone:用户账号password:登录密码输出msg:改手机号已被注册0:登录失败1:登录成功3、修改用户信息模块(1)UI设计用户个人信息的UI设计在系统主页,是在用户名出设置下拉框,下拉框首位为,个人信息接口页面的入口。该设计符合大众审美,并且主流APP向类似,使管理员有良好的用户体验。如个人信息移动端入口界面图3-19,所示。图3-19个人信息移动端入口界面图用户个人信息的UI设计集合在系统主页内部,上边栏为首页展示的个人信息内容,下边提示用户现在在系统中的位置。修改用户信息模块在数据库中获取当前用户的个人信息,展示在文本框中,唯一索引的手机号码为灰色不可修改状态,如用户想修改个人信息点击“修改”按钮即可,修改成功直接跳转到系统主页。图3-20个人信息移动与Web端界面图(2)算法流程用户点击个人信息接口的超链接,页面跳转到个人信息界面,页面显示从Session中获取的用户信息,其中手机号是真实的手机号码,非数据库中的MD5加密字段,查询前对此字段进行加密。如MySQL中user表存储情况图,所示。图3-21MySQL中user表存储情况图用户不可以修改唯一索引字段,当用户提交修改个人信息申请的时候,系统通过不可能更改的账号,在数据库中查询用户信息,并进行更新操作,数据库更新成功后,更新缓存,用户当即在页面看到修改的信息。如图3-22个人信息算法流程图,所示。图3-22个人信息算法流程图(3)应用接口表3-13修改用户信息接口名称/update_user说明本接口验证用户名是否存在,并更新用户信息输入username:登录用户名phone:用户账号(自动生成)password:登录密码email:电子邮件输出0:更新失败1:更新成功4、历史数据显示模块(1)UI设计历史数据显示模块对应不同传感器的数据,实现历史数据的展示。用户在主页可以看到数据流信息,数据流信息中展示历史数据。历史数据分为三部分。第一部分数据流数据,第二部分数据流产生的时间,第三部分所属的终端设备。当用户触发历史数据显示接口时。系统根据用户下的数据设备,查询该设备下具有的数据实体。数据库将查询到的数据保存在顺序表中,并将顺序表封装成model返回给前端页面。界面的效果图,如图3-23传感器历史数据模块移动端UI,所示。图3-23传感器历史数据模块移动端UI图(2)算法流程用户点击“物联网终端管理”里下拉框中的数据流信息,数据流信息中展示历史数据。历史数据分为三部分,第一部分数据流数据,第二部分数据流产生的时间,第三部分所属的终端设备。当用户触发历史数据显示接口时,系统根据用户下的数据设备。查询该设备下具有的数据实体。数据库将查询到的数据,保存在顺序表中,并将顺序表封装成model返回给前端页面。如图3-24历史数据模块流程,所示。图3-24历史数据模块流程图(3)应用接口表3-14历史数据显示接口名称/entity_info说明本接口获取是数据库中历史数据信息输入username:登录用户名phone:用户账号(自动生成)输出List<DataStreamEntity>:数据封装成线性表null:数据为空5、实时数据显示模块(1)UI设计实时数据展示模块分为两部分。第一部分,由一个表格构成表格,内部具有“数据流模板ID”、“数据流模板名称”、“数据流模板单位”、“单位符号”、“创建时间”和对其修改的操作组成实时数据显示页面。点击修改操作可以修改数据的单位及符号与数据名称等信息。第二部分为实时数据的展示轮播图。横坐标为时间轴,纵坐标为数据轴。当鼠标停留在表中结点时,会弹出该节点产生的时间、该结点的数据和该节点的名称。实时数据每十秒,进行一次变化。实时数据图采用黑色作为底面与系统白色主题形成鲜明对比。可以直观的看出实时数据的波动情况。当环境参数(温湿度、可燃气体浓度、光照强度)到达警戒值的时候,环境系统会在环境数据展示页面弹出一个警示框,提示用户环境值超标了。便于用户更快捷的得到报警信息并方便及时采取相应的应对措施,。界面效果图,如图3-25所示。图3-25实时数据显示模块客户端UI图(2)算法流程用户点击设备信息,实时数据时,系统跳转到实时数据超链接页面。从进入页面的当前时间开始计算实时数据的数据值。每十秒会发送一个AJAX的请求由后端。进行对请求的解析,经解析出来的代码。根据设备ID在数据库中查询该设备ID的最新的一条数据,并封装成一个数据流实体对象,返回给AJAX方法,并通过前端解析与展示。如图3-26实时数据与阈值报警模块算法流程图,所示。图3-26实时数据与阈值报警模块算法流程图(3)应用接口表3-15实时数据显示模块接口名称/model_date说明本接口获取该设备的实时数据信息输入eid:设备ID输出parameter:实时数据createtime:创建时间did:所属设备6、远程控制实时预警模块(1)UI设计远程控制与实时预警模块主要分为三个部分,第一部分会实时分析当前数据情况并对数据的异常情况,进行手机发送短信预警来提醒管理人员。第二部分在网站上UI界面实时提醒,当实际值超过阈值时,页面弹出提示框提示用户“当前实时数据超过阈值,请尽快联系管理员处理”。界面效果图如图3-27所示。图3-27实时数据与阈值报警模块客户端UI由于使用SMS接口API发送短信会有一定时间的延迟。用户率先看到前端的提示框,随后用户注册时候的手机号,会收到一条内容为“提醒您当前采集的环境数据不利于储存,请尽快与管理人员核实”的预警短信。如图,3-28短信阈值报警图,所示。图3-28短信阈值报警展示(2)算法流程AJAX
是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下。ajax()方法用于执行AJAX(异步HTTP)请求。所有的jQueryAJAX方法都使用ajax()方法。该方法通常用于其他方法不能完成的请求。中国网建,在上海、广州都设有办事机构,主要从事企业上网、互联应用、互联网产品开发、网络工程架构、计算机网络维护服务的高新技术公司。系统首先发送AJAX请求,后台服务器根基设备ID,会在数据表中查询当前设备的最新数据,如果当前数值通过计算,超过事先设置的阈值。那么系统会调用SMS网建短信通平台接口API。通过发送gbk格式的预警信息。获取当前账号的用户信息,将短信信息封装成短信对象,届时管理员将收到预警短信。图3-29实时数据与阈值报警模块算法流程图(3)应用接口表3-16实时预警模块接口名称/model_date说明本接口获取该设备的实时数据信息输入phone:用户手机号输出0:发送短信失败1:发送短信成功7、基础信息管理模块(1)UI设计用到jQuery前段框架,页面布局和格式用到前段框架BootStrap,以及EL表达式,页面数据图标来自阿里巴巴的icon网站。界面的效果图,如图3-30所示。图3-30iotCloud首页客户端UI图手机App客户端在具体的功能实现上主要是接收服务器发来的请求并将用户下最新的产品数据、设备数据、模板数据、历史数据展示在页面上。用户可以添加产品信息、传感器信息、数据的单位模板信息等,当用户想要增加传感器、修改传感器信息、控制传感器工作、控制数据单位时,点击“修改”到便于用户更快捷的得到更新信息措施。控制部分当UI界面设置设备状态为0时,实时数据展示图将不会展示该设备的数据,起到反向控制的作用。界面效果图如图3-31所示。图3-31iotCloud基础信息管理客户端UI图(2)算法流程用户可以输入产品信息,如“产品名”、“产品行业”、“产品类别”,点击添加。系统会封装成HTTP协议的包,在后端解析成产品对象。由数据库对产品对象进行持久化操作。设备信息包括“设备名”、“设备编号”、“设备描述”和“设备状态”等信息,展示时会展示设备的创建时间以及属于产品,上面所说的四个属性。具体流程与产品信息相似。系统可以修改社会状态,当进行修改操作时,设备状态由1变成0的时候,设备将不再接收数据。图3-32基础信息管理算法流程图(3)应用接口表3-17实时预警模块接口名称/dataStreamMode_infrom说明本接口对基础信息进行管理操作输入dataStreamMode:基础信息对象输出0:更新失败1:更新成功8、行业资讯信息模块(1)UI设计用户进入云物联网云平台首页左边栏有行业资讯,点击“行业资讯”跳转到行业资讯页面。页面中具有最新最全的粮食及粮食存储类的国家官方网站。通过线性排列呈现给用户,用户点击会跳转到国家官方网站中。界面效果图如图3-12所示。图3-33行业资讯模块客户端UI(2)算法流程用户点击行业资讯,系统查询用户缓存信息,如果用户具有缓存信息则保存在行业资讯页面,如果用户未登录则直接进入行业资讯。在行业资讯页面点击各类的行业资讯,则跳转其页面。如图3-34行业资讯算法流程图,所示。图3-34行业资讯算法流程图(3)应用接口表3-18行业资讯模块接口名称/iotcloud_news说明本接口获取行业资讯信息数据输入无输出0:跳转失败1:跳转成功第4章系统测试与分析本章主要分为三个部分,第一部分是感知层的数据是否可以获取,测试三种传感器能否进行正常工作。第二部分是传输层通信环节,测试硬件底层与传输模块,传输模块与服务器端能否进行正常通信。第三部分是应用层测试,测试移动通信段AndroidAPP和Web端能否正常完成相应设计,实现相关功能。4.1感知层测试感知层实现底层硬件,以STM32单片机作为核心,DHT11温湿度传感器、GY-30光照强度传感器、MQ-9可燃气体传感器需要采集数据,并将数据传送至STM32。系统运行开始后,STM32驱动三种传感器采集数据,通过MySQL数据库查看数据,通过数据的值,判断各传感器是否正常工作。测试结果如图5-1所示。图5-1STM32采集数据保存在MySQL中的状态图4.2传输层测试传输层建立在通信协议的基础上,通信协议主要包括建立通信链路和断开通信链路,建立通信协议需要通过开启Socket通信,断开通信链路主要通过关闭Socket通信实现。采用TCP/IP协议,通过TCP进行相同局域网内的信息传输。主机的每个服务器都会打开并且绑定Socket到端口上REF_Ref41393331\r\hREF_Ref41393331\r\h[26]。通过测试发现,服务器可以通过WiFi与底层硬件进行Socket通信,数据正常。如图5-2所示。图5-2Socket通信输出4.3应用层测试运用软件工程中软件测试的单元测试、确认测试和系统测试REF_Ref41393343\r\h[27]。登录界面进行身份验证,系统本身的密码为用户注册时设置的密码,正确密码可以登录系统,输入错误密码,点击登录,显示密码错误。测试用户如表5-1所示。表5-1测试密码表用户名序号密码物联网终端用户011234567899912345678999物联网终端用户0212345678888abc123...主页对产品信息、设备信息、数据模板和历史数据,进行了分析与展示。产品信息下分为各种设备,对设备信息的正确性,进行测试。实时数据通过传输,获取实时数据,并正确展示,数据超过预先设定的阈值时,给予发短信的操作进行测试。数据监控需要采集相关的参数为温度、湿度、可燃气体浓度、光照强度的正确性进行测试。结论本设计是一套性价比较高,可靠性较强,具有高性能高稳定高可靠的基于物联网的粮库存储环境检测系统。采用以STM32单片机作为核心,DHT11温湿度传感器、GY-30光照强度传感器、MQ-9可燃气体传感器作为物联网感知层。WiFi模块和ZigBee等硬件器材与服务器的Socket通信构成物联网传输层。进行相应的软件工程系统程序编程,确保底层硬件的正常工作。使用WiFi通信传输,实现硬件底层与软件上层的通信与交互。用户可以连接网络即可打开系统,也可以安装APP对数据与环境进行检测,提高对粮库的管理和控制,降低粮库管理成本。本设计完成的工作如下:(1)底层硬件实时采集环境的温度、湿度、可燃气体浓度、光照强度等参数,并将数据由ZigBee传输至STM32单片机进行数据分析与处理。(2)本设计为管理人员提供实时的环境数据与短信预警功能,通过WiFi通信模块,将终端收集的数据传输到服务器端,通过平台查看数据,有利于数据统计与分析,同时WiFi传输距离远,传输速率快且稳定,穿透性强,适合储粮仓与管理人员办公区域的传输,对地形没有限制。(3)本设计中的设置功能,可为用户提供操作简单方便的自定义设置,根据用户自身的需求设定相关参数上限,并且修改设置十分方便快捷,提高系统对于不同需求的不同功能,当数据超过用户设置的上限时,进行报告和提示。使用户快速做出反应。本系统实现了用户的基本需求,可以满足大部分化学实验室的环境监测,但是也存在一些不足,由于缺少APP界面的设计经验,APP的界面比较简洁简单,可能缺少一些美观,在UI的设计上可能比较简单粗糙,系统中主要是环境的监测,缺少对硬件设备的控制。后续的改进上,可以添加对底层硬件的控制,例如加湿,降温等功能,使系统更加完善。致谢行文至此,三几易其稿,不断完善,终成之际,静下心来顾于本科四年之学事、生活,心中思绪万千,不觉风云,但是更多的是感激。感谢范老师,从选题到论文完成,再到本设计的完成,范老师态度认真负责,指导我完成了设计的各个部分。感谢系主任冯老师,为我提供了许多技术方案,对我的设计有着巨大的帮助。感谢四年里帮助我的班主任老师、任课教师、辅导员老师悉心指导。最后感谢党和国家,感谢挺身而出的工作者,感谢全国人民万众一心打赢新冠疫情防控的总体战,阻击战,保护了全国人民的生命安全。四年之中,有太多的人帮助、支持。自入学至今,向四年时光致谢,感谢青涩的我成长路上离不开的人,离不开父母支持我的每一次选择,离不开朋友对我的帮助,离不开与我朝夕相处了四年室友和基地每天一起学习的同学。2020年没有毕业典礼、没有毕业照、没有散伙饭,也没能给朝夕相处的同学当面送上一句祝好和再见,就这么毕业了,对于这四年不算完美,但很美好。这些经历都是我人生路上宝贵的财富。可惜你们五个看不到我抱着你们哭的样子了。愿我们六个各自努力,某年某月某日再相见。参考文献张红宇.从公共卫生事件到粮食安全——由新冠肺炎疫情引发的相关问题思考[J].中国农垦,2020(05):29-34.张红宇.高度重视国家粮食安全问题[N].企业家日报,2020-05-15(005).郑冰石.粮食企业仓储管理现状及科学保粮发展[J].区域治理,2020(03):99-101.KookanaRaiS.,DrechselPay,JamwalPriyanka,VanderzalmJoanne.Urbanisationandemergingeconomies:Issuesandpotentialsolutionsforwaterandfoodsecurity[J].ScienceofTheTotalEnvironment,2020(prepublish).LauraScherer,Jens-ChristianSvenning,JingHuang,ColleenL.Seymour,BrodySandel,NathanielMueller,MattiKummu,MateeteBekunda,HelgeBruelheide,ZviHochman,StefanSiebert,OscarRueda,PeterM.vanBodegom.Globalprioritiesofenvironmentalissuestocombatfoodinsecurityandbiodiversityloss[J].ScienceoftheTotalEnvironment,2020,730.TomJBechman.Checkgraininon-farmstoragenow[J].FarmIndustryNews,2019.TomJBechman.Grainstorageproblems:Whattolookfor,howtofixthem[J].FarmIndustryNews,2019.陈礼元.浅析粮食主销区粮食储备管理中存在的问题及机制创新——以甲地区为例[J].新西部,2019(20):49+42.罗贵华.粮食安全问题与对策研究[J].粮食科技与经济,2019,44(04):43-45.王威.智能粮库通风系统的控制研究[D].上海电机学院,2019.舒泰歌,游乾乾,李慕凡,王瀚泽,张艺鼎.基于STM32无线信息采集系统设计[J].科技风,2020(15):120-121.李宇松.基于ZigBee和CC2530的农业大棚温湿度采集系统设计[J].农家参谋,2020(14):285-286.聂珲,陈海峰,周豪.基于NB-IoT的环境监测系统[J/OL].实验技术与管理,2020(05):89-93+110[2020-05-26]./10.16791/ki.sjg.2020.05.019.张问松,荆黎明,田思庆.基于ZigBee和ESP8266的远程灌溉控制平台设计[J].山西电子技术,2020(01):12-14.庞岳峰,朱巍巍,谢克佳,罗义.基于SHT11传感器的测控设备温湿度监测系统设计[J].无线电通信技术,2018,44(05):526-530.LiangXiao.DesignofIntelligentIlluminationControllerforAgriculturalGreenhouseBasedonArduinoBoard[C].InternationalInformationandEngineeringAssociation.Proceedingsof20187thInternationalConferenceonAdvancedMaterialsandComputerScience(ICAMCS2018).InternationalInformationandEngineeringAssociation:计算机科学与电子技术国际学会(ComputerScienceandElectronicTechnologyInternationalSociety),2018:319-323.刘美丽,李曰阳,李震.基于嵌入式的农作物生长环境的监测控制系统设计[J].自动化与仪器仪表,2019(12):141-143.潘祥生.矿用烟雾传感器检测系统的设计与分析[J].电子世界,2016,(09):147-148.陈林.基于STC15单片机的四驱智能小车循迹设计[J].数字通信世界,2020(03):69+88.齐明志,周莉.基于STM32单片机驱动的实时显示研究[J].电子世界,2020(08):13-14.梁福和.基于ZigBee的煤矿中央变电站监控系统设计[J].煤炭技术,2019,38(06):167-169.宁方美,贺雪梅,牟晋娟.SpringBoot集成Redis缓存技术在企业一卡通系统中的应用[J].电子技术与软件工程,2019(24):133-134.颜治平.基于SpringBoot和Vue框架的教代会提案系统的设计与实现[J].科技创新与应用,2020(03):91-93+95.魏凡皓,王惠中.基于ZigBee技术的粮库监测系统的设计与实现[J].工业仪表与自动化装置,2020(02):70-73.靳燕.基于MD5算法的文件完整性检测系统分析及设计[J].网络安全技术与应用,2019(11):36-38.顾雨田.计算机软件测试方法及应用分析[J].计算机产品与流通,2020(08):25.刘睿,张彤,丁慧.信息安全软件测试的复用测试用例技术的研究与应用[J].电子技术与软件工程,2019(24):184-185.附录设计系统部分源代码硬件部分源代码:intmain(void){
u16adcx;u16adcx1;u16adcx2;
floatdensity,GP2Y;
u16set=500;
unsignedintRH_Value,TEMP_Value;
unsignedcharRH_H,RH_L,TP_H,TP_L;
charNumber[10]={
'0','1','2','3','4','5','6','7','8','9'
};
floattemp;floattemp1;floattemp2;
delay_init();
NVIC_Pr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 地层测试工安全生产基础知识考核试卷含答案
- 身后互不继承遗产协议书
- 监理合作内部协议书
- 焦炉煤气冷凝净化工冲突解决评优考核试卷含答案
- 井矿盐制盐工安全意识强化模拟考核试卷含答案
- 美业员工入股协议书范本
- 渔船普通船员10S考核试卷含答案
- 船舶甲板设备操作工安全知识能力考核试卷含答案
- 血透个案护理:总结与未来展望
- 老年冠心病患者的病情观察要点
- 肿瘤化疗导致的中性粒细胞减少诊治中国专家共识解读
- 2025年查对制度考核考试题库(答案+解析)
- 云南省2025年普通高中学业水平合格性考试历史试题
- 骨关节疾病危害课件
- 《再见2025欢迎2026》迎新年元旦主题班会
- 猫屎咖啡介绍
- DB54T 0540-2025 区域性强降雨气象评估标准
- 2025-2026 学年三年级 道德与法治 随堂检测 试卷及答案
- 广西贵百河2025-2026学年高一上学期12月联考语文试题
- 《手术室护理实践指南(2025版)》
- 四川省2025年高职单招职业技能综合测试(中职类)汽车类试卷(含答案解析)
评论
0/150
提交评论