张 兵 王泽伟 孙晓叶
(防灾科技学院,河北 三河065200)
在智能互联的推动下,各种通信技术迅速更新迭代。国内外也涌现出了一大批的以通信和物联网为基础的产业。在硬件开发板领域野火、树莓派、Arduino 成为电子行业快速发展起来的开发板套件;在通讯领域5G 通信、NB-IOT、蓝牙5.0 等通信技术的发展也在不断推动互联网和物联网的发展;在云平台领域阿里云平台、中国移动云平台、腾讯云等的云服务也逐步成熟。在智能环境监测领域,物联网技术作为主要技术被广泛应用。把物联网与环境监测结合起来具有十分明显的优势。我国空气污染形势严峻,监测雾霾,有害气体的含量成为空气指标的刚需。目前,智能环境监测系统已经有一定的应用,但是仍然具有很大的发展前景。本文就是基于以上背景和理念下,利用Arduino 和中国移动的OneNET 平台对环境进行智能监测。旨在采用Arduino 对环境数据进行采集,并将数据上传到云端,从而帮助用户采集到指定环境条件下的数据,并对环境进行远程控制。本系统设计拟定采用Arduino 开发板和传感器模块,实现环境数据的采集。并将环境数据上传到OneNET 平台,通过OneNET 所提供的云服务,和实时数据处理, 实现环境监测和控制。用户只需要在移动端或在网页上登录就可以远程看到环境的数据,并可以通过页面上的按钮远程对指定的LED 灯和继电器进行控制。本系统拟定将实现以下开发目标:(1)本系统开发路线清晰,程序可用度高,能够实现对环境数据的准确采集和直观的数据展示。(2)在界面上直观的展示采集到的数据,可以远程监控指定环境下的温度、湿度、光照、烟雾气体等数据。并且可以通过界面上的操作,对指定的继电器等进行控制。(3)在后台的管理界面实现用户的登录、注销、修改、授权等操作。(4)可以通过后台对传感器信息进行的更新,实现传感器等管理,以方便管理员对传感器的维护处理;(5)本系统在注重功能实现的同时,具有页面简单整洁,数据传输高效准确等目标。
本设计包括下位机部分和管理系统两部分内容,下位机部分主要是单片机、传感器、WiFi 模块的设计,管理系统部分是WEB 管理系统的设计,二者共同组成本系统。
本系统是基于Arduino 和传感器技术进行数据采集,通过WiFi 技术和HTTP 技术进行数据交互,采用OneNET 云平台进行数据展示。传感器采集环境的光照、烟雾、温度、湿度数据,通过HTTP 协议上传到OneNET 平台。云平台收到数据之后,用户可以再在移动端或者电脑端实现对环境的监测和远程控制。因为OneNET 不开放数据库,所以采用Python 爬虫将数据转存到本地数据库,在本地数据库对环境数据进行管理。并且可以通过管理系统进行用户管理和对历史数据进行查看。
图1 智能环境检测系统图
本设计系统结构如图1 所示。
本系统硬件部分采用传感器监测环境数据,并将数据实时上传到OneNET 云平台。再通过OneNET 云平台的返回的数据显示到显示屏上。同时移动端或电脑端可以通过网页或者APP对云平台进行数据访问。本设计的硬件部分包括各类Arduino Mega 2560、传感器、WiFi 模块、供电电源等实现如下功能:
本设计硬件功能结构图2。
图2 硬件功能结构图
本系统选择了Arduino Mega 2650 作为主控模块。Arduino Mega 开发板上集成了54 路数字输入/输出端口,16 路模拟输入端口[1]。本设计中选择Arduino Mega 的主要原因是其的闪存较大,具有较多的引脚,能够更好的满足本设计的需求。本智能环境监测系统在硬件部分主要采用了温湿度传感器、光照传感器、烟雾传感器,用来采指定环境条件下的温度、湿度、光照和烟雾气体的参数。本系统的无线通信模块采用了由上海乐鑫信息科技开发的,可以作为微控制器使用WiFi 控制芯片ESP8266。选用其的原因是低功耗、高集成度,成本低、且具有完整TCP/IP 协议栈。其常用于串口CH340 转WiFi、WiFi 远程监控/控制、安防一体化管理等领域。本设计的数据显示模块采用了LCD1602A 液晶显示屏。用来显示当前状态的温度、湿度、烟雾气体、光照参数。LCD1602 屏幕为2 行,每行显示16 个字符,为字符型显示器,只能显示数字和字符,不可以显示汉字[2]。常用于少量字符显示的电子设计。本设计中采用该模块显示从OneNET 端获得的传感器数据。本系统中使用了常规的LED 灯和继电器作为控制器,蜂鸣器作为烟雾超标预警进行报警。LED灯是一种常用的控制发光源,其的基本结构是一个被环氧树脂封装好的半导体芯片,在通电后可进行发光。因为其节能、长效、环保等优点被应用于各类场景。继电器是一种常用的控制器,能够通过对较小电流去控制较大的电流。可以通过控制电路实现被控电路的通断。在本设计中为了提高硬件部分的功能可拓展性。所以选择继电器为第二个控制器。蜂鸣器是一种常用的警报模块。其是直流电压供电的电子讯响设备,发声原理是通过采用震荡源发声。在物联网和电子设计中。常用于系统警报或作为提示音出现。蜂鸣器分为有源蜂鸣器和无源蜂鸣器两种:区别主要在于蜂鸣器内部是否有震动源。有源蜂鸣器其内部自带震荡源,只需要进行通电就可以发声,无源蜂鸣器内部不带震荡源,具有类似与扩音器一样的效果,需要接入震荡源才能进行发声。本系统中采用了有源蜂鸣器作为烟雾浓度超标的报警。
在硬件部分按照接线图,搭建完成,并编译,上传成功后,将系统接电,在OneNET 云平台上进行设置相关参数,使得其能够实现数据的交互。在浏览器输入网址https://open.iot.10086.cn/,或搜索OneNET,搜索到OneNET 中国移动物联网开放平台后,点击进入。在注册登录之后,点击右上角的开发者中心可以跳转到开发者中心,在这里可以进行添加产品,在此处有已经创建好的产品;点击进入后,会对单独的产品有一个特有的产品id和Master-APIkey 和接入的协议,在此处,可以进行一系列的编辑和权限操作,在本系统中,我们采用了HTTP 协议进行通讯。右侧点击选择数据流模板,确定数据流的模板,在此处根据本系统的规划,设置了temp,humi,light,smoke,led,relay6 个数据流,分别对应温度、湿度、光照、烟雾气体、LED 灯、继电器,在触发器管理部分,添加触发器,当温度大于80 摄氏度时给指定的邮箱发送邮件,提醒温度或湿度异常.因为OneNET 云平台并不开放提供数据库和数据保存,所以采用Python 脚本程序将网站的数据实时的转存到MySQL 本地数据库中去。
智能环境监测系统使用MySQL 数据库存储数据,使用MyEclipse 编写JSP 网页。网站前台设置部分主要实现了用户的登录、个人信息修改、管理员权限的修改、管理员密码修改、传感器的增删改查、历史数据的查询。
登录页面:智能监测环境系统的首页,用户必须登录后方能使用系统功能,网站的首页是也登录界面,其中内置管理员为admin,密码为123,且不允许删除该管理员。
用户列表页面:智能监测环境系统在登录进入后,显示功能菜单。第一项是用户列表。本系统不支持用户注册,但可以在系统中进行用户的管理和权限设置。
传感器管理页面:智能监测环境系在传感器界面可以进行传感器的添加、查询、修改和删除。
历史数据页面:智能监测环境系在历史数据界面可以通过传感器名称的查询,查询历史的传感器数据。
本文详细介绍了WiFi 技术的智能环境检测系统的设计与实现过程,从硬件环境的搭建到实际工作的完成。本设计在硬件组成部分,没有使用常规的单片机进行开发,而是对已有的开发板上连接传感器和通讯模块实现数据传输,在数据传输中,使用HTTP 请求,将数据传输到中国移动OneNET 云平台。实现了数据的交互。然后在本地服务器,使用Python 语言完成数据请求,将已经在云端的数据传输到本地数据库中,再通过WEB 页面进行数据展示和管理员的管理操作。