基于WIFI技术的智能环境检测系统

基于WIFI技术的智能环境检测系统

摘要:本设计详细阐述基于WiFi技术的智能环境检测系统的设计与实现过程。首先对环境监测系统的现状进行介绍;然后根据在系统开发过程的顺序,针对整个系统整体进行分析,在此基础上确定硬件部分和网站的功能划分;最后详细介绍各个模块的实现。本系统在硬件部分采用Arduino开发板进行数据的采集,使用WiFi模块进行数据的传输;在管理平台上采用了OneNET云平台进行管理;在管理系统中,采用Ajax技术开发网站,实现数据的异步刷新;在本地服务器中采用MySQL数据库为网站提供服务。本系统可以分为硬件和网页端两部分。网页主要实现管理员登录、传感器管理、历史数据查看、环境控制等功能;硬件部分主要环境数据采集、数据上传、继电器控制等功能。

关键词:环境监测;Arduino;JSP;云平台;物联网

1概述

在智能互联的推动下,各种通信技术迅速更新迭代。国内外也涌现出了一大批的以通信和物联网为基础的产业。在硬件开发板领域野火、树莓派、Arduino成为电子行业快速发展起来的开发板套件;在通讯领域5G通信、NB-IOT、蓝牙5.0等通信技术的发展也在不断推动互联网和物联网的发展;在云平台领域阿里云平台、中国移动云平台、腾讯云等的云服务也逐步成熟。在智能环境监测领域,物联网技术作为主要技术被广泛应用。把物联网与环境监测结合起来具有十分明显的优势。我国空气污染形势严峻,监测雾霾,有害气体的含量成为空气指标的刚需。目前,智能环境监测系统已经有一定的应用,但是仍然具有很大的发展前景。本文就是基于以上背景和理念下,利用Arduino和中国移动的OneNET平台对环境进行智能监测。旨在采用Arduino对环境数据进行采集,并将数据上传到云端,从而帮助用户采集到指定环境条件下的数据,并对环境进行远程控制。本系统设计拟定采用Arduino开发板和传感器模块,实现环境数据的采集。并将环境数据上传到OneNET平台,通过OneNET所提供的云服务,和实时数据处理,实现环境监测和控制。用户只需要在移动端或在网页上登录就可以远程看到环境的数据,并可以通过页面上的按钮远程对指定的LED灯和继电器进行控制。本系统拟定将实现以下开发目标:(1)本系统开发路线清晰,程序可用度高,能够实现对环境数据的准确采集和直观的数据展示。(2)在界面上直观的展示采集到的数据,可以远程监控指定环境下的温度、湿度、光照、烟雾气体等数据。并且可以通过界面上的操作,对指定的继电器等进行控制。(3)在后台的管理界面实现用户的登录、注销、修改、授权等操作。(4)可以通过后台对传感器信息进行的更新,实现传感器等管理,以方便管理员对传感器的维护处理;(5)本系统在注重功能实现的同时,具有页面简单整洁,数据传输高效准确等目标。

2系统总体设计

本设计包括下位机部分和管理系统两部分内容,下位机部分主要是单片机、传感器、WiFi模块的设计,管理系统部分是WEB管理系统的设计,二者共同组成本系统。

2.1系统功能描述。本系统是基于Arduino和传感器技术进行数据采集,通过WiFi技术和HTTP技术进行数据交互,采用OneNET云平台进行数据展示。传感器采集环境的光照、烟雾、温度、湿度数据,通过HTTP协议上传到OneNET平台。云平台收到数据之后,用户可以再在移动端或者电脑端实现对环境的监测和远程控制。因为OneNET不开放数据库,所以采用Python爬虫将数据转存到本地数据库,在本地数据库对环境数据进行管理。并且可以通过管理系统进行用户管理和对历史数据进行查看。本设计系统结构如图1所示。

2.2硬件部分系统功能描述。本系统硬件部分采用传感器监测环境数据,并将数据实时上传到OneNET云平台。再通过OneNET云平台的返回的数据显示到显示屏上。同时移动端或电脑端可以通过网页或者APP对云平台进行数据访问。本设计的硬件部分包括各类ArduinoMega2560、传感器、WiFi模块、供电电源等实现如下功能:本设计硬件功能结构图2。

