APP下载

基于Web 服务器的智能楼宇传感网络系统

2019-06-27方铄张帅东周辰宇刘亚炜麻广霖

现代计算机 2019年13期
关键词:下位上位服务器

方铄,张帅东,周辰宇,刘亚炜,麻广霖

(郑州轻工业大学计算机与通信工程学院,郑州450002)

0 引言

随着城市化进程的加快,楼宇也趋于智能化[1]。但居住的环境数据不能实时地展示在住户面前,这带来了很多安全隐患。针对这个安全现状,也为了给住户提供更加便捷、舒适、安全的生活环境,迫切需要解决如何让用户轻松便捷地管理居住环境数据的问题。

本文提出了一种基于Web 服务器[5]的智能楼宇传感网络系统[3],以Web 浏览器做监控终端,以低功耗、体积小、寿命长的ZigBee 技术[2]以及各种传感和控制模块构建智能楼宇的内网,该系统具有操作简单、成本低、功耗低、功能强大的特点。

1 系统整体方案设计

该系统包括下位机、上位机桌面应用程序和Web端软件三大部分。下位机部分中,各个传感器分别要完成:门禁功能、节能功能、天气检测功能、火灾报警功能、室内防盗功能、车辆测距功能、环境监测功能。上位机桌面应用程序作为中间环节。实现从CC2530 芯片获取环境数据,再与Web 服务器连接,然后把数据传入Web 服务器以供显示。从而形成一条完整的数据链,保证环境数据的实时性与准确性。CC2530 芯片搭载Z-Stack 协议栈[4]以及各种传感与控制等模块构成。完成本系统的传感控制功能,CC2530 具有高性能和低功耗的8051 微控制器核,微控制器核是将微型计算机的主要部分集成在一个芯片上的单芯片微型计算机。CC2530 支持ZigBee、ZigBee PRO 等标准,其无线射频模块兼容IEEE 802.15.4,硬件支持CSMA/CA 功能,带有符合IEEE 802.15.4 规范的定时器,接收器灵敏度高、抗干扰性强,集成AES 安全协处理器。Web端软件由用户模块、实时数据显示模块、历史数据查询模块构成。用户模块可完成权限校验、用户登录、用户注销等功能。实时数据显示模块可完成模块状态显示、温湿度显示、PM2.5 数据查询功能。历史数据查询模块可完成环境数据的历史查询功能。为了使三大部分形成一套具有采集,处理,显示功能的完整系统,本系统利用ZigBee 技术,把各个传感器获取的信息发送至协调器,再通过协调器把信息提交至Web 服务器,用户可通过Web 浏览器、手机监控节点等方式获取环境数据,同时,也可以对各节点进行控制。系统整体设计方案如图1 所示。

图1 系统整体设计方案

2 下位机的设计与实现

本系统的下位机部分是以CC2530 单片机为核心,由RFID、电磁锁、光照传感器、雨滴传感器、烟雾报警器、红外传感器、超声波传感器与该单片机连接组成的门禁模块、节能控制模块、防火模块、天气监测模块、室内防盗模块、车距模块组成。各个终端节点与协调器之间采用ZigBee 技术组成无线传感网络。ZigBee 技术是IEEE 802.15.4 协议的代名词,是一种近距离、低复杂度、低功耗、低速率、低成本的双向无线通讯技术。主要用于距离短、功耗低且传输速率不高的各种电子设备之间进行数据传输以及典型的有周期性数据、间歇性数据和低反应时间数据传输的应用。

下位机各功能的实现是由各个传感器分工完成的。如图2 所示门禁模块由RFID 模块进行控制,系统采集RFID 卡片中携带的信息,将其与数据库中的数据相匹配,匹配成功后向下位机发送指令,打开电磁锁。节能控制模块由光照传感器进行控制,当光照值达到一个预设的最高值后,灯泡熄灭,以达到节能效果。反之,光照达到预设的最低值时,灯泡点亮。天气监测模块由雨滴传感器控制,当检测到有雨滴落下时,系统关闭窗帘。室内防盗模块由红外传感器控制,室内有人时蜂鸣器会报警。车距模块有超声波传感器控制,主要检测车与传感器的距离,距离过小时蜂鸣器会报警。各传感器状态更新后同时更新Web 端状态。

3 上位机的设计与实现

3.1 上位机采用技术

