当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘要:介绍了基于RFID的小区门禁管理系统,通过RS232串口连接RFID的读写器与PC机,给出了PC机在VisualC++6.0软件环境下,采用C++语言进行编写软件界面,并利用VC6.0的ADO访问技术来访问Access数据库,从而实现数据到数据库的保存与验证的具体方法。

引言

随着科技的发展,人们生活质量不断提高,为方便管理小区车辆,同时防止外来车辆进入小区,本文给出了一种新的方法。

伴随着产业化信息时代的到来,物联网这个概念出现在了人们视线。一种新的技术简称RFID,英文全名为RadioFrequencyIdentification,中文称之为无线射频识别技术。这项技术目前已经得到广泛的应用。我国目前对此项技术的研究也日趋成熟,不久的将来,RFID技术将发挥出巨大的作用。

我们目前熟知的数据库包括Oracle、SQL、Access数据库。其中,Oracle数据库为关系数据库,虽然应用广泛,但是安装复杂、价格昂贵、维护复杂。SQL算是一种中型数据库,但是复杂程度高,性价比不强。因此,本文采用最常见的Access数据库,简单、方便、实用,价格低廉,后期维护也比较简单。同时,它还是Windows自带的数据库,从而省去了安装的繁琐过程。

本文主要是利用RFID技术,通过RS232将上位机与RFID读写器连接通信,将数据传递到上位机[2],上位机软件利用VC6.0的ADO技术来访问Access数据库[3]。

1系统总体设计

本系统由RFID读写器、电子标签、PC机、VC6.0以及Access数据库软件组成。基本原理:RFID的读写器通过天线,发送无线载波信号,当有电子标签的车辆经过发射区域时会被激活,并将自身的信息通过天线发送回读写器。读写器将收到的信号进行转换,通过RS232串口发送到上位机软件。该软件在VC6.0环境编译下,采用C++语言编写,采集接收到的数据,并将数据与之前录入Access数据库的数据进行对比。如果符合条件,则利用RS232发出通过命令,让车辆进入;否则,禁止进入。本系统的总体设计框图如图1所示。

基于RFID的小区门禁管理系统

图1  系统总体设计图

2RFID技术简介

RFID技术是一种射频识别技术,主要是利用感应、电磁场或者电磁波进行的一种自动识别技术。RFID技术的优点是非接触式的,不用人工干预,适合各种环境等。此项技术非常适用于多目标和运动目标的识别,这非常符合小区内车辆运动的特点。

RFID系统由读写器和电子标签组成。

电子标签作为RFID系统的重要组成部分,存储着被识别物体的相关信息。电子标签里面的电子编码具有唯一性。一般情况下电子标签会放置在被识别物体上,本文里应该放置在居民车辆上,被读写器所识别。

读写器是一种射频技术设备,一般用来读写电子标签的信息。读写器一般具有与PC机的通信接口,比如RS232、RS485、以太网接口等。本文主要利用读写器的RS232接口,通过串口线与PC机通信。

3系统软件设计

本系统在VC6.0环境编译下,通过C++语言编写软件界面。软件包括用户界面设计、通信接口部分和数据库处理部分。图2所示为其软件设计流程图。

基于RFID的小区门禁管理系统

图2  系统软件流程图

3.1用户界面设计

本系统在基于MFC框架进行设计时,系统界面主要有通信连接操作、数据库链接操作和信息显示部分。当有车辆进入时,电子标签数据发送到PC机,本软件会显示当前该用户所有的详细信息。

3.2通信接口[4]

在Windows环境下,VisualC++6.0软件采用其自带的MSComm控件,可以实现读写器与PC机的串口通信,利用RS232实现数据的接收。使用该控件的方法如下:

第一步,在当前工程中插入该控件,并为其添加变量m_ctrlComm。

第二部,添加串口处理消息函数OnComm(),当有数据发送来时,响应该函数。此处要注意的是,接收到的数据格式为字符,并需要对该字符变量进行转换。程序如下:

BYTEbt=*(char*)(rxdata+k);//接收到的数据,为字符型temp=atoi(m_tempstr);〃最终需要的数据

第三步,添加串口初始化函数,其初始化代码如下:

m_ctrlComm.SetCommPort(1);//选择comlm_ctrlComm.SetSettings("9600,n,8,1");//波特率9600,无校验,8个数据位,1个停止位

m_ctrlComm.SetInputModel(1);〃1表示以二进制方式检取数据

本软件提供有对串口参数的多种配置选择,用户可根据实际情况选择适当的参数。

3.3数据库处理[5]

在VisualC++6.0软件中提供有ADO技术访问Access数据库。因此,首先必须建立一个Access数据库文件并命名为CarData,并在此文件中建立一个表,命名为admin,在此表中可以包含User、Old、ID、Telephone、Photo这几个字段,分别用以存储用户的姓名、年龄、车牌号、用户电话、照片详细信息。其中,User字段格式为文本,Photo字段的格式为OLE对象,其余字段格式为整型变量。在首次使用或者有新的用户购买车辆时,还必须对用户信息进行录入。

3.3.1数据库链接

以下是对数据库操作的步骤:

在StdAfx.h头文件中导入msado15.dll文件。

在主窗口类声明两个变量,分别是记录集的指针和ADO的编程中创建数据库链接的智能指针。与此同时,还需要在CDatabaseApp应用程序类中加入初始化函数InitInstance(),代码如下:

m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=CarData.mdb","","",adModeUnknown)

3.3.2数据库信息的添加

首先要定义一个类型为CString的变量sql,并给该变量赋值,让其选中我们之前建立的表admin,然后打开数据库,代码如下:

sql="SELECT*FROMadmin";m_pRecordset.CreateInstance("ADODB.Recordset");

m_pRecordset->Open((_variant_t)sql,theApp.m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimist,adCmdTe

之后,就可以给数据库添加每个用户自己的信息,添加函数为PutCollect()。

3.3.3从数据库查询信息

软件进入正常使用后,当车辆携带的电子标签被激活时,相关信息被发送到PC机上,本软件将所得到的信息与数据库中存储的信息进行对比,如果信息匹配,则对车辆放行。

以查询车牌号为例子,m_ID为获取的车牌号,代码如下:sql="SELECT*FROMadminwhereID='"+m_ID+"'”;m_pRecordset.CreateInstance("ADODB.Recordset");

m_pRecordset->Open((_variant_t)sql,theApp.m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdTeXt);

4结语

伴随着现代科技的突飞猛进,物联网技术已迅速普及,本文正是在这一技术基础上,进行的软件设计,而且,本软件也可以应用到其他带有RS232串口的外围设备上,只要稍加改动,便可方便移植应用。

20211020_616ef48739166__基于RFID的小区门禁管理系统

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