基于STM32的智控节能自习室系统设计_第1页
基于STM32的智控节能自习室系统设计_第2页
基于STM32的智控节能自习室系统设计_第3页
基于STM32的智控节能自习室系统设计_第4页
基于STM32的智控节能自习室系统设计_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

基于STM32的智控节能自习室系统设计摘要基于STM32F103C8T6的智控节能自习室系统设计可以实现对自习室的监测,可以通过手机APP端进行实时的监测,监测到的数据有:温湿度、噪音和烟雾等。本设计使用DHT11温湿度传感器、MQ-2烟雾传感器、薄膜压力传感器、声音传感器以及ESP8266WIFI无线通信等模块,实时采集自习室的温度值、湿度值、烟雾浓度值和压力值,使用ESP8266通信模块将采集的数据发送至上位机。上位机对采集到的数据进行远程监控,并在上位机可以同时进行温度和烟雾浓度的阈值设置;当温度到达阈值的时候,自动开启工作。这个系统主要控制自习室照明,也能够在一定程度上改善自习室照明灯浪费电的情况,能够在一定程度上起到节约资源的作用。该套系统主要采用传感器技术,可以对温度、湿度以及烟雾进行实时监测,并通过上位机调节温度和湿度等参数,控制制冷制热等工作,提供一个良好的自习室环境。使用ESP8266通信技术实现无线通信。解决了电力资源浪费的问题。关键词:STM32单片机技术;温度传感器;智控自习室;WIFI模块

目录第1章绪论 第1章绪论本章节一共分为三个部分。第一部分对该系统的研究目的及意义进行分析;第二部分对国内外研究现状进行叙述;第三部分是本设计的研究内容。1.1研究目的及意义近些年,考研和考公务员的人数一直在递增,自习室就有了很大的发展空间,有些同学在家没有学习的氛围或学不好,那么自习室就成了不二之选。还有就是,随着社会经济的发展,用电量也越来越大,而很多不必要的电量被浪费了,导致用电负荷的加剧。随着智控节能自习室的研究,目的是提高自习室的舒适性和使用效率,同时降低电力的消耗和运营成本。从当前来看,自习室资源浪费现象是比较严重的,自习的时候,自习室的学生数量比较少,但是整个教室的灯光都打开了,风扇也是不停地旋转,这严重违背了资源节约的政策。要是能够根据教室的不同人数对教室灯光进行调节,保证人员的合理分配,结合光照的强度和实际温度对照明灯和风扇进行调整,会在一定程度上减少资源的浪费。所以对自习室系统进行完善是非常重要的。研究意义是提高使用效率和用户体验、推广节能理念。1.2国内外研究现状在低碳经济不断发展的背景下,节约电力资源变得越来越重要。我国工业化程度不断提升,因此人工照明所消耗的电力也在不断增加,已占据总发电量的10%。这种设计非常方便,也非常节约电力,对于节能减排来说非常合适。2021年,冯浩瀚在《阶梯教室智能照明系统设计》曾经提出,通过对光检测技术,通信技术进行不断的控制,对于教室当中的人员分布状况,室内光照强度,室内温度等等多种方面进行调整,使得教室电源实现自动化[1]。2020年,杨永鹏在《基于深度学习的高校教室智能照明系统的研究》文中,个系统主要利用了16位的弹片处理系统,和其他的处理系统来说具有较大的优势,这种系统的功耗低,端口也非常丰富,实用性也比较强。能够进行灵活的控制,也方便操作[2]。2019年,黄志文等人发表的《基于MSP430的超低功耗教室智能照明系统》文章当中,主要介绍了脉宽调制技术能够对教室的灯光进行调节,利用红外线技术,对于教室之内的人流量进行监控,运用数字信号的反方式对于出入教室的时间进行把控,这是非常具有创新精神的[7]。2019年,Haque,M.S.等人在《DesignandImplementationofaSmartEnergy-SavingSystemBasedonSTM32Microcontroller》文章中介绍了一种基于STM32单片机的智能建筑节能系统的设计与实现。所提出的系统配备了一系列传感器,包括温度、湿度和光传感器,以及占用传感器。该系统使用这些传感器实时监测建筑的环境和占用情况,并根据这些数据调整不同设备的控制,包括供暖和制冷系统、照明和通风系统,以优化能源消耗并保持用户舒适度[11]。2020年,Jeon,G.、Kim,J.和Lee,M在《Smartself-studyroomusingIoTtechnologybasedonenergy-savingcontrol》中提出了一种利用物联网技术实现节能控制、提高用户舒适度的智能自习室系统。该系统使用各种传感器来监测环境因素,如温度、湿度、照明以及占用情况。基于这些数据,该系统调整对灯、风扇和空调等设备的控制,以优化能源使用,同时保持舒适的环境。作者进行了实验来评估该系统的性能,发现与传统方法相比,该系统可以节省高达23.2%的能源使用。他们还通过在一个真实的自习室中实施该系统来验证该系统的实用性[12]。当今社会科学技术发展迅速,自习室的照明系统发展越来越先进,并且采用智能照明控制系统可以降低能源的消耗,对于当前形式是较好的,可以促进社会的发展。1.3主要研究内容本设计研究的内容为基于STM32的智控节能自习室系统设计。该系统包含STM32单片机、ESP8266WIFI通信模块、温度传感器、烟雾传感器、薄膜压力传感器、声音传感器以及继电器模拟加热制冷等模块。使用STM32芯片技术将采集的数据经过ESP8266WIFI模块发送给上位机并显示。采用手机APP作为上位机接收和显示下位机数据,用户在上位机上设置温湿度和烟雾的阈值,当实时的温度比阈值低的时候,就会开启制热设备;当实时的温度比阈值高的时候,就会开启制冷设备。如自习室烟雾值超标,显示屏提示:自习室禁烟;如自习室声音大,则提示:请保持安静。

