Design of access control monitoring system based on ARM9+Linux

Publisher:美好的人生Latest update time:2013-01-04 Source: 维库开发网 Keywords:ARM9 Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

Access control, also known as access control system, is a digital management system for managing people's access. At present, with the development of industrial automation and people's increasing demand for applications, access control monitoring systems have been increasingly used, but traditional access control monitoring systems generally use access control and video recording to separate the implementation method, which brings a lot of inconvenience to on-site wiring, and its cost will also be greatly increased.

The embedded access control monitoring system based on ARM9 and Linux mentioned in this solution integrates access control and image recording functions, and describes the software design of the system in detail.

This access control system uses B/S software architecture, adopts embedded server boaserver, combines CGI technology, embedded database and embedded graphics library to meet the needs of the access control system.

1 System working principle and composition

1.1 System Working Principle

This access control monitoring system adopts B/S architecture (Browser/Server, browser/server mode). The access control monitoring system based on B/S architecture is firstly an access control controller with Ethernet interface; secondly, this access control controller has built-in Ethernet TCP/IP protocol and WEB service program; when the system is connected, the user can regard the access control controller as a computer with broadband network interface and directly connect it to the network switch. When users manage access control, they do not need to install any additional software, and can directly manage the access control system through the browser, which is convenient and simple to operate.

1.2 System composition

As shown in Figure 1, the system server consists of an ARM9-based access controller, card reader, electric lock, front-end camera, etc. When someone enters or exits the gate and swipes a card, the card reader can sense the card and send the card information to the access controller. The access controller checks the card legitimacy by reading the user database to see if there is any corresponding cardholder information for this card number. If so, it checks the permission information corresponding to this card. After all matches are successful, it decides whether to open the door. This ensures the security of the system. At this time, the access controller also performs image recording operations, that is, while opening the door, the front-end camera records the image and transmits it to the corresponding storage device for user access.

System structure model

Figure 1 System structure model

The client can remotely access the access controller (server) and perform corresponding permission operations through the browser, which can realize functions such as user information entry and authorization management, hardware settings, entry and exit image monitoring, door opening, data browsing, etc. Figure 1 shows the system structure model.

2 Access Controller Hardware Design

This system uses ATMEL's AT91RM9200 (hereinafter referred to as 9200) as the MCU. The processor is based on the ARM920T core, with a working frequency of 180MHz and a performance of 200 MI/S. The system uses the open source LINUX OS. The kernel version is 2.6.25. The system uses 1 Nor-Flash with a capacity of 64 MB and 2 SDRAMs with a capacity of 32 MB each. As shown in Figure 2, this access control controller is based on the ARM9200 core. It is also connected to an LCD controller and can be connected to a display screen for easy user debugging. In addition, this access control system can connect up to 256 card readers and corresponding cameras. The schematic diagram of the system hardware composition is shown in Figure 2. [page]

System hardware composition diagram

Figure 2 Schematic diagram of system hardware composition

3 System Software Architecture Design

The whole system is divided into two parts: front and back. The back monitoring program will always monitor whether the card reader has card swiping information and respond to the card swiping information. The front desk will respond to the client access request by calling the CGI service program through the boa server. The system function model is shown in Figure 3.

System Function Model

Figure 3 System functional model

3.1 Front-end design

The system front desk is mainly composed of the boa Server and CGI service program running on the access control controller. The boa server will always monitor whether there is any remote user access. When a client access request arrives, it will call the corresponding CGI service program in the corresponding directory through the boa server configuration file. After the processing is completed, the boa server will return the processing result to the client.

3.1.1 Introduction to CGI and its working principle

The full name of CGI is "Common Gateway Interface", which is a program method based on browser input and running on a Web server.

The working principle of CGI is that the browser first points to the URL of a CGI application through an HTML form or hyperlink request. After receiving the request, the server executes the specified CGI application. The CGI application performs the required operations (usually based on the content entered by the browser) and formats the results into a document (usually an HTML web page) that the web server and browser can understand. Finally, the web server returns the results to the browser.

