基于8051单片机的教室人数检测查询系统的设计与实现
2015-05-30刘华刘凯刘兆峰王艳芳石舫欣
刘华 刘凯 刘兆峰 王艳芳 石舫欣
【摘要】 设计主要用于教室人数的动态检测与实时显示。系统采用STC89C52单片机作为基本控制单元,NRF24L01模块作为无线传输模块将采集到的数据信息进行编码处理后传送至单片机接收模块,并通过串口将数据传送到服务器,最终WEB服务器将教室人数网页呈现,同学们可手机或电脑登陆访问。
【关键词】 激光对管 STC89C52单片机 NRF24L01射频通信
一、背景及意义
随着高校自习室的使用变得越来越紧张,周六周日等一些课外时间,经常看到同学们为了找个自习室在教学楼的各楼层之间穿梭,浪费宝贵的的学习时间,因此设计这样一款能够帮助同学们查询、了解自习室人员实时数量的系统。
二、系统原理描述及架构
2.1系统总体设计方案
系统主要由设计五大模块组成,激光对管检测模块专门用于教室门口人员进出的检测,NRF24L01射频通讯模块主要承担数据的传输任务,将采集到的人数信息按协议编码后无线发送到单片机的数据处理模块,单片机处理数据模块将数据接收并解码处理后通过串口通讯PL2303模块将人员信息传送到PC机,PC机WEB服务器模块将数据存放到Mysql数据库中,为学生的访问提供服务。
2.2人员进出检测的实现
人员进出检测是系统最关键的部分。有三种方案::教室的门口安装刷卡机,同学在进出时进行刷卡;在座位下安装压力传感器,当有人坐下时,传感器记录并传递信息;还有就是同时在门框的里边和围边放置一个激光对管,通过单片机检测里外探头次信号变化的顺序,来判别是进还是出,从而统计出教室内的人数。
经过讨论与分析,第一种方法,很容易出现漏刷或替刷的现象,不容易监管;第二种方法安装、使用复杂且成本较高,因为会经常坐、压,很容易损坏;第三种方法系统结构简单,只需在教室门口安装探头,就可以统计出教室内的总人数。
1、激光对管的检测原理。激光对管由发射端和接收端组成。发射端使用出光为点状且波长650nm(红光)的普通激光管,接收端使用激光接收管IS0103。当发射端与接收端无人员通过时,激光束稳定照射接收管,接收管輸出0V低电平,当有人员通过使得光束被阻挡时,接收管输出高电平并触发单片机中断。
2、人员进出的判断。将一对发射管和接收管安装在门的外侧,另外一对发射管和接收管安装在门的内侧,用来识别人员的进出。人在进入教室前,两对激光装置正常工作;人在进门时,先阻断门外的红外线装置,接着阻断门内的红外线装置,STC89C52将数据加一,人出去时,正好与上述过程相反。
2.3数据的无线传输
检测数据的传输采用NRF24L01射频通讯模块。NRF24L01是一款工作在2.4-2.5GHz世界通用ISM频段的单片收发芯片,NRF24L01射频通讯模块的数据有效传输距离为250米,在教学楼中足以满足信息传输的需要。
2.4串口通信模块
数据与PC机之间的传输,采用PL2303模块。该器件作为USB/RS232 双向转换器,一方面从主机接收USB 数据并将其转换为RS232 信息流格式发送给外设,另一方面从RS232 外设接收数据转换为USB 数据格式传送回主机。与PC及相连的单片机利用NRF24L01接收数据后,判断数据是哪个教室的信息,加工处理后将数据传送到PC机。
2.5 PC机端WEB服务器环境的搭建
1、上位机的设计。PC机使用VB设计供用户使用的图形化界面的软件,利用VB自带的mscomm 控件,并把他的OnComm 事件设置为接收状态,定义好COM口的波特率、传输数据的数据位个数等基本信息,并在后台程序里加入用于更新操作Mysql数据库的模块。
2、服务器的安装与调试。在PC机上安装开源的WAMP5软件。WAMP5是Apache+PHP+Mysql 集成环境,通过安装WAMP5,可以在计算机上迅速建立WAMP的服务器环境。安装完毕后PC机就可以当网站的服务器使用。每次有人外网访问时Apache首先进行解析,php访问Mysql数据库获取数据,最终将信息传送给用户。
3、服务器的外网访问。搭建好的WEB服务器,只能在局域网环境下进行访问。为了解决这一问题,我们下载花生壳软件注册申请了网站域名,让该软件为本机提供动态域名解析服务。进行简单设置实现了外网的访问。
三、结语
本系统在人流较小的情况下能较稳定、准确的实现教室人员进出的检测,且系统功耗低,方便了同学们课余时间对空闲自习室的查找,提高了学校学校自习教室的利用率。