第2章系统总体结构2.1开发工具简介2.1.1KEILKEIL软件可以非常迅速的将代码编译并且生成二进制文件,同时大多数单片机都被KEIL使用,适用于不同的项目和应用场景。有着简洁通俗易懂的页面非常容易上手。本设计采用C语言编写代码,C语言使用起来,更加容易理解,维护起来也比较简单。KEIL还集成了实时调试和仿真功能,能够方便地调试代码,并且通过仿真进行更加深度地性能测试。方便用户快速开发和调试,KEIL工具在单片机领域广受欢迎,因其能够节省大量开发者的时间和精力。2.1.2QtQt是一个特别流行的跨平台的C++应用程序开发框架,在计算机软件、嵌入式系统等领域被广泛应用,它的使用范围最广,它也可以用于开发不带有接口的指令行程序。它占内存小,速度快,通俗易懂。本系统中上位机的系统界面就是有Qt开发构架的,Qt是通过框架,允许开发人员编写自己的应用程序,可以让开发者更加自由地发挥自己的创造力和想象力,开发出具有个性的、高效的、易于维护的应用程序。它具有很强的灵活性和扩展性。使得Qt可以适用于更加广泛的应用场景。2.2相关技术2.2.1STM32单片机技术STM32系列芯片采用TSMC90nm工艺制造,集成了处理器核、存储器、通信接口和多种外设,能够满足不同应用的要求。除此之外,STM32微控制器外设资源丰富,数字模块包括了GPIO、USART、SPI、I2C等,可实现数字信号的输入输出和通信功能。该项目的通讯模块使用CAN、Ethernet和USB等协议,支持网络通信和高速数据传输;同时,定时器模块包含基本、通用和高级定时器,满足各种定时功能需求。适用于各种嵌入式系统和应用场景。目前,STM32F103作为市场上主流控制器,资源充足以满足外部设备需求,因此被广泛采纳。除此之外STM32互联系统通过使用一种高级的锁相回路来加强声音层次上的I2S通讯,来加强声音的表现。STM32通过与USB主从功能相配合,实现对外存(U盘或MP3)的读音、解码及输出。STM32的计算效率大概是51MCU的十倍左右,其外部接口也要比51MCU的性能更好。2.2.2传感器技术传感器技术将物理量转化为电信号,以便观测和获取信息的技术。通过信号处理器将其转换为数字信号,从而实现数据的采集和处理。传感器是将被测量的物理量转化为可处理信号的核心部分。在智能家居、自动化控制、医疗检测、工业生产等领域,传感器技术被广泛应用与各个领域。传感器技术的发展使我们对周围环境的感知和控制更加准确、快速和安全。为人们的生活和生产带来了更多便利和效益。2.2.3ESP8266WIFI通信技术本设计使用ESP8266WIFI模块作为通信。ESP8266是一种WIFI模块,它具有低功耗、高可靠性和单片式设计等优点。ESP8266可以作为主控设备使用,也可以作为从设备连接到其他主设备中,因此在物联网应用中应用广泛。ESP8266具有多种通信接口,包括串口、SPI、I2C等,可以与其他设备进行通信。ESP8266使用AT指令或ESP8266的AT固件来接入网络。在连接之前,需要扫描周围的WIFI热点,并选择要连接的热点。在连接之后,使用TCP协议通过WIFI与单片机通信。ESP8266支持使用AT指令控制WIFI通信。这些指令可以用来配置WIFI设置,查询热点列表,连接和断开连接热点以及通过TCP协议发送和接收数据。不同的AT指令支持不同的功能,可以根据对应文档进行调试,同时在打印AT指令响应时进行检查。ESP8266使用ESP8266SDK软件进行编程和配置。ESP8266SDK提供了完整的开发环境和库,可以进行底层编程和处理更复杂的任务。ESP8266还可以使用TCP协议在Wi-Fi网络中进行数据传输。通过TCP建立连接,以确保数据传输的可靠性和完整性。总之,ESP8266作为低成本、高集成、易编程的WIFI芯片,广泛应用于IoT领域和嵌入式系统中。2.2.4技术路线1.硬件部分需要单片机,温湿度和压力传感器,WIFI模块等等;2.软件平台程序用KEIL5;3.编程语言用C语言;4.用户信息显示查看。2.2.5预期结果通过对系统的布设和完善,最终完成基于STM32的智控节能自习室系统设计预期有如下成果:1.上位机:(1)WIFI通信,手机端上位机。(2)接收下位机数据,并显示。(3)设定阈值:温度阈值上下限,湿度阈值,噪音阈值,烟雾阈值。功能图如图2.1所示。上位机功能上位机功能接收数据并在屏幕显示接收数据并在屏幕显示通过无线网卡通信在手机端设定阈值图2.1上位机功能图2.下位机:(1)系统可实时检测自习室温湿度状况,显示,并发送上位机;(2)系统监测到自习室内的温度过低,开启加热设备,过高,开启制冷设备;(3)系统可实时监测自习室内的噪音状况,如存在噪音文字提示:请保持安静;(4)系统可实时监测自习室内的烟雾状况,如自习室烟雾浓度超标,文字提示:自习室禁烟;(5)系统可实时监测座椅上的压力传感器,判断有无学生;(6)系统监测到自习室无人时,自动关闭灯光、加热设备/制冷设备;功能图如图2.2所示。