2.3系统硬件设计本系统选择了ArduinoMega2650作为主控模块。ArduinoMega开发板上集成了54路数字输入/输出端口,16路模拟输入端口[1]。本设计中选择ArduinoMega的主要原因是其的闪存较大,具有较多的引脚,能够更好的满足本设计的需求。本智能环境监测系统在硬件部分主要采用了温湿度传感器、光照传感器、烟雾传感器,用来采指定环境条件下的温度、湿度、光照和烟雾气体的参数。本系统的无线通信模块采用了由上海乐鑫信息科技开发的,可以作为微控制器使用WiFi控制芯片ESP8266。选用其的原因是低功耗、高集成度,成本低、且具有完整TCP/IP协议栈。其常用于串口CH340转WiFi、WiFi远程监控/控制、安防一体化管理等领域。本设计的数据显示模块采用了LCD1602A液晶显示屏。用来显示当前状态的温度、湿度、烟雾气体、光照参数。LCD1602屏幕为2行,每行显示16个字符,为字符型显示器,只能显示数字和字符,不可以显示汉字[2]。常用于少量字符显示的电子设计。本设计中采用该模块显示从OneNET端获得的传感器数据。本系统中使用了常规的LED灯和继电器作为控制器,蜂鸣器作为烟雾超标预警进行报警。LED灯是一种常用的控制发光源,其的基本结构是一个被环氧树脂封装好的半导体芯片,在通电后可进行发光。因为其节能、长效、环保等优点被应用于各类场景。继电器是一种常用的控制器,能够通过对较小电流去控制较大的电流。可以通过控制电路实现被控电路的通断。在本设计中为了提高硬件部分的功能可拓展性。所以选择继电器为第二个控制器。蜂鸣器是一种常用的警报模块。其是直流电压供电的电子讯响设备,发声原理是通过采用震荡源发声。在物联网和电子设计中。常用于系统警报或作为提示音出现。蜂鸣器分为有源蜂鸣器和无源蜂鸣器两种:区别主要在于蜂鸣器内部是否有震动源。有源蜂鸣器其内部自带震荡源,只需要进行通电就可以发声,无源蜂鸣器内部不带震荡源,具有类似与扩音器一样的效果,需要接入震荡源才能进行发声。本系统中采用了有源蜂鸣器作为烟雾浓度超标的报警。

3系统功能实现

3.1OneNET设计。在硬件部分按照接线图,搭建完成,并编译,上传成功后,将系统接电,在OneNET云平台上进行设置相关参数,使得其能够实现数据的交互。在浏览器输入网址,或搜索OneNET,搜索到OneNET中国移动物联网开放平台后,点击进入。在注册登录之后,点击右上角的开发者中心可以跳转到开发者中心,在这里可以进行添加产品,在此处有已经创建好的产品;点击进入后,会对单独的产品有一个特有的产品id和Master-APIkey和接入的协议,在此处,可以进行一系列的编辑和权限操作,在本系统中,我们采用了HTTP协议进行通讯。右侧点击选择数据流模板,确定数据流的模板,在此处根据本系统的规划,设置了temp,humi,light,smoke,led,relay6个数据流,分别对应温度、湿度、光照、烟雾气体、LED灯、继电器,在触发器管理部分,添加触发器,当温度大于80摄氏度时给指定的邮箱发送邮件,提醒温度或湿度异常.因为OneNET云平台并不开放提供数据库和数据保存,所以采用Python脚本程序将网站的数据实时的转存到MySQL本地数据库中去。

3.2智能环境监测系统设计。智能环境监测系统使用MySQL数据库存储数据,使用MyEclipse编写JSP网页。网站前台设置部分主要实现了用户的登录、个人信息修改、管理员权限的修改、管理员密码修改、传感器的增删改查、历史数据的查询。登录页面:智能监测环境系统的首页,用户必须登录后方能使用系统功能,网站的首页是也登录界面,其中内置管理员为admin,密码为123,且不允许删除该管理员。用户列表页面:智能监测环境系统在登录进入后,显示功能菜单。第一项是用户列表。本系统不支持用户注册,但可以在系统中进行用户的管理和权限设置。传感器管理页面:智能监测环境系在传感器界面可以进行传感器的添加、查询、修改和删除。历史数据页面:智能监测环境系在历史数据界面可以通过传感器名称的查询,查询历史的传感器数据。

4结论

本文详细介绍了WiFi技术的智能环境检测系统的设计与实现过程,从硬件环境的搭建到实际工作的完成。本设计在硬件组成部分,没有使用常规的单片机进行开发,而是对已有的开发板上连接传感器和通讯模块实现数据传输,在数据传输中,使用HTTP请求,将数据传输到中国移动OneNET云平台。实现了数据的交互。然后在本地服务器,使用Python语言完成数据请求,将已经在云端的数据传输到本地数据库中,再通过WEB页面进行数据展示和管理员的管理操作。

参考文献

[1]张浩华,张梦瑶,赵小姝,潘庆超,马世军.基于Arduino的校园环境监测系统[J].沈阳师范大学学报(自然科学版),2018,36(06):562-566.

[2]张伟,胡雄强,王明倩,任康.一种基于物联网的智能家居系统设计[J].信息技术,2019(03):48-51.

作者:张兵 王泽伟 孙晓叶 单位:防灾科技学院