3.1.2 Embedded Server boa server

boa Server is a small single-task embedded server that supports CGI. The executable code is only about 60 kB. It is small in size, fast in speed, and safe in security, which can meet the development requirements of this project. Boa Server needs to be cross-compiled into a program that can run on the ARM platform. In the PC environment, after cross-compiling boa server using the cross compiler arm-linux-gcc, you need to modify its configuration file boa.conf. The key configurations include creating a directory where the log file is located, creating a main directory for HTML documents, storing static web pages in this directory, creating a directory where the CGI script is located, and storing the cgi script in this directory.

3.2 Backend Design

When the system is running, the access controller will always run the main monitoring program. The main monitoring program has two working modes, namely debugging mode and monitoring mode.

3.2.1 Debug Mode

In debugging mode, you can make some basic settings for the access controller: including the IP setting of the access controller, the username and password setting of the system administrator, the card permission setting, etc. In this part, a graphical environment is required for debugging. This system uses the minigui embedded graphics library.

The communication under MiniGUI is a message mechanism similar to Win32. It is a free software developed by a company and follows the LGPL protocol. It can establish a fast, stable and lightweight graphical user interface support system for embedded Linux systems.

3.2.2 Monitoring Mode

In working mode, the background resident program will always monitor whether there is card swiping information. After detecting the card swiping information, the background resident program will compare the card information by accessing the database. Only when the comparison is passed can the door be opened.

Since the image needs to be saved to the database when the door is opened, and at this time, there may be a client accessing the system storage image, which will cause access conflicts to the same database. Therefore, when the system receives a client request to access the system storage image, the front-end CGI service program communicates with the background monitoring program through the inter-process communication method of the named pipe to obtain the database access handle. After the client access ends, the front-end CGI service program will release the database handle. [page]

Since this system involves frequent database access operations, the database selected is Berkeley DB based on the ARM9 hardware platform. Berkeley DB is an embedded database system with a long history, mainly used on UNIX/LINUX operating systems. Its design concept is simple, compact, reliable and high-performance, which meets the needs of this system.

4 System software functional module design

4.1 User information entry and authorization management

User information entry and authorization management are set by users with administrator privileges. On the client side, users with administrator privileges enter the administrator username and password through the browser and send it to the access controller. After receiving the request, the access controller verifies whether the authority is legal by calling the corresponding CGI service program. After confirming that it is legal, it enters the next level page, where user information entry and authorization management can be completed.

The main functions include entering user personal information, binding with a specific card, and granting card permissions. When a user swipes a card to open a door, the system first checks whether the card has corresponding cardholder information and whether the cardholder information matches the format defined by the system, which can prevent the use of illegal cards. If this step is matched successfully, the next step is to check the permission information corresponding to the card, including which doors can be controlled by this card and during which time periods.

4.2 Data browsing

System registered users can browse system authorization information on the client, and only users with administrator privileges can delete system registered users.

4.3 Hardware Setup

Administrator users can remotely test and set the access controller system on the client, including detecting the controller status according to the access controller address, setting the current time and week for the access controller, reading the current controller time, door opening delay, manual door opening, editing and reading device names, clearing authorization files, clearing card swipe records, etc.

4.4 Circle Image Monitoring

When the cardholder opens the door, the access controller will record the legal card swiping information into the database, and save the image of the card swiping moment as a jpg image in the storage device of the access controller. System registered users can browse the images saved by the access controller through the browser on the client. The system log interface is shown in Figure 4.

System log interface

Figure 4 System log interface

4.5 Backend Services

After the access control controller is started, it continuously detects whether the card reader has a signal to verify whether the door needs to be opened. When a card swiping message is detected in the card reader, the information in the card is read and the corresponding database is called for matching. If the match is successful, the image at the moment is recorded and saved to the corresponding directory of the database, and the door is opened; if unsuccessful, an alarm signal is issued and the operator cannot open the door.