下位机功能下位机功能超过阈值继电器模拟调节监测数据是否高于或低于阈值压力传感器检测到有人灯亮自动开启制冷或制热设备。将采集到的数据进行上传通过无线网卡建立通信超过阈值继电器模拟调节监测数据是否高于或低于阈值压力传感器检测到有人灯亮自动开启制冷或制热设备。将采集到的数据进行上传通过无线网卡建立通信图2.2下位机功能图2.3总体方案设计1.先系统学习理论知识,钻研相关课题,深入调查相关领域,熟知研究主题要点。2.设立不同部分,处理内部联系,收集相关资料。3.制定课题计划,规划组成结构、了解整体框架,提出原理框架图。4.借助软件设计电路图,在电路图中实现系统组件与电路的结合。5.根据控制系统设置主流程图。6.通过模拟,检查是否能够进行控制,从而整理全文。2.4系统可行性分析基于STM32的智控节能自习室系统设计是可行的,将从以下几个方面进行分析。1.技术可行性:STM32作为一种嵌入式处理器,其性能可靠,适合于大部分自习室控制任务。同时,在节能控制方面,STM32可以实现功率控制、温度控制和湿度控制等功能,满足自习室的安全和舒适性需求。2.经济可行性:该系统采用STM32芯片,其成本较低,且市面上有许多相关开发板/开发套件可供选择。而且,自习室节能控制系统可以减少能源使用,具有长期的经济效益。3.社会可行性:该系统有助于提高自习室的利用率,改善自习室的环境,提高学生的自习效率,在减少能源浪费方面也具备积极的社会意义。总体而言,基于STM32的智控节能自习室系统设计是一项充满潜力和可行性的技术,具有一定的市场前景和社会价值。