系统上位机是基于Tomcat 搭建的Web 服务器,Tomcat 服务器是一个免费的开放源代码的Web 轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用。Web 后端采用Java 语言开发,使用MVC 设计模式。采用Servlet 容器处理信息,同时采用多线程解决方案,通过Socket 通信技术获取下位机的环境数据,采用MySQL 存储历史数据。Web 前端主要采用HTML5 开发主界面,同时采用JavaScript、JSP动态处理界面。采用CSS3 组件以及Bootstrap 框架技术美化增加用户体验,采用AJAX 技术异步处理页面信息,减轻服务器负担。

图2 下位机功能实现图

3.2 上位机设计

上位机设计思路如图3 所示,当上位机接收到下位机数据后,首先要实现环境数据的读取与存储。之后,开始实现上位机部分的三大模块,分别为用户模块、实时数据显示模块、历史记录查询模块。用户模块具有用户的登录与注销、用户的添加与删除等的功能。该模块控制用户权限,未登录状态下禁止访问其他模块,提高了系统的安全性。实时数据显示模块主要负责实时显示由下位机硬件采集到的数据,采用心跳机制,每隔一秒采集一次数据,以确保连接的有效性的机制。心跳机制是定时发送一个自定义的心跳包,心跳包则是按一定时间间隔发送的数据包,频率是固定的。网络中的接收和发送数据都是使用操作系统中的Socket 进行实现。但是如果此套接字已经断开,那发送数据和接收数据的时候就一定会有问题,所以需要在本系统采用心跳机制,确保数据的连续性。系统在整点的时候将温度、湿度、PM2.5 值进行存储。历史记录查询模块能够根据用户选择的时间进行精确查询,并将查询到的数据用三种不同颜色的折线图在网页上显示。

图3 Web设计流程图

3.3 数据交互实现

本系统采用Java 多线程技术,分别控制Socket 与上位机通信和上位机发送的数据插入数据库,确保了系统的稳定性。上位机与下位机交互的数据格式为:String[]data={起始位,设备编号,数据位,结束位}。如图4 所示,系统启动ServerSocket,系统监听客户端的Socket。如果Socket 已经连接,则开启数据接收的线程,否则继续监听Socket。数据交互进程被启动后,即能进行数据交互,通过创建输入输出流对象,可进行数据的输入与输出。线程可向客户端传递状态码,用来打开电磁锁。另外,门禁模块是由RFID 模块进行控制的,所以RFID 卡的信息需要保存到数据库中,上位机需要发送由硬件读取的RFID 卡号到服务器,再由服务器查询数据库比对后返回结果给上位机。线程可接收数据(数据由线程接受),Web 通过Servlet 把此数据进行实时显示,并且经过封装后存入数据库以便历史信息功能的调用。

4 系统测试

如图5 所示,在用户成功登录后,进入到智能楼宇传感网络系统的主页面。在页面左边栏,分别有全部信息,历史信息,账号设置,用户注销等功能。全部信息是向用户展示系统实时信息。包括门禁、天气、防火、防盗、温湿度等环境数据。历史信息是向用户展示历史的环境数据。账号设置可对账户进行修改密码,更改密保等设置。用户注销用于安全退出系统。图5所展示的主体界面就是全部信息,向用户直观的展示所有传感器此时获得的数据。

图4 系统数据交互流程图

图5 环境数据实时显示

如图6 所示,通过点击左边栏的历史信息,可以进入到历史信息栏。主界面上方可选择历史时间。中间则根据数据信息绘制三个折线图。分别描述温度、湿度与PM 值。用户可根据历史信息折线图直观地了解居住的环境走向。

图6 历史数据查询

5 结语

本文设计实现的基于Web 服务器的智能楼宇传感网络系统,经过试验测试能够很好地完成项目预期要求。较好地实现了数据的采集、传输、显示和存储等功能。本系统能够将楼宇中设备的状态和环境数据通过浏览器实时展示在用户面前,具有安全可靠、无需下载客户端、可随时随处访问等优点。稍加改良,即可用于办公楼、学校、居民楼、工厂等场所,给用户提供了更加便捷、舒适、安全的生活或生产环境,具有良好的发展前景。

猜你喜欢

下位上位服务器
上位词和下位词在初中英语补全对话中的应用与教学建议
基于UDS协议的CAN BootLoader的开发与验证
某MT车型无法启动和怠速启停失效问题分析
一场史无前例的乐队真人秀
2018年全球服务器市场将保持温和增长
围观党“下位”,吐槽帝“登基”
基础油“上位”
基于VC的PLC数据采集管理系统
用独立服务器的站长注意了
定位中高端 惠普8路服务器重装上阵