5 Conclusion

The access control monitoring system effectively guarantees the security of enterprises and institutions. The embedded access control monitoring system based on ARM9 and Linux has stable and configurable characteristics, supports Internet-based data transmission, and adopts a B/S architecture system. Users access the system through a browser. This solution describes in detail the software idea of ​​implementing this access control monitoring system and describes the implementation process in detail. At present, this solution has been put into use in production and scientific research. With the development of embedded technology, the performance of the access control monitoring system will be further improved.

References:

[1]. AT91RM9200 datasheet http://www.dzsc.com/datasheet/AT91RM9200_1.html.
[2]. ARM920T datasheet http://www.dzsc.com/datasheet/ARM920T_139814.html.

Keywords:ARM9 Reference address:Design of access control monitoring system based on ARM9+Linux

Previous article:Research and Application of Image Data Acquisition System Based on ARM7
Next article:Design of logistics vehicle monitoring terminal based on GPS+CDMA

Recommended ReadingLatest update time:2024-11-16 21:36

Research on Linux Kernel Porting on S3C2410
Embedded systems are application-centric, computer-based systems with tailorable software and hardware to meet the strict requirements of application systems for functions, reliability, cost, volume, power consumption, etc. The Linux operating system is a free operating system with excellent performance, open source
[Microcontroller]
Comparison between ARM9 processor and ARM7 processor
ARM9 series processors are mainstream embedded processors designed by the British company ARM, including ARM9TDMI and ARM9E-S series. This article mainly introduces their structure and performance comparison with ARM7TDMI. Taking mobile phone applications as an example, 2G mobile phones only need to provide voi
[Microcontroller]
Comparison between ARM9 processor and ARM7 processor
Use of Linux 2.4.18 kernel timer
My kernel is 2.4.18 . The Linux kernel defines a timer structure: #include linux/timer.h struct timer_list { struct list_head list; unsigned long expires; // Timer expiration time unsigned long data; // passed as a paramete
[Microcontroller]
Implementation Method of Graphical User Interface Based on Embedded Linux
With the rapid development of the Internet and the network and their continuous expansion into the home field, the integration trend of consumer electronics, computers, and communications (3C) has become increasingly obvious, and embedded systems have once again become a hot spot for research and application. The em
[Industrial Control]
Implementation Method of Graphical User Interface Based on Embedded Linux
About the coprocessor CP15 and MCR/MRC instructions in ARM9
In ARM-based embedded application systems, the storage system is usually implemented through the system control coprocessor CP15. CP15 contains 16 32-bit registers, which are numbered 0 to 15. Instructions for accessing CP15 registers MCR ARM register to coprocessor register data transfer MRC Coprocessor register
[Microcontroller]
Linux learning method sharing
With the expansion of Linux applications, many people have come into contact with Linux. For those who have just come into contact with Linux, they don't know where to start. The following is a Linux system administrator who has read many documents and books about Linux and made a lot of hard efforts to learn Linux. A
[Microcontroller]
Design of communication interface for measurement and control terminal based on ARM9 processor
  0 Preface   The control terminal is an indispensable main component of the measurement and control device and the basis for the existence of the measurement and control system. Many measurement and control systems currently used have large scale, scattered control points, low computing density of most control points
[Microcontroller]
Design of communication interface for measurement and control terminal based on ARM9 processor
Running Xen on the ARM platform can manage Linux and VxWorks at the same time
The Xen project hypervisor has been under development at Cambridge University since the 1990s, and was open sourced in 2002. Today, it is one of the most popular open source hypervisors that can be used on cloud computing. Xilinx and DornerWorks have applied this virtualization platform to the Zynq UltraScale+ MPSoC,
[Microcontroller]
Running Xen on the ARM platform can manage Linux and VxWorks at the same time
Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号