第3章系统的硬件部分设计3.1系统总体设计本文设计了一种基于STM32的智控节能自习室系统设计。这个系统主要运行了WIFI技术,主要对自习室的照明系统进行控制,通过一定的仿真方式,把这个系统应用于人流量控制,利用自习室的灯光亮度适应外部强度,对于目前大学当中的声控照明系统进行控制,能够在一定程度上较少自然资源的浪费,让自习室的照明灯管理更加规范,也要能够进行网格化管理,从而达到节能的实际效果。1.硬件部分需要单片机,温湿度和压力传感器,ESP8266WIFI模块等等。2.软件平台程序用KEIL5;3.编程语言用C语言;4.用户信息显示查看;以下为本次设计的架构图,如图3.1所示:无线网卡无线网卡上位机无线网卡STM32单片机继电器温湿度传感器烟雾传感器压力传感器声音传感器制冷设备制热设备图3.1架构图3.2系统的主要功能模块设计3.2.1STM32单片机的设计主控制芯片选用的是STM32F103C8T6,它是一种以ARMCortex-M3内核为基础的单片机芯片,STM32的处理速度要比51单片机快得多,它的功能也要更加丰富和强大,它的速度是一般51单片机的8到12倍,还多了两个定时器,还带PWM功能,还有SPI接口。多种主流的操作系统都可以支持STM32,可以在Linux、Windows等开发环境进行开发,而且比起51单片机更简单,可以更方便的利用系统来实现多种场景的应用。STM32系列MCU是一种具有较高性能和较强性能的MCU系列。这一类多功能微控制器广泛应用于低成本、高性能及低能耗的嵌入式系统中,并表现出较好的能耗及集成度。因为它具有方便、构造简洁、功能强等优点而受到行业的青睐。3.2.2ESP8266通信模块设计ESP8266是一款集成了WIFI芯片和微控制器的模块,它具有低功耗、低成本和强大的处理能力等优点。该模块通常应用于物联网和远程控制等领域。本文所述系统采用ESP8266作为无线通信模块,并且该模块已经集成串口通信接口,无线模块通信则使用串口1,串口通信需连接到PB11和PB10引脚,TX引脚连接PB11,RX引脚连接PB10。ESP8266无线网卡模块,有四根引脚连接到IO口上[16],由一根5V电源线、GND接地线、PB11、PB10组成。如图3.2所示。图3.2通信模块3.2.3DHT11温湿度模块电路设计DHT11模块能够采集温度和湿度的数据,该模块共有四个引脚,包括两个供电引脚、一个通信引脚以及一个NC引脚不连接。DHT11是一种数字温湿度传感器模块,可方便地测量环境的温度(范围0~50℃)和相对湿度。为了能正常工作DHT11需要一定的电路设计。1.选择+5V电源供电。2.传感器和单片机相连。DHT11的VCC和GND引脚连至电源的正负极,Data引脚连接单片机的PA7。3.用KEIL5编写程序。如图3.3所示。图3.3温湿度模块3.2.4烟雾传感器模块电路设计MQ-2常用于家庭和工厂的气体泄漏监测装置,它是一种N型表面离子式半导体。在二百到三百摄氏度的时候,二氧化锡会去吸收空气中的氧气,从而改变电子密度,同时电阻就会增加。当烟雾和单片机接触的时候,就会导致晶粒之间的势垒发生一些变化,会使表面的导电率发生改变[17]。传感器的VCC引脚连接单片机的电源引脚,GND引脚连接单片机地线引脚,传感器的PA1引脚连接引脚6。如图3.4所示。图3.4烟雾传感器模块在设计MQ-2烟雾传感器的时候,运用了模块采集的数据,实时监测和处理。设计了一个合理的数据传输模块,将采集到的烟雾数值上传到手机端,以方便和管理。当烟雾传感器接收到超过设定值的浓度的时候,这就表明,自习室实际上是禁止吸烟的。然后显示屏提示:自习室禁烟。流程图如图3.5所示。开始开始单片机初始化单片机初始化初始化成功?初始化成功?烟雾烟雾传感器读取数据NN是否浓度超过阈值?是否浓度超过阈值?YY显示屏显示禁烟显示屏显示禁烟结束结束图3.5烟雾传感器功能流程图3.2.5声音传感器模块设计目前,声音传感器模块是一种可以感知声音信号的电子模块,常用于声音控制、语音识别、音频采集等应用场景中。一般来说,一个声音传感器模块包括声音传感器、放大器、滤波器、ADC转换器和微控制器等。该信号经过A/D转换后,被数据采集器接收并传输到计算机中进行进一步分析。如图3.6所示。图3.6声音传感器模块3.2.6压力传感器模块电路设计薄膜式压力传感器模块,是一款能够测量压力以及重量的模块,它含有薄膜式压力传感器和运放、滤波电路等组成。该模块电路设计分为传感器电路和信号处理电路两部分。1.传感器电路薄膜压力传感器是一种电容式传感器。传感器电路需要设计成一个能够测量电容值并且转换为电压信号的电路。其中,R1~R4为电桥四个电阻,C0为薄膜压力传感器的电容负载,RL为负载电阻,VCC和GND为电源。当传感器的输入压力发生变化时,电桥两端的电势差会发生改变,导致电桥输出电压也随之变化。输出电压的大小可以通过运放放大并进行信号处理。2.信号处理电路信号处理电路通常由放大器、滤波器和模数转换器等部分组成。其中,放大器使用用于放大传感器电路输出的电压信号;该滤波器用来去除噪音和高频的信号,同时保持有效的信号;ADC把模拟的数据变换成数字。其中,C1~C4为滤波电容,R5和R6为基准电阻,ADC为模数转换器。如图3.7所示。图3.7压力传感器模块薄膜式压力传感器具有测量范围宽、响应速度快、线性度好、精度高等特点。当用手按压压力传感器,模拟有人坐在这个座位上,自习灯打开,温湿度传感器发挥接收温湿度数据的作用。流程图如图3.8所示。

