基于开源硬件的门禁控制系统

2018-01-02 08:45
软件 2017年12期
关键词:卡号门禁系统IC卡

赵 鹏

(西昌卫星发射中心,四川 西昌 615000)

基于开源硬件的门禁控制系统

赵 鹏

(西昌卫星发射中心,四川 西昌 615000)

本文设计了一种基于开源硬件的门禁控制系统。该系统以开源硬件arduino控制板为控制芯片,将IC卡门禁读卡器读取的IC卡号,通过以太网板卡发送到信息中心服务器进行权限判断,并利用arduino控制板实现门磁的控制。采用开源硬件raspberry pi实现门禁数据的显示。测试证明本系统成本低、功耗低、扩展性好,运行稳定可靠。

门禁;arduino;raspberry pi; 开源硬件

0 引言

门禁控制系统是采用现代电子与信息技术,在建筑物内外的出入口实现对人或者物的进出实施放行、拒绝、记录和报警等操作的一种电子化系统,适用于智能化小区、银行、仓库等各种场合。随着网络化进程的深入,门禁控制器产品逐步由传统型向网络型门禁系统转变,通过局域网实现控制中心服务器与前端控制器的互联互通,通过终端可以随时查看人员进出的刷卡记录,同时可以实现前台和门禁的远程控制[1-3]。门禁控制器不仅仅完成门禁功能,同时具有区域人数统计、远程控制、防盗报警等功能。

本文采用开源硬件实现了一套门禁控制和显示系统,用于扩展目前部署的信息化系统的功能,可以无缝连接到已经部署的系统。该系统门禁控制部分采用了当前比较流行的arduino开源硬件,门卫显示终端采用了开源硬件raspberry pi。

1 开源硬件

Arduino是一款开源电子原型平台,采用ATmega328微处理器,具有6个模拟输入接口,采用10bit的解析度,具有14个数字输入/输出管脚,可以由程序自定义为输入或者输出。arduino的硬件原理图、电路图、IDE软件及核心库文件均是开源的,在开源协议范围里可以任意修改原始设计及相应的代码。arduino在本文中实现门禁控制器的功能,利用arduino的硬件串口和软件串口接收门禁控制器发送的 IC卡卡号等数据以实现对门磁电源的控制[2]。

Rasberry pi搭载ARM架构的处理器、运行性能和智能手机相仿,体积只有信用卡的大小,预装linux操作系统。在接口方面,raspberry pi提供了USB接口、以太网接口、SD卡接口、HDMI接口等。HDMI可以实现视频输出功能。本文采用 raspberry pi从控制中心服务器获取相关的门禁进出数据,进行图形化显示。

2 系统简介

门禁系统包括门禁读卡器、门禁控制器、门禁电源、显示终端以及后台服务器。该系统部署在已经完成的信息化管理系统中,因此需要该门禁控制系统具有较强的兼容性,可以方便的接入当前的信息管理系统。

门禁读卡器采用工业标准的wiegand 34协议读取IC卡卡号,wiegand接口是门禁系统读卡器的标准接口,目前市场上的大多数读卡器(包括指纹机、掌纹仪等)都提供了该接口,Wiegand的信号通过 2条数据线实现将卡号通过数据线发送到门禁控制器[6]。

门禁控制器收到IC卡号后,将数据传送到控制中心服务器,判断该卡号对应人员的权限,然后将相关数据发送到门禁控制器,门禁控制器控制门禁电源实现门磁的控制。本文采用开源硬件 arduino控制器的硬件串口和软件串口获取IC卡卡号,实现该门禁控制器。

显示终端部署在门卫,图形化直观的显示人员和车辆的进出信息。本文采用raspberry pi实现该功能,采用http技术,基于browser/server结构进行数据交换。所有的系统参数可以下载到前端的arduino控制器,同时还可以将参数上传到控制主机。

3 门禁控制器设计

门禁控制器采用arduino实现,通过arduino单片机获取门禁读卡器传来的IC卡卡号,然后将该卡号通过以太网板卡,用http post的方式,将IC卡号发送到控制中心服务器,中心控制服务器做出相应的判断后,返回一个 httpresponse的结果,arduino控制器根据收到的数据控制相应的门磁设备、LED显示设备[8]。基本流程如图1所示。

Arduino控制器获取数据后通过 http发送请求的方式将相关的 IC卡号等数据发送到控制中心服务器,实现代码如下。

void openDoor(){

digitalWrite(MC_PIN,LOW);

delay(500);

digitalWrite(MC_PIN,HIGH);}

void getInput(){

memset(&icNo,0,sizeof(icNo));

图1 门禁控制流程Fig.1 Access controller process

if(Serial.available()>0){

buffer[4]='0'; //进营区

delay(100);

for(byte i=0;i<4;i++){

sprintf(&icNo[i*2],"%02X",Serial.read());

} }

if(cyqSerial.available()>0){

buffer[4]='1'; //出营区

delay(100);

for(byte i=0;i<4;i++){

sprintf(&icNo[i*2],"%02X", cyq-Serial.read());

} }}

