文摘
本文首先设计了wireless-based智能环境监测系统的总体方案;该系统由以下四个部分:服务器,客户端部分,奴隶计算机部分和主计算机的部分。主计算机配备无线传输模块和液晶模块。奴隶电脑配有温湿度传感模块和无线传输模块。服务器端有两个主要的接口:数据显示和服务器建立。Android手机客户端可以实现移动应用程序和服务器之间的通信通过网络通信来获取实时环境数据。系统的硬件部分包括无线传输模块,温度和湿度模块,模块,烟照明模块、火焰模块,液晶显示模块。软件实现部分主要包括串行通信的设计和实现,无线通信的设计与实现的设计和实现各传感器数据采集模块的集合,以及网络通信的设计和实现以及显示装置的设计和实现。通过这四个部分的合作,我们可以自动感知和控制环境的状态,实现人机交互。
1。介绍
科学进步和技术推广,智能设备享受越来越广泛的应用,和问题,如环境问题已经引起了佣金的准确性(1,2]。以前的环境监测是通过手动监控,从现在的观点有许多缺点,包括低效率和不科学的管理系统(3- - - - - -6]。这不是有利于资源的充分利用和科学管理。此外,它不是很难找到这些年来的重大事故,许多是由人为因素引起的7- - - - - -10]。
例如,温室、工业工厂,和其他地方他们的周边环境有更高的要求11,12]。尽管许多温室和工厂也配备了相应的加热、加湿、通风设备,这些类型的设备基本上是人工操作(13,14]。在这种情况下,一旦有一个大型设备检查和维护的工作量,这将导致高劳动强度等问题。此外,这种方法不能实现准确、实时控制的环境,已经成为无法满足当今社会的快速发展的需要(15- - - - - -17]。因此,无线环境监测系统的开发集成环境数据收集、传输和显示将大大减少操作员的劳动强度和提高环境监测的准确性(18,19]。
现在,传统的环境监测技术已广泛应用于各行业的生产在中国,已经发展成为一个相对完整的系统(20.]。智能环境监测技术,可以实现集中监控多个环境因素,也应用在一些发达国家21,22]。但其高成本使其难以推广。近年来,许多研究机构在中国研究了智能环境监测技术,和国家也给予大力支持23- - - - - -25]。从当前国内外环境,有线环境监测技术已经相对成熟,但其应用范围非常有限,有明显的局限性26- - - - - -28]。因此,有必要设计一个系统,可以将这些数据发送到无线主机进行处理(29日,30.]。
这个系统是设计一个基于无线环境监测设备的环境数据采集、传输和显示。基于无线技术的环境监测有足够的发展空间和应用前景,它可以广泛应用于工业和农业的生产和发展。因此,开发这样一个智能环境监测系统能够被广泛用于满足市场发展的需要。
本文的其余部分组织如下:部分2介绍了相关的工作。部分3介绍了该系统的总体设计。然后,阐述了系统硬件电路的设计和实现部分4。部分5给出了系统软件的设计和实现。和系统功能调试执行部分6。最后,给出一个结论部分7。
2。相关工作
伦和Norrby使用RFID定位项目或室内环境的人31日]。但RFID是高成本和安全不够强烈,这些都限制了其广泛应用。杨等人扩展面向流程的结构化系统分析现有智能交通体系结构,以建立一个基于新一代智能交通系统的无线通信技术,并进一步深入分析将讨论所需的额外功能的网络服务,在视图的用户和应用程序支持,功能,信息,连接,和沟通(32]。戴伊等人认为是一个以家庭为基础的无线心电监护系统利用无线个域网技术(33]。但这类系统往往孤立地设计,没有考虑现有的家庭控制网络和智能家居解决方案。刘使用多传感器数据融合技术、ARM技术,无线个域网技术、GPRS等技术,研究和开发了一个智能环境监测系统34]。但GPRS通信模块的成本很高。很多无线传感器网络优化研究IIR宽带数字微分器和集成商使用樽海鞘组算法,自动检测网络干扰和入侵,将车辆任务通过使用博弈论的方法(35- - - - - -37]。当前的无线通信技术越来越广泛的应用。因此,使用无线技术来设计一个低成本,稳定,可靠的环境检测系统具有重要意义。
3所示。总体设计
系统需求分析后,采用一种综合通信方法,包括奴隶电脑,主计算机,服务器和客户端。STM32用作主控制器,使用QT设计人机交互界面,采用和TCP网络通信实现与客户端进行通信,所以主计算机,服务器和客户端有观察环境的功能。系统框架如图1。
奴隶的计算机系统实现数据采集和传输数据到主计算机通过无线模块。主计算机通过串口传送数据到服务器,并通过网络通信客户端获取服务器数据。各个模块的工作环境的协调,实现实时监控。本系统的设计主要完成以下四个部分:(1)奴隶计算机部分温湿度传感器模块、光敏传感器模块、烟雾传感器模块,和火焰传感器模块是用来收集周围环境的数据参数。(2)主计算机部分NRF24L01无线传输模块、数码管模块,采用液晶屏模块,连接到奴隶计算机通过无线技术获得的数据通过无线技术,以显示这些获得数码管和LCD屏幕上的数据。(3)服务器电脑作为服务器与主计算机通过串口实现沟通。建立了QT界面显示与客户环境数据,实现网络通信。(4)客户端Android手机用作客户机终端建立客户机终端显示接口,实现与服务器的网络通信。
该系统将被应用在无线监控环境。采用的通信方法整合奴隶电脑,主计算机,服务器和客户端,用户可以通过客户端和PC在线监控,确保安全、优质的生产环境,如温室和工厂。这个系统的基础是建立在无线串行,网络通信,通过不同的通信方法和各个模块之间的相互联系,实现人机交互。基于这些功能,该系统将功能模块添加到奴隶的电脑,如温湿度传感器、光敏传感器、烟雾传感器、和火焰传感器以及NRF24L01模块实现环境的实时监控。
这个系统的研究过程分为以下步骤:(1)硬件环境的整体设计(2)构建一个整体的软件平台(3)收集环境数据的传感器(4)无线传输和显示的数据(5)通过串行通信数据传输实现(6)客户端和服务器之间的数据传输实现了网络编程(7)QT的图形界面的设计和实现(8)测试系统操作稳定性
3.1。系统的总体设计方案
分析研究课题后,奴隶计算机的综合通信方法,掌握计算机、服务器和客户端采用。STM32用作主控制器,采用QT设计人机交互界面,并实现服务器和客户端之间的通信依靠TCP网络通信,主计算机,服务器和客户端环境的实时监控的功能。设计系统主要实现以下功能:数据采集:温湿度传感器模块、光敏传感器模块,烟雾传感器模块,和火焰传感器模块用于从周围环境中收集数据。无线传输:使用NRF24L01模块来发送和接收数据,从而实现奴隶计算机和掌握计算机之间的通信。防火功能:监控环境中的火灾条件通过火焰和烟雾传感器。报警装置:采用声光报警装置。环境数据,通过设置阈值报警信号将被罚下后相关数据超过阈值。人机交互界面:服务器获取并显示环境数据从主计算机通过串口,而客户端获取并显示来自服务器的数据通过网络交流。
3.2。系统的特性
这个系统使用一个无线传输平台+各种传感器模块和集成了串行通信和TCP网络通信形成一个智能无线环境监测系统(38- - - - - -40]。它是用来替代原始手工现场监测工作,确保用户可以获得实时环境数据通过网络传输。因此,工作人员可以实时监控和管理环境通过客户端应用程序,这样一个人可以监视多个环境条件同时,从而大大提高工作效率。
这个系统的结构分为四个部分,即奴隶计算机部分,主计算机,服务器部分,客户端部分。(1)奴隶计算机部分:采用光敏传感器、烟雾传感器、火焰传感器,温湿度传感器实现环境数据的采集,实现数据的无线传输通过NRF24L01无线模块。(2)主计算机部分:NRF24L01无线模块用来实现数据通信和奴隶的电脑,通过数码管和液晶屏显示数据,并通过串口将数据发送给服务器。(3)服务器部分:采用计算机作为服务器与主计算机通过串口实现沟通,建立和QT界面显示环境数据,实现网络与客户沟通。(4)客户端部分:采用Android手机客户端终端与服务器实现网络通信和实时获取并显示环境数据。
这个系统使用一个无线传输平台+各种传感器模块和集成了串行通信和TCP网络通信形成一个智能无线环境监测系统,它具有以下优势相比传统手工现场监测模式:(1)这个系统确保连续工作很长一段时间甚至可以在不同的工作环境和特殊的极端条件下(包括封闭的环境)。(2)环境信息可以实时控制,全面监控可以根据不同的参数需求计划,以确保没有遗漏或重复监测。(3)该系统可以实现无线传输,客户端和服务器可以通过网络互相交流。的主电脑可以无线接收的数据从计算机。因此,工作人员可以远程监控一个或多个类似的环境方便和高效的管理。
这个系统使用多个NRF24L01无线模块,安装在所有主和从电脑上,从而实现主、从计算机之间的无线通信。该系统采用基于TCP协议的网络通信,它的特点是能够实现远程数据采集的局域网。最后,该系统采用STM32F103ZET6为核心处理芯片。芯片的特点是高稳定、高性能、大内存,从而适用于处理复杂的数据。
基于系统的应用程序需求和特点,应首先做一个系统的总体规划,包括系统架构的设计,无线传输,串行通信,网络通信的选择和设计。系统需要STM32-based无线环境监测系统为研究对象,建立并选择合适的对象模型,最后设计的物理模型STM32-based无线环境监测系统通过软件和硬件的设计。
3.3。关键技术问题和主要技术指标
3.3.1。无线传输部分
使用NRF24L01传感器和无线传输部分发送所收集的数据从计算机主计算机通过SPI协议进行处理,从而实现主计算机之间的数据通信和奴隶电脑然后实现环境数据的实时显示、智能报警功能通过分析接收到的数据。SPI协议在主从工作模式。该系统使用一个主一个奴隶模式。主设备决定了从设备通过允许信号,使主从设备可以连接和数据传输可以同步时钟信号。
3.3.2。传感器技术
(1)光敏传感器模块:本系统使用内置的演示板STM32的光电传感器来确定光值结合其内部模拟数字转换。(2)温湿度传感器模块:本系统使用一个DHT11数字式温湿度传感器采集数据的温度和湿度来获取所需的数据通过时分多路复用(TDM)根据传输协议执行。(3)火焰传感器模块:本系统使用火焰传感器模块YL-38探测火灾源。这个模块可以检测是否有一个开放的火焰在体系内,然后输出高电平和低电平。奴隶计算机可以确定仓库火灾的风险通过检测高电气和低电水平。(4)烟雾传感器模块:本系统采用烟雾传感器模块MQ-2监测烟尘浓度。它可以检测环境中的烟雾浓度超过标准。模块配备一个可调电位器,可以调整输出TTL的敏感性,以便更精确地确定是否有隐患的环境结合环境中的其他模块值。(5)无线传输模块:本系统采用NRF24L01无线传输模块和基于SPI协议实现无线通信。用户可以轻松地实现无线通信功能。
3.3.3。网络通信技术
网络通信技术是这个系统的一个非常重要的组成部分。这个系统使用QT的网络集成开发平台建立服务器和客户端通过应用TCP协议,以确保多个客户端可以获得当前的环境数据。TCP协议不仅能提供面向连接的可靠服务也全双工可靠的渠道。TCP协议需要这样的连接过程,客户机和服务器之间的连接建立第一个在传输数据之前,和客户端将积极发布数据传输完成后。通过网络提供的编程接口插座,一个特殊的文件描述符(套接字描述符)是通过使用套接字网络编程的后续步骤基于TCP协议将通过套接字描述符实现。
4所示。系统硬件电路的设计和实现
这个系统分为服务器部分,客户端部分,奴隶计算机部分和主计算机的部分。服务器和客户端终端通过基于tcp的网络通信实现数据传输;主计算机是由LCD显示和声光报警装置;奴隶计算机部分由温湿度传感器、烟雾传感器、光敏传感器、火焰传感器,NRF24L01无线模块。主计算机与奴隶计算机通过NRF24L01无线通信模块,和主计算机通过串行端口与服务器通信。系统集采集、显示、传输和有高度的智慧,从而降低操作者的劳动强度,提高环境监测的准确性。
4.1。奴隶计算机部分
以下4.4.1。奴隶计算机MCU-STM32F103
(1)介绍。与Cortex-M3 STM32F1系列增强芯片内核使用这个系统的控制器单片机奴隶的电脑。Cortex-M3是一个32位RISC处理器与一个内置的高速内存的工作频率72 MHz。它有一个丰富的I / O端口和外围设备。它能够操作温度范围的−40°C + 105°C,它在32位微控制器市场前所未有的优势。
(2)函数。芯片主要负责各个传感器模块的正常协调奴隶的电脑。传感器收集的数据的简单处理,分析,然后发送到主计算机通过NRF24L01无线传输模块和协助主计算机控制整个系统操作。这个系统使用最低的下部STM32F103ZET6的野猪。
4.1.2。烟雾传感器模块
(1)介绍。该系统使用一个MQ-2烟雾传感器检测环境中的烟尘浓度。这种传感器具有高灵敏度气体等等,使用寿命长和可靠的稳定性。原则是,当环境中可燃气体存在时,传感器的电导率随的增加空气中可燃气体的浓度,从而确定可燃气体的浓度在当前环境。使用一个简单的电路,输出高电平和低电平,并设置一个阈值超过标准。当输出高水平,这意味着浓度超过标准。
(2)函数。MQ-2在这个系统负责检测是否环境中的烟雾浓度超过标准。
(3)工作原理。大多数传感器的信号输出模块相对较弱,对烟雾传感器,没有例外。因此,需要处理的输出信号通过一组电路满足处理器的输入信号检测的要求。这个系统使用一个同相比例放大电路来降低硬件和扩张实现最高的性能价格比。
4.1.3。火焰传感器模块
(1)介绍。这个系统使用一个火焰传感器模块YL-38检测环境中的火灾源。当火灾源存在于环境中,传感器,传感器模块将发出一个高层信号到主控制芯片。它可以监视的红外线波长700 nm - 1000 nm)和检测60度角,和价值成反比外部红外线的强度。
(2)函数。在此系统中,火焰传感器负责检测火焰在仓库。
(3)工作原理。火焰传感器模块配有远红外火焰探测器,可以将外部的红外线强度的变化电流的变化。高水平和低水平的数字接口可以反映环境火焰光谱是否超过设定阈值,以便处理器可以判断火灾条件在当前环境下只有通过检查高水平和低水平的数字接口。如果超过设定的阈值,它将输出高水平和开关指示器将点燃的。其原理图如图2。
4.1.4。温湿度传感器模块
(1)介绍。该系统配备了温湿度传感器模块DHT11奴隶电脑上收集环境中的温度和湿度信息。这是一个与校准温湿度复合传感器数字信号输出。它的目的是用一个总线数据格式,可完成数据通信每4毫秒。这个字符串的数据分成小数部分和一个整数部分。特定的数据格式如下:第一个八位数表示的整数部分湿度,和接下来的八位数代表湿度的小数部分。进一步8个数字代表温度的整数部分,以下8个数字代表的小数部分的温度,和最后八位数字代表校验和数据。这个系统只有精确的温度和湿度的整数部分。物理对象,如图3。
(2)函数。温湿度传感器模块负责采集环境温度和湿度在这个系统。
(3)工作原理。该模块包括一个电阻湿度传感元件和一个NTC温度测量元件,连接到一个高性能的8位单片机。传感层的耐湿度传感器将由化学气干扰,在传感层和化学物质的扩散会导致测量值漂移,降低敏感度。硬件连接图如图4。
4.1.5。光敏传感器模块
(1)简要介绍。本系统使用的光敏传感器演示板STM32获取光照明结合其内部ADC值。
(2)函数。光敏传感器模块在本系统负责收集环境光照明的功能。
(3)工作原理。这个模块是安装在主计算机,读取光敏传感器的电压值(LS1)六频道(ADC3 PF8),然后将它转换成一个光强度值0 - 100。模块上的明亮光线,价值可能越大;较暗的光模块,值越小。因此,光强度的变化可以通过阻断LS1和照明与光LS1实验。硬件连接图如图5。
(1)简要介绍。这个系统使用多个无线模块,分别安装在主计算机和辅助计算机实现主计算机之间的无线通信和计算机的奴隶。2.4 GHz无线模块NRF24L01作品——2.5 GHz ISM频段,采用移频键控调制,并集成增强的短脉冲协议。NRF24L01无线模块的硬件原理图如图6。这个模块不仅可以实现点对点通信,也可实现single-point-to-multipoint(1到6)通信。其传播速度可以达到2 Mbps。这个模块是简单,容易学习。用户可以轻松实现无线通信的功能只有保留5 GPIOs 1单片机系统中断输入插口。大多数演示板固定分配给这个模块,其中一些设计与相关驱动程序,所以它拥有非常好的性价比。
(2)函数。无线模块在本系统实现主计算机和奴隶之间的无线通信计算机和负责两者之间的数据传输。
(3)工作原理。主电脑和从电脑,分别配备无线模块和配置不同的模式。在此系统中,奴隶的电脑配置了数据传输模式,在主计算机配置了数据接收模式。这个模块使用SPI协议进行通信,这就需要连接和数据读/写按照标准SPI协议。
4.2。主计算机部分
4.2.1。准备主计算机MCU-STM32F103
单片机主要是负责接收传感器模块采集的数据通过奴隶电脑,配置声光报警装置,实现报警功能,结合数据和发送数据通过串口服务器。本节使用STM32F103ZET6战舰。
4.2.2。NRF24L01无线模块
主计算机系统使用相同的模型的一部分的NRF34L01奴隶计算机无线模块,无线模块是用来发送数据,和主计算机用于接收数据。
4.2.3。液晶显示模块
(1)介绍。这个系统使用内置的TFTLCD液晶模块的演示板。TFT薄膜晶体管。每个像素的TFT液晶显示器配备。液晶模块设计与2.8英寸的大小,分辨率320∗240,16位真彩色显示(RGB565: 5红色,6绿色,5个蓝色)。通过RGB描述不同的颜色可以显示,其接口设计与一个16位80 -并行端口。这个液晶屏可以极大地提高图像质量。
(2)函数。该模块显示数据的奴隶计算机系统。硬件连接图如图7。
4.3。服务器和客户端部分
这个系统使用一台笔记本电脑作为服务器,这个系统使用Android手机客户端。
5。系统软件的设计和实现
软件设计开发一个适当的过程是基于需求的实施计划。macroidea的整个系统,它在一定程度上反映了整个软件。的软件开发基于无线传输的环境监测系统分为四个部分:数据采集终端的软件设计和实现的奴隶电脑,软件设计和实现数据处理的主计算机,软件服务器的设计和实现,以及软件设计和实现的客户端。每个部分需要设计相应的驱动程序。系统的软件结构如图8。
这个系统使用多种类型的传感器模块采集环境信息(温湿度、烟雾浓度等),因此有必要设置一个为每个传感器相应的分析程序。下面是介绍每个传感器的配置。
5.1。温湿度传感器模块
这个系统是通过销连接到DHT11温湿度传感器模块11号GPIOG和实现控制。DHT11数字传感器收集数据的温度和湿度。设计一个总线数据格式,每4毫秒DHT11可以完成数据通信。特定的数据格式如下:第一个八位数代表湿度的整数部分,接下来的八位数代表湿度的小数部分,进一步的下一个八位数代表温度的整数部分,以下8个数字表示小数部分的温度,和最后八位数字代表校验和数据。校验和数据的总和的前四个字节。使用校验和数据可以有效地保证数据传输的准确性。
温湿度数据采集的具体过程如下:处理器发送起始信号后,温湿度模块开始工作并发送一个响应信号发送数据包时代表温度和湿度。在收到的这部分数据,处理器可以选择使用数据的特定部分根据用户的需求和对相关数据进行转换,如温湿度数据与小数和温湿度没有小数。
火焰传感器模块是由12针的GPIOA号和IO端口设置为输入模式。烟雾传感器模块是由11号针,15号销GPIOA和模拟值转换成数字值通过AD芯片。因此,IO端口也设置为输入模式。光敏传感器模块是由8号GPIOF销,将模拟量转换成数字量,通过AD芯片,所以IO端口设置为输入模式在同一时间。
5.2。设计无线传输驱动程序
本系统采用无线传输技术来实现主计算机之间的数据通信功能和奴隶的电脑。应首先收集每个模块的数据,然后对数据进行量化处理,最后传输数据。
5.2.1。数据收集和集成
这个系统需要收集和集成以下数据,包括温度、湿度、火焰状态,烟尘浓度和光照强度。它是意识到通过调用各个传感器的数据采集功能模块,包括Get_SensorData (), DHT11_Read_Data(和温度和湿度),和Lsens_Get_Val ()。然后,数据被发送到服务器通过printf ()。
5.2.2。SPI协议的配置
这个系统使用NRF34L01无线传输模块发送数据和采用SPI通信协议实现通信。该系统将分别配置STM32与主从方式实现SPI接口的初始化和读写操作电脑上和奴隶。初始化和SPI接口的读和写操作可以通过编程来实现,这样可以通过NRF24L01实现数据通信。
5.2.3。NRF24L01无线模块的配置
此系统利用无线模块在主计算机和计算机的奴隶。数据从奴隶计算机发送到主计算机。因此,奴隶计算机配置为发送模式和主计算机配置为接收模式。
5.3。串行通信驱动程序的设计
这个系统是用来连接主计算机和服务器通过一个串行端口。因此,使用串口通信实现主计算机和服务器之间的通信。可以使用串口实现远距离通信。异步通信,其最重要的参数包括波特率,数据位,停止位,校验位。因此,实现主计算机和服务器之间的串行通信,用户需要配置相关参数匹配的通信端口。这些参数描述如下:波特率:每秒传输的比特数(9600、115200等)校验位:串行通信中纠错方法,可以显示数据传输的准确性停止位:最后一个数据包,这表明包的结束数据位:一个参数测量的实际数据位的沟通
该系统的主计算机实现的串行传输数据通过调用printf()函数。下面的代码初始化串口和配置printf()函数。
5.4。网络通信驱动程序设计
这个系统使用TCP协议实现网络通信这之间的通信可以实现手机客户端和服务器计算机。TCP / IP协议实现了协议栈拥有手机和电脑,可以快速而方便地使用。此外,TCP是一种可以传输协议,数据传输更加稳定和可靠。使用TCP协议,用户首先需要建立一个插座,支持TCP / IP协议和表示特定的应用程序。
该系统配置TCP编程分别为服务器和客户端。编程思想是如图9。
套接字是广泛应用于网络通信。套接字可以识别一个特定的应用程序,因为它包含必要的信息对网络通信:IP地址(本地;远程)、协议的端口号(本地;远程),通信协议(TCP、UDP等)。连接过程可以分为以下三个步骤:(1)服务器的监控:实时监控网络状态,等待客户机的连接请求。(2)客户的要求:客户机的套接字连接请求。(3)连接确认:服务器套接字后,监控客户端套接字的连接请求,它响应客户端套接字的请求,建立一个新的过程。
建立连接的配置过程通过使用套接字在附录a)。
5.5。设计用于显示界面程序
这个系统的界面设计是根据软件设计需求分成三个部分:主计算机界面设计,服务器界面设计,和客户端界面设计。主计算机界面设计包括数码管显示和液晶显示;服务器界面设计包括环境数据显示界面和服务器接口;客户端部分包括一个数据读取接口。
显示界面的设计项目是在附录B中,在附录C服务器界面设计,客户端界面设计在附录D。
5.6。数据处理算法
根据软件设计需求,该系统将采用一个用户定义的数据传输格式,并通过数据分析实现报警功能。
报警装置的实现在附录E,和数据传输协议附录F。
6。系统功能调试
这个系统主要是法官和调试从每个传感器的数据显示模块。启动系统并获得多个数据实时的手机应用程序,和判断所收集的数据是否满足相应的条件根据不同的环境条件,如光照强度和温度。
6.1。温湿度模块
奴隶电脑配备了温湿度传感器模块收集环境中的温度和湿度信息。DHT11有着明显的优势,如抗干扰能力强。它的目的是用一个总线数据格式,可完成数据通信每4毫秒。这一系列的数据分为小数和整数部分。特定的数据格式如下:第一个八位数代表湿度的整数部分,接下来的八位数代表湿度的小数部分,进一步的下一个八位数代表温度的整数部分,以下8个数字表示小数部分的温度,和最后八位数字代表校验和数据。这个系统只精确到整数部分的温度和湿度。启动系统,然后打开串口调试手机应用程序来接收温度和湿度由温湿度传感器收集的数据。
6.2。火焰传感器模块
奴隶的电脑配备一个火焰传感器模块收集环境中的火焰状态信息。它可以监视红外光的波长700 nm - 1000 nm),检测60度角,和值是外部红外线的强度成反比。启动系统,然后打开串口,调试手机应用程序来接收火焰状态数据火焰传感器收集的信息,和精益的打火机火焰传感器模块。收集到的数据通过串口实时显示。
6.3。烟雾传感器模块
奴隶电脑配备烟雾传感器模块,它可以收集环境中的烟尘浓度信息。MQ-2气体传感器可以检测易燃气体环境和判断环境安全状态结合火焰传感器模块。启动系统,然后打开串口调试手机应用程序来接收烟尘浓度数据烟雾传感器收集的信息。在调试过程中,应使用公布的未燃烧气体打火机作为检测气体,让气体慢慢地接近传感器。
6.4。光敏传感器模块
奴隶电脑配备一个光敏传感器收集的环境光强度信息。这个系统读取光敏传感器的电压值通过六频道ADC3和将其转换成光强度值0∼100。模块上的明亮光线,价值可能越大;光的颜色越深,价值越小。启动系统,然后打开串口调试手机应用程序来接收烟尘浓度数据烟雾传感器收集的信息。应检查调整光源的光强度变化的手机。
7所示。结论
科学进步和技术推广,智能设备享受越来越多的广泛应用,以及环境问题的准确性等问题已经引起。以前的环境监测是通过手动监控,从现在的观点有许多缺点,包括低效率和不科学的管理系统。这不是有利于资源的充分利用和科学管理。此外,它不是很难找到这些年来,许多重大事故的是由人为因素引起的。智能监控系统的发展可以解决相关的问题。该系统可以实现以下功能:(1)实现环境信息的实时采集和数据可以通过处理器进行处理和分析。(2)实现数据的无线传输,主计算机和辅助计算机之间的通信可以实现。(3)实现数据的串行通信,这样主计算机和服务器之间的通信可以实现。(4)实现网络通信的数据和环境状态可以通过移动应用程序监控从很长一段距离。(5)智能报警功能可以实现。
附录
答:建立连接的配置过程通过使用套接字
/ /创建一个套接字类来声明所需的功能类TcpClientSocket:公共QTcpSocket{Q_OBJECT公众:TcpClientSocket (QObject∗父母= 0);信号:空白updateClients (QString int);/ /更新客户端空白断开连接(int);/ /分离保护槽:空白dataReceived ();空白slotDisconnected ();};TcpClientSocket:: TcpClientSocket (QObject∗父){连接(这信号(readyRead()),这样,槽(dataReceived ()));/ /这个信号输入数据时释放出来,并且未被阻挡,可以阅读。这个信号传输一次每次有新的输入数据。值得注意的是,这些数据只能读一次,所以这个数据必须读一次;否则,这个数据将被丢弃。连接(信号(disconnected()),这个槽(slotDisconnected ()));}b设计主计算机接口
该系统的主计算机接口用于显示在大屏幕监控环境。环境中的数据通过无线模块和显示在界面上,光强度的顺序后,温度、湿度、烟雾浓度,和火焰状态。
这个系统使用战舰板与一个内置的2.8英寸的液晶显示屏。分别显示的字符串和数字,这主要是由两个函数调用实现,也就是说,LCD_ShowString()和LCD_ShowxNum ()。下面是调用液晶显示功能。LCD_Init ();/ /初始化液晶POINT_COLOR =红;/ /设置字体为红色LCD_ShowString(30, 50200, 16日16日“军舰STM32”);16 LCD_ShowString(70200, 16日,“无线环境”);LCD_ShowString(30, 90200, 16日16日“ATOM@ALIENTEK”);LCD_ShowString(30, 90200, 16日16日“ATOM@ALIENTEK”);LCD_ShowString(30110200年,16日,16日,“2018/6/6”);POINT_COLOR =蓝色;/ /设置字体为蓝色LCD_ShowString(30130200年,16日,16日,“:”);/ /显示光强度LCD_ShowxNum (130130 adcx 3 16 0);LCD_ShowString(30150200年,16日,16日,“温度:”);/ /显示温度LCD_ShowxNum(130150年,tmp_value[2], 3, 16日0);LCD_ShowString(30170200年,16日,16日,“湿度:”);/ /显示湿度LCD_ShowxNum(130170年,tmp_value[3], 3, 16日0);LCD_ShowString(30190200年,16日,16日,“烟:”);/ /显示烟密度LCD_ShowxNum(130190年,tmp_value[4], 3, 16日0);LCD_ShowString(30210200年,16日,16日,“:”);/ /显示火焰状态LCD_ShowxNum(130210年,tmp_value[5], 3, 16日0);
这个系统使用一个外部的四位常见阳极数码管显示温度和湿度,分别。的主要配置数码管实现的两个函数singleDisplay()和smDisplay ()。他们是用于循环个位数的数码管和四位数码管的数字显示。这里,位置选择信号D1、D2、D3、D4的数码管依次连接到PD0, PD1, PD2,和PD3单片机,而段顺序选择信号a -连接到单片机的PA0-PA7。空白singleDisplay (char) / /单数码管显示{开关(数量){例0:Number_0 ();打破;案例1:Number_1 ();打破;案例2:Number_2 ();打破;案例3:Number_3 ();打破;案例4:Number_4 ();打破;案例5:Number_5 ();打破;案例6:Number_6 ();打破;案例7:Number_7 ();打破;例8:Number_8 ();打破;案例9:Number_9 ();打破;}}空白smDisplay (char∗数)/ /循环四位数码管显示{CH_1 = 0;singleDisplay ([0]);CH_2 = 1;CH_3 = 1;报警仪标定= 1;delay_us (2000);CH_2 = 0;singleDisplay ([1]);CH_1 = 1;CH_3 = 1;报警仪标定= 1;delay_us (2000);CH_3 = 0;singleDisplay(数字[2]);CH_2 = 1;CH_1 = 1;报警仪标定= 1;delay_us (2000);报警仪标定= 0;singleDisplay(数字[3]);CH_2 = 1;CH_3 = 1;CH_1 = 1;delay_us (20);}
c .服务器界面设计
这个系统的服务器界面设计通常分为两个部分,一个用于显示数据,另一个用于创建服务器。具体代码如下:int主要(int命令行参数个数,char∗argv []){QApplication(命令行参数个数,argv);主窗口w1;/ /这个窗口用来显示数据w1。setWindowTitle(“无线环境监测系统”);/ /设置标题的接口w1.show ();TcpServer w2;w2。显示();/ /这个窗口是用来创建服务器返回a.exec ();}
主函数定义了两个接口和标题设置界面。下面的代码作为数据显示界面的配置。主窗口::主窗口(QWidget∗父母):QMainWindow(父)、ui(新ui::主窗口){ui⟶setupUi(这个);这⟶setWindowIcon (QIcon(“/ /图像/ xiaohui.jpg”));/ /生成一个窗口图标QTextCodec∗BianMa = QTextCode-c: codecForName (“utf - 8”);/ /这个格式必须使用,否则会出现混乱的字符的问题myCom =零;ui⟶portNameComboBox⟶addItem (“COM0”);/ /添加串口ui⟶状态栏⟶showMessage (Bian-Ma⟶toUnicode(“欢迎”));}无效的主窗口:on_actionExit_triggered() / /关闭软件{这⟶close ();}无效的主窗口:on_actionAbout_triggered() / /软件信息{QTextCodec∗BianMa = QTextCodec: codecForName (“utf - 8”);ui⟶状态栏⟶showMessage (BianMa⟶toUnicode(“这软件是用于分析八位的串行传输数据在115200比特率”);}
下面的代码作为服务器的配置和UI布局界面:TcpServer:: TcpServer (QWidget∗家长,Qt:: WindowFlags f): QDialog(父母,f){setWindowTitle (tr (“TCP服务器”));/ /设置标题ContentListWidget = new QListWidget;PortLabel = new QLabel (tr(端口:"));PortLineEdit = new QLineEdit;CreateBtn = new QPushButton (tr(“创建服务器”))mainLayout = new QGridLayout(这个);mainLayout⟶addWidget (ContentListWidget, 0, 0, 1, 2);mainLayout⟶addWidget (PortLabel 1 0);mainLayout⟶addWidget (PortLineEdit 1 1);mainLayout⟶addWidget (CreateBtn 2 0, 1, 2);端口= 8010;PortLineEdit⟶setText (QString:数量(港口));连接(CreateBtn信号(点击()),槽(slotCreateServer ()));}
d .客户端界面设计
客户端界面设计的系统是基于一个Android手机。在局域网中,套接字的基础上建立了TCP协议实现与服务器互连。界面布局和相关功能如下所示:int主要(int命令行参数个数,char∗argv[]) / /创建一个接口和显示{QApplication(命令行参数个数,argv);QSize大小= a.desktop ()⟶screenGeometry () .size ();/ /手机全屏显示TcpClient w;w.resize(大小);w.show ();返回a.exec ();}
以下函数用于客户端界面布局。它是通过调用实现QT按钮、标签、文本框。TcpClient:: TcpClient (QWidget∗家长,Qt:: WindowFlags f): QDialog(父母,f){setWindowTitle (tr (“TCP客户端”));Light_1 = new QLabel (tr(照明:"));Light_2 = new QListWidget;Temp_1 = new QLabel (tr(温度:"));Temp_2 = new QListWidget;Humi_1 = new QLabel (tr(湿度:"));Humi_2 = new QListWidget;Smoke_1 = new QLabel (tr(“火焰:”);Smoke_2 = new QListWidget;Fire_1 = new QLabel (tr(“烟:“));Fire_2 = new QListWidget;sendLineEdit = new QLineEdit;sendBtn = new QPushButton (tr(“发送”));userNameLabel = new QLabel (tr("用户名:"));userNameLineEdit = new QLineEdit;serverIPLabel = new QLabel (tr(“服务器地址:”);serverIPLineEdit = new QLineEdit;portLabel = new QLabel (tr(端口:"));portLineEdit = new QLineEdit;enterBtn = new QPushButton (tr(“进入监控室”));mainLayout = new QGridLayout(这个);mainLayout⟶addWidget (Light_1, 0, 0);mainLayout⟶addWidget (Light_2 0 1);mainLayout⟶addWidget (Temp_1 1 0);mainLayout⟶addWidget (Temp_2 1 1);mainLayout⟶addWidget (Humi_1 2 0);mainLayout⟶addWidget (Humi_2 2 1);mainLayout⟶addWidget (Smoke_1 3 0);mainLayout⟶addWidget (Smoke_2 3 1);mainLayout⟶addWidget (Fire_1 4 0);mainLayout⟶addWidget (Fire_2 4 1);mainLayout⟶addWidget (sendLineEdit 5 0);mainLayout⟶addWidget (sendBtn 5 1);mainLayout⟶addWidget (userNameLabel 6 0);mainLayout⟶addWidget (userNameLineEdit 6 1);mainLayout⟶addWidget (serverIPLabel 7 0);mainLayout⟶addWidget (serverIPLineEdit 7 (1);mainLayout⟶addWidget (portLabel 8 0);mainLayout⟶addWidget (portLineEdit 8 1);mainLayout⟶addWidget (enterBtn 9 0, 1, 2);/ /获取数据状态= false;端口= 8010;portLineEdit⟶setText (QString:数量(港口));serverIP = new QHostAddress ();连接(enterBtn信号(点击()),槽(slotEnter ()));连接(sendBtn信号(点击()),槽(slotSend ()));sendBtn⟶setEnabled(假);}
e .报警装置
该系统采用声光报警装置,报警阈值设置在主计算机。自动报警功能将会意识到当相关值达到阈值。战舰委员会这个系统使用内置蜂鸣器实现报警功能。它的头文件中的宏定义和初始化函数如下所示:#定义报警PBout(8) / /蜂鸣器接口空白ALARM_Init(无效);/ /初始化蜂鸣器空白ALARM_Init(空白){GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPIOB,使);/ /启用GPIOB端口时钟GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;/ /端口配置GPIO_InitStructure。GPIO_Mode = GPIO_Mode_Out_PP;/ /推挽输出GPIO_InitStructure。GPIO_Speed = GPIO_Speed_50 MHz;GPIO_Init (GPIOB &GPIO_InitStructure);/ /启动GPIOB根据参数GPIO_ResetBits (GPIOB GPIO_Pin_8);/ /输出0,蜂鸣器}
自动报警功能的实现,代码如下:如果(adcx > = 50 | | tmp_value [2] > = 30 | | tmp_value [3] > = 30 | | tmp_value [4] > 200 | | tmp_value[5] = = 1) / /设置阈值{报警= 1;/ /设置蜂鸣器的地位其他}{报警= 0;}
f .数据传输协议
这个系统实时收集环境数据,所以这些数据的值是不可控的。为了确保稳定和安全传输的数据,采取自定义数据格式。指定的数据格式是在程序中,在温度、湿度、光强度每占领两个数字,烟尘浓度三个数字,和火焰状态占有一个数字。主计算机实现数据转换部分通过调用协议()函数。代码如下:无效协议(unsigned charl,无符号字符T,无符号字符H,无符号字符年代,无符号字符F){无符号字符箴[11]。int我;箴[0]=l/ 10;/ /每个数量的值箴[1]=l% 10;箴[2]=T/ 10;箴[3]=T% 10;箴[4]=H/ 10;箴[5]=H% 10;箴[6]=年代/ 100;箴[7]= (S-pro [6] 100∗) / 10;箴[8]= (S-pro [6]∗100) % 10;箴[9]=F% 10;(我= 0;我< 10;我+ +)printf (" %d”,职业(我]);}
服务器将单独和显示的数据通过串口读取数据显示格式。代码如下:QByteArray temp = myCom⟶readAll ();/ /从串口读取数据传输QTextCodec∗BianMa = QTextCodec: codecForName (“utf - 8”);/ /这是用于确保准确的显示汉字,防止混乱的代码QString数据= (QString)温度;/ /强制数据QString光=数据。中期(0,2);/ /提取光强度值QString Temp =数据。中期(2,2);/ /提取温度的值QString Humi =数据。中期(4,2);/ /提取湿度值QString烟=数据。中期(6,3);/ /提取烟尘浓度的值QString火=数据。中期(9,1);/ /提取火焰状态值DATA =光+火+临时+ Humi +烟;ui⟶lcd_Light⟶显示器(Light.toFloat(好));ui⟶lcd_Light⟶显示(光。toFloat(好));ui⟶lcd_Temp⟶显示器(Temp.toFloat(好));ui⟶lcd_Humi⟶显示器(Humi.toFloat(好));ui⟶lcd_Smoke⟶显示器(Smoke.toFloat(好));ui⟶lcd_Fire⟶显示器(Fire.toFloat(好);ui⟶状态栏⟶showMessage (BianMa⟶toUnicode(“成功读取% 1字节数据”)。arg (temp.size ()));
数据可用性
数据、模型和代码用于支持本研究的发现可以从相应的作者。
的利益冲突
作者宣称没有利益冲突。
确认
这项工作是由湖南省教育的研究项目(18 a441和18 c0958),湖南省教育计划重点项目(XJK18DJA1),湖南省级自然科学基金(2019 jj60041和2020 jj4587)下的湖南省社会科学成果评定委员会项目授予XSP20YBZ031,湖南和省级自然科学基金(“移动机器人跟踪研究基于并行非线性滤波”)。