开始开始单片机初始化单片机初始化初始化成功?初始化成功?压力传感器读取数据压力传感器读取数据NN是否压力超过阈值?是否压力超过阈值?YY自习室灯打开,温度传感器工作自习室灯打开,温度传感器工作结束结束图3.8压力传感器模块子程序流程图3.2.7屏幕显示电路模块设计0.96英寸4针OLED屏模块是一种显示屏模块,内置了一个0.96英寸OLED显示屏和4个引脚。通常适用于嵌入式系统和小型电子设备中,可显示文本、图像和其他信息。该模块可通过SPI或I2C接口进行通信,支持多种分辨率和颜色模式。模块的4个引脚分别为VCC、GND、SCL和SDA。VCC为模块供电引脚,一般为3.3V或5V。GND为接地引脚,需连接到负极电源上。SCL为时钟引脚,在数据传输期间提供时钟信号,需连接到主控芯片上的时钟管脚。SDA为数据引脚,用来传输数据,需要连接到主控芯片上的数据引脚。使用I2C接口时,SDA也可被称作串行数据线。如图3.9所示。图3.9显示屏模块3.2.8继电器本设计中有两个继电器,它们分别是模拟制冷和加热的。继电器有三个引脚,继电器的VCC连接单片机的+5V电源端口,GND连接GND端口,继电器的IN口连接单片机的IO口。继电器是一种能够控制电流开关的电器元件,经常被电气控制系统、家用电器等领域所使用。与STM32单片机相连的继电器主要用于控制外部负载或电器设备的开关状态,将STM32单片机的数字信号转换为可以控制继电器通断状态的电信号。本系统采用SRD-05-VDC-SL-C型号的继电器,用于模拟加热和制冷的工作,对此设计有良好的适配性。该继电器使用共阴的驱动方式。如图3.10所示。图3.10继电器模块