void httpRequest() {

client.stop();

client.flush();

memset(retCmd,0,sizeof(retCmd));

if (client.connect(server, 8080)>0) {

Serial.println("connecting...");

client.print("GET /menJinV2/?data=");

client.print(buffer);

client.println(" HTTP/1.1");

client.print("Host: ");

client.println(Ethernet.localIP());

client.println(); }

else {

Serial.println("connection failed"); }

if(client.connected()){

if(client.find("TXYT")){

client.readBytesUntil('E',retCmd,4);

Serial.println(retCmd);

if(retCmd[0]=='0'){yuyin(VOICE_WXK);}else

{

if(retCmd[2]=='1'){

openDoor();

if(retCmd[1]=='0'){

yuyin(VOICE_YXJR);

}else if(retCmd[1]=='1'){

yuyin(VOICE_YXTX); }

}else if(retCmd[2]=='0'){

yuyin(VOICE_JZWC); } }

}else{

Serial.println("get data from web server error"); } }

client.stop();

client.flush();

}

void loop() // run over and over

{

getInput();

if(strlen(icNo)>0){

for(byte i=0;i<8;i=i+2){

buffer[11-i]=icNo[i];

buffer[11-i+1]=icNo[i+1];

}

Serial.println(buffer);

memset(icNo,0,sizeof(icNo));

httpRequest(); } }

4 门禁显示设计

门禁显示终端部署在门卫处,用图形的方式直观显示人员进出和车辆进出记录。门禁显示终端采用了开源硬件raspberry pi的实现方式。raspberry pi采用了linux,本文在raspberry pi中部署了一个小型的web服务,如果系统如果产生了人员进出营区或者车辆进出营区的记录,控制中心服务器向显示终端发送http post请求,同时将相关的数据作为post数据的参数,发送到显示终端,以实时显示门卫的人员和车辆进出信息[10-12]。显示终端的界面如下图所示。

图2 门禁显示Fig.2 Access controller info

5 小结

本文实现的基于开源硬件的门禁控制系统,结合了网络技术、开源技术、数据库技术,实现了跨平台无需客户端软件的工作模式,为组建跨地域、大规模门禁管理系统提供了可能。本系统经过测试,运行良好,具有比较好的可维护性和扩展性,可以方便接入现有的信息控制系统。随着支撑环境的不断升级,本系统也要进一步加强和完善,并达到一个理想的水平。

[1] 刘雍. 基于S3C6410 的嵌入式Web视频仿真门禁系统设计[J]. 软件, 2013, 34(2): 4-6.

[2] 郑禄, 常佳. 基于Arduino与Python的实验室联动门禁报警系统设计[J]. 软件导刊, 2017, 16(01): 76-77.

[3] 柯资颖. 嵌入式门禁系统软件的设计与实现[D]. 西安电子科技大学, 2008.

[4] 张鲲, 陈美伊, 李壮, 等. 基于单片机的家庭智能火灾报警系统的设计[J]. 软件,2014, 35(4): 87-89, 96.

[5] 王莹, 王晓丽. 基于物联网技术的智能门禁系统的设计与研究[J]. 吉林建筑大学学报, 2017, 34(01): 83-86+92.

[6] 黄鹤松, 刘容良, 郭恒兰, 魏国招. 一种基于CPU卡的门禁系统的设计[J]. 电子技术应用, 2017, 43(01): 137-140+ 144.

[7] 瞿小玲, 王洁. RFID在智能门禁系统中的应用[J]. 黑龙江科技信息, 2011, (21): 32-33.

[8] 张鲲, 陈美伊, 李壮, 等. 基于单片机的家庭智能火灾报警系统的设计[J]. 软件, 2014, 35(4): 87-89, 96.

[9] 原巍春. 基于RFID技术的门禁系统的研究和设计[D]. 哈尔滨工业大学, 2015.

[10] 严士超, 果莉, 李明, 房俊龙, 张继成. 基于泛在网技术的实验室智能门禁考勤管理系统的研究[J]. 实验技术与管理, 2014, 31(05): 162-163+170.

[11] 廖云升. 生产区门禁系统技术方案浅谈[J]. 科技资讯,2013, (13): 14+16.

[12] 瞿小玲, 王洁. RFID在智能门禁系统中的应用[J]. 黑龙江科技信息, 2011, (21): 32-33.

[13] 马文科. 基于ARM的指纹识别门禁系统的设计与实现[D].湖南大学, 2009.

Design of Door Access System Based on Open Source Hardware

ZHAO Peng
(Xichang Statlite Launch Center, Sichuan Xichang, 615000)

The paper introduce a door access control system based on open source hardware. The system uses the open source hardware Arduino control board as the control chip, the IC number readed by IC reader, through the Ethernet shhied sent to the information center server and Judgment authority, To control the Arduino board to control the door open. Using open source hardware raspberry pi to realize the display of access control data. Test shows that the system is low cost, low power consumption, good scalability, stable and reliable operation.

Access control; Arduino; Raspberry pi; Open source hardware

TP29

A

10.3969/j.issn.1003-6970.2017.12.053

本文著录格式:赵鹏. 基于开源硬件的门禁控制系统[J]. 软件,2017,38(12):267-269

赵鹏(1986-),男,工程师,网络管理。

猜你喜欢
卡号门禁系统IC卡
基于多种生物特征识别的RFID门禁系统设计
河南省长葛市彩红蜂衣蜂帽加工厂
工商业IC卡控制器改造为物联网控制器实践
河南省长葛市彩红蜂衣蜂帽加工厂
基于AI智慧人脸门禁系统的硬件系统设计
基于单片机的安全门禁系统研究设计
在用电梯加装外接式IC卡运行控制系统设计改进
一种新的无触点IC卡的检测方法
基于单片机的小区门禁系统设计
湖北省高速公路IC卡管理系统浅谈