第4章系统的软件设计4.1系统软件总体架构本篇文章的主程序首先要对上位机的软件进行软件系统界面的初始化,运用Qt和C语言进行编写,用来满足系统在后面可以顺利的运行,来实时监测自习室中的环境参数以及其他数据。软件主流程图如4.1所示。开始开始输入账号和密码检验账号和密码是否正确?重新输入登录到控制界面通过无线网卡连接下位机接收下位机采集的数据系统界面显示数据设置阈值结束YN图4.1软件主流程图4.2系统界面4.2.1登录界面的设计上位机用Qt设计系统的登录界面,上位机运用WIFI通信技术与下位机进行数据的交换。首先要注册一个账号,到SQLite数据库中校验账号是否已经注册过,然后进行账户的登录,密码正确进入系统,密码错误则给出提示。还可以注销账户。登录界面如图4.2所示。图4.2登录界面系统的实现是用C++代码实现,在代码中通过Connect函数建立信号与槽,使用单击按键来切换界面,以及判断密码是否正确和账号是否存在。实现的关键代码如下:voidrgsWidget::on_rgsPushButton_clicked(){//获取账号密码发送数据库structrgs_stsndbuf;QStringcntStr=ui->cntRgsLineEdit->text();QStringpwdStr=ui->pwdRgsLineEdit->text();//QString>constchar*std::strncpy(t,cntStr.toLatin1().data(),CNTSIZE);//密码加密QByteArraycryPwd=QCryptographicHash::hash(pwdStr.toLatin1(),QCryptographicHash::Sha512);std::strncpy(sndbuf.pwd,cryPwd.toHex().data(),PWDSIZE);//ts->writeData((constchar*)&sndbuf,sizeof(sndbuf));ts->connectToHost(QHostAddress(RGS_SERVER_IP),RGS_SERVER_PORT);//写入数据ts->write((constchar*)&sndbuf,sizeof(sndbuf));}4.2.2系统控制界面的设计系统控制界面的搭建是在Qt平台下编写的,通过Qt来实现用户界面可视化,并通过网格布局、水平布局和垂直布局等对界面进行美化,建立对应的槽函数,通过Connect函数连接信号与槽。在本设计系统界面中显示采集的数据和时间,可以在系统控制界面设置环境参数的阈值,还需要创建TCP流式套接字与下位机进行数据传输,系统控制界面样式如图4.3所示。图4.3系统界面4.3系统WIFI通信的交互上位机与下位机数据的交互是通过两个WIFI无线网卡,通信采用的是TCP通信,TCP通信的过程是这样的:使用Socket函数来建立流式套接字,使用Bind函数来将地址进行绑定,将Listen函数设定为监听状态,在有下位机请求建立一个连接之后,就会调用Accept函数来接收这个连接,并生成一个新的Socket,然后在这个新生成的Socket的基础上,再根据这个新生成的Socket[18],调用Send或函数来与下位机进行数据交换,在通信完成之后,再调用close函数来关闭这个截获。Write或者Read数据。由于是要实现登录,注册的服务器,父进程创建SQLite数据库,子进程接收下位机发送过来的数据,查看返回对应的状态,例如注册上位机就只需要在SQLite数据库中查询账号的数据是否存在,如果存在就向下位机发送对应的状态,如果不存在就将要注册的账号密码存储在SQLite数据库中。登录服务器不同的点在于要检验密码,所以通过And关键字去本地数据库中同时查询账号密码,全部一致才可发送登录成功的状态,否则发送登录失败的状态,实时的将采集的数据信息显示到系统控制界面上。程序的关键代码如下:Widget::Widget(QWidget*parent):QWidget(parent),ui(newUi::Widget){ui->setupUi(this);//标题setWindowTitle(QString("登录"));//套接字ts1=newQTcpSocket(this);ts1->setProxy(QNetworkProxy::NoProxy);//链接套接字信号与槽connect(ts1,&QTcpSocket::readyRead,this,&Widget::recv_data1_slots);}voidWidget::on_pushButton_2_clicked(){//点击注册触发槽函数//获取账号密码发送到数据库structrgs_stsndbuf;QStringcntStr=ui->lineEdit->text();QStringpwdStr=ui->lineEdit_2->text();//发送的数据std::strncpy(t,cntStr.toLatin1().data(),CNTSIZE);//密码加密QByteArraycryPwd=QCryptographicHash::hash(pwdStr.toLatin1(),QCryptographicHash::Sha512);std::strncpy(sndbuf.pwd,cryPwd.toHex().data(),PWDSIZE);//ts->writeData((constchar*)&sndbuf,sizeof(sndbuf));ts1->connectToHost(QHostAddress(RGS_SERVER_IP),LOGIN_SERVER_PORT);qDebug()<<"Date:"<<QDate::currentDate();ts1->write((constchar*)&sndbuf,sizeof(sndbuf));}4.4SQLite数据库SQLite是一种轻量级进程内数据库,其本质上是一个文件。相比其他数据库,SQLite的体积更小,但访问性能却更优秀。在SQLite数据库中存储用户的用户名和密码、界面的格式和背景颜色、登陆时的校验信息。SQLite数据库可以更新用户信息和注销用户信息,还存储着从下位机采集的环境参数。以下是SQLite数据库管理系统的相关介绍:1.结构化查询语言。SQLite使用结构化查询语言(SQL)来完成数据库的管理和操作,支持大部分SQL标准语句和基本的关系型数据库操作,如数据的增删改查、视图、索引、事务处理等。2.轻量级。SQLite具有较小的空间占用、启动速度快、不依赖于服务器等特点,适用于嵌入式系统和移动设备等场景,具有很高的可移植性和代码简洁性。3.嵌入式应用。SQLite可以轻松地嵌入到其他应用程序中,通过SQLiteAPI来实现对数据库进行访问和管理,减少了应用程序与数据库之间的通信代价,增加了数据的可靠性和安全性。4.跨平台支持。SQLite支持跨平台应用,可以在Windows、Linux、iOS、Android等各种操作系统上应用。SQLite数据库文件也能够跨平台使用。5.数据库文件[19]。SQLite使用单一文件储存数据,数据库文件包含表和数据等信息,可以使用文件备份和恢复等技术维护数据的安全性和互操作性。4.4.1SQLite数据库创建和关闭此次创建一个SQLite数据库,对数据库进行操作,数据库用完进行关闭,关键代码如下://创建数据库publicvoidopenDataBase()throwsSQLException{mDatabaseHelper=newDataBaseManagementHelper(mContext);mSQLiteDatabase=mDatabaseHelper.getWritableDatabase();}//关闭数据库publicvoidcloseDataBase()throwsSQLException{mDatabaseHelper.close();}4.4.2SQLite数据库插入数据在SQLite数据库中插入新用户的数据,更新用户的信息,比如修改密码。在上位机可以根据用户名注销,还可以一键删除所有用户,关键代码如下://更新用户信息,如修改密码publicbooleanupdateUserData(UserDatauserData){intid=userData.getUserId();StringuserName=userData.getUserName();StringuserPwd=userData.getUserPwd();Stringrank=userData.getRank();Stringdepartment=userData.getDepartment();ContentValuesvalues=newContentValues();values.put(USER_NAME,userName);values.put(USER_PWD,userPwd);values.put(RANK,rank);values.put(DEPARTMENT,department);returnmSQLiteDatabase.update(TABLE_NAME,values,null,null)>0;//returnmSQLiteDatabase.update(TABLE_NAME,values,ID+"="+id,null)>0;}//根据用户名注销publicbooleandeleteUserDatabyname(Stringname){returnmSQLiteDatabase.delete(TABLE_NAME,USER_NAME+"="+name,null)>0;}//删除所有用户publicbooleandeleteAllUserDatas(){returnmSQLiteDatabase.delete(TABLE_NAME,null,null)>0;}

第5章系统测试5.1系统实物图打开上位机,在手机端连接ESP8266模块,登陆系统,系统界面显示时间、温度、湿度、压力、烟雾等实时监测数据,可以设置温度和烟雾的阈值,设置阈值如图5.1所示。图5.1系统界面实物部分由ESP8266WIFI模块、STM32F103单片机、DHT11温度传感器、MQ-2烟雾传感器、薄膜压力传感器和两个继电器分别模拟加热和制冷,如图5.2所示。图5.2系统完整实物图5.2测试原理测试包括的内容非常多,预测设,应输入数据,输出结果。测试的数据主要包括,通过少量数据完成检测。最根本目标是,找到设计中存在的错误,或者对错误的数据进行检测。测试的基本目标包括,找到设计中存在的错误,通过相应的例子进行覆盖。通过对数据进行实际输入,要设置相关的规格要求,并设置相应的说明书。在测试的时候,要充分保证说明书的各种功能,保证期其正常使用。5.3显示功能测试第一行显示温度,温度实时值,低点温度值,高点温度值,第二行显示湿度,湿度的值,第三行显示烟雾,烟雾的值和烟雾的阈值,第四行显示如果有声音或者噪音的话提示请保持安静或自习室禁烟,第五行显示压力。如图5.3所示。图5.3显示模块实物图5.4声音检测功能测试当我们对着声音传感器吹口哨或者调节阈值进行说话的时候,声音传感器接收到声音信号进行然后在显示屏上进行显示:请保持安静。如图5.4所示。图5.4声音检测实物图5.5压力检测功能测试当用手按压压力传感器模拟有人在座位上坐着(压力值大于20),自习室内的灯会打开,温湿度传感器才可以发挥作用。如图5.5所示。图5.5压力传感器亮灯显示5.6温湿度检测功能测试当压力传感器检测到有人在座位上时候,温湿度传感器用手捏着,湿度逐渐增大,温度逐渐升高,当温度超出阈值,继电器停止运作。如图5.6所示。图5.6温度超过阈值,继电器停止工作显示5.7烟雾传感器功能测试有时候烟雾浓度没有你们高,这时候我们通过上位机调节一下阈值,就能看见明显的变化。用打火机的气体丁烷模拟外界烟雾气体,然后对准MQ-2烟雾传感器进行气体喷射,MQ-2烟雾浓度会发生变化,超过设定阈值的时候,OLED屏上进行文字提醒:自习室禁烟。如图5.7所示。图5.7烟雾传感器功能测试

总结与展望在焊接电路的时候由于技术的不熟练焊接出现了短路,两个点焊接到了一起导致最后结果无法显示。在对软件进行调试的时候,出现了很多错误,通过老师的帮助,我发现了存在的很多问题,并找出了其存在的种种问题,设计问题以及方法主要包括以下几个方面。1.在烟雾传感器的测试中,发现用打火机测试,没有进行显示屏显示,然后调整阈值,使得传感器更加灵敏,这样可以测量到很低的烟雾浓度,然后进行显示。2.利用仿真软件,找出错误的代码。再通过调整之后,启动相应的流程,单片机没有正常进行复位,也很难获得准确结果。“智控节能自习室”真正的作用是让学生更好得去学习,同时这也是教育信息化、教育改革的目的所在。该系统能更好地节约电力资源。随着科技的不断发展,技术在信息化时代非常重要,这也是必不可少的。信息化设备的普及率比较高,通过信息技术能够在一定程度上改变旧有的教育理念,不断提高教师的文化素质水平。智慧自习室在进行研究的时候,需要和具体的学科进行研究,将各学科的优势发挥到最

温馨提示

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

评论

0/150

提交评论