趙思蕊,吳亞東,楊文超,蔣宏宇
(西南科技大學 計算機科學與技術學院,綿陽 621010)
?
趙思蕊,吳亞東,楊文超,蔣宏宇
(西南科技大學 計算機科學與技術學院,綿陽 621010)
設計了一種基于嵌入式ARM-Linux平臺和Wi-Fi通信的移動智能終端門禁系統,包括門禁裝置和用戶移動智能終端設備,其中門禁裝置采用S3C6410處理器,并以嵌入式Linux為軟件開發平臺。移動智能終端設備則作為用戶開門憑據,基于Android系統開發門禁APP,實現用戶身份認證、注冊和開門功能。測試結果表明,與現有門禁系統相比,該設計在安全性、可操作性和成本上有明顯優勢。
門禁系統;ARM-Linux;S3C6410;Wi-Fi;移動智能終端
隨著社會經濟的快速發展,人們對室內人身財產安全要求越來越高,門禁系統作為智能建筑安防自動化體系中必不可少的一部分[1],發揮著極其重要的作用。當前常見的門禁系統包括:密碼鎖門禁系統、感應式IC卡門禁系統、基于電話短信方式的門禁系統以及生物特征識別門禁系統等。
隨著科技的不斷進步和人們生活水平的不斷提高,移動智能終端越來越普及,包括智能手機、平板電腦等。為此,本文研究設計了一種基于嵌入式ARM-Linux平臺,并將用戶已有的移動智能終端設備作為用戶身份憑證的無線Wi-Fi門禁系統。
移動智能終端門禁系統主要由移動智能終端、門禁裝置、控制部件(電鎖)和PC終端組成。系統總體拓撲示意圖如圖1所示。

圖1 門禁系統總體拓撲示意圖
根據門禁系統的實際需求,系統每個部分的構成和功能略——編者注。
門禁系統的硬件主要由門禁裝置構成。門禁裝置硬件采用S3C6410核心板,外圍搭建相應功能的模塊電路,包括無線Wi-Fi模塊、以太網模塊、繼電器控制模塊和門禁UPS電源模塊,外部接口主要有UART異步串口、10/100M網絡接口、USB接口。系統硬件組成框圖如圖2所示。

圖2 門禁系統硬件結構框圖
(1) S3C6410核心板
核心板采用三星公司S3C6410核心處理器,該處理器是一款基于ARM11內核的低功耗、高性價比的RSIC處理器。
(2) 無線Wi-Fi模塊
本系統的無線Wi-Fi模塊采用了騰達公司的150M高速無線USB網卡,該網卡采用RT3070網卡芯片,其與核心板之間主要通過USB接口來實現協議和數據交換,無線Wi-Fi模塊的接口電路按照相關協議進行設計。
(3) UPS電源模塊
電源模塊是整個系統的能源動力機構,所以良好的電源供給是系統穩定運行的前提,本系統電源主要有12 V、5 V和3.3 V三種,為了使門禁裝置在意外掉電后仍能正常工作,針對門禁系統的前級12 V電源模塊采用UPS技術進行設計。其設計電路圖如圖3所示。
(4) 繼電器控制模塊
房門的控制信號是簡單的開關量信號,所以本系統采用控制器輸出I/O信號驅動繼電器實現開門。為保障房門不受單一I/O口信號的誤動作被打開,開門使能信號采用兩個I/O輸出不同電平(一高一低),經過同或門CD4077才能驅動硬件裝置板上的光耦隔離開關,從而控制電鎖開門。繼電器控制模塊電路如圖4所示。
系統軟件主要由門禁裝置服務器軟件和用戶移動智能終端門禁APP兩個部分組成。其中門禁裝置服務器軟件平臺采用嵌入式Linux系統,內核版本為3.0.1,具有體積小、效率高、網絡功能穩定的特性,同時Linux平臺上很多開源軟件支持移植和二次開發。門禁裝置服務器軟件包括:無線Wi-Fi熱點的開發、門禁數據庫設計、后臺服務器程序設計以及門禁WEB數據管理系統設計。而用戶移動智能終端軟件主要是基于Android系統的智能終端設備開發門禁應用程序。

圖3 UPS電源模塊電路

圖4 繼電器控制模塊電路
3.1 無線Wi-Fi熱點開發
門禁裝置作為門禁系統的服務器,需要實現無線路由的基本功能,為客戶機移動智能終端提供穩定的網絡熱點。本系統開發的Wi-Fi熱點不受外部網絡的影響,采用無線USB網卡實現,讓無線網卡工作在Master模式下,使門禁裝置成為無線接入點AP,提供無線接入服務和路由功能。門禁裝置無線Wi-Fi熱點的開發主要包括:網卡驅動移植、網絡熱點認證服務器軟件HOSTAP的移植、動態分配IP協議服務器軟件DHCP的移植,具體過程略——編者注。其中對應的驅動源碼包都可利用網絡資源獲取。
3.2 門禁數據庫的設計
3.2.1 移植嵌入式數據庫SQLite3

圖5 門禁數據庫E-R圖
要在門禁Linux系統下建立門禁數據庫,需要嵌入式數據庫的支持。數據庫SQLite是一款基于嵌入式平臺開發的輕型數據庫,在很多嵌入式產品中都使用了SQLite數據庫。它占用資源非常少,在嵌入式設備中可能只需要幾百K的內存就夠了[10],支持Windows/Linux/Unix等操作系統,并且能夠和很多程序語言相結合,比如TCL、C#、PHP、Java等;且有ODBC接口,比起MySQL、PostgreSQL這兩款數據庫管理系統,它的處理速度更快[12]。本系統開發采用的是SQLite3數據庫。
3.2.2 設計門禁數據庫
門禁數據庫主要是用來存儲門禁用戶基本信息、移動智能終端設備信息和門禁日志的,根據實際需求,在門禁數據庫中,對應的實體有:用戶實體、移動智能終端設備實體、系統配置信息實體、日志實體。設計的門禁系統數據庫的E-R圖如圖5所示。
根據數據庫的需求分析和E-R圖,利用SQLIT3建立數據庫文件存儲門禁系統的基本信息,使用SQL語句建立4個表:用戶基本信息表、移動智能終端設備信息表、門禁系統功能信息表、門禁日志基本信息表。
3.3 門禁后臺服務器程序設計
門禁后臺服務器程序主要完成以下方面的功能:接受用戶移動智能終端設備的連接請求、獲取智能終端設備的MAC地址和MEID移動設備識別碼、獲取用戶發送的字符串信息(“動作命令#房門標簽#設備MAC+MEID地址#設備類型”)、提取和分割字符串信息、進行數據庫查詢用戶權限信息、進行用戶設備注冊、寫門禁日志記錄和發送開門信號等。
本門禁系統后臺服務器程序的開發主要采用基于Linux系統C++的Socket網絡編程,服務器監聽端口為5 000,由于門禁服務器在同一時刻需要接收多個客戶機的服務請求,所以采用Linux多線程編程技術解決多用戶、多任務的需求。門禁后臺服務器程序流程圖略——編者注。
3.4 門禁WEB數據管理系統設計
為了節約成本和降低系統功耗,門禁裝置沒有開發相應的顯示器,而是在其ARM-Linux平臺上搭建WEB服務器,并編寫相應的后臺網頁程序,這樣門禁管理員就可以通過PC瀏覽器接口對門禁數據庫進行有效的管理。
3.4.1 搭建WEB服務器
目前,在Linux系統中大多采用Apache服務器、PHP網頁編程和MySQL的組合方式來搭建WEB服務器,但由于Apache和MySQL本身運行占用的系統內存和資源就很大[10],而嵌入式ARM的存儲空間一般都是很有限的,所以這種組合方式不適用于本系統的WEB服務器搭建。因此選擇對系統資源要求較低且功能相當的APPWEB和SQLite3來代替Apache與MySQL,最終利用APPWEB、PHP5和SQLite3三者的組合構建門禁裝置的WEB服務器。
3.4.2 開發門禁系統管理網站
為了方便門禁管理員管理門禁系統,采用PHP結合C++語言操作數據庫的方式,編寫相應的動態網頁程序,其中包括門禁管理平臺的登錄網頁、用戶管理頁面、移動智能終端管理頁面、系統配置頁面以及管理人員的個人信息頁面、門禁日志頁面等。
3.5 Android移動智能終端門禁應用程序設計
在門禁系統工作過程中,用戶的移動智能終端設備主要完成連接門禁裝置網絡熱點和向門禁服務器發送相應的命令信息,實現注冊和完成開門操作。本系統基于Android系統的移動智能終端設備開發了一個門禁APP應用程序,在整個門禁系統的通信中,用戶的手機作為客戶機,通過使用Java語言結合網絡套接字編程來實現與門禁服務器之間的數據傳遞。程序設計流程圖略——編者注。
按照系統的設計思想,完成了門禁系統的軟硬件設計,門禁系統軟硬件略——編者注。
(1) 門禁Wi-Fi熱點測試
實際測試中,將筆記本電腦連接到門禁裝置Wi-Fi熱點,通過查看無線網絡連接狀態可以得到無線網絡的信號質量、網卡速度,通過Windows內置的“Ping”命令可以測試無線網絡的速度。
在筆記本Windows的DOS下鍵入命令“Ping 192.168.1.10(門禁裝置服務器IP)”,通過“Ping”命令測試得到的無線網絡參數略——編者注。從圖中可以看出發送了4個數據包,接收到的也是4個數據包,所以數據丟失率為0%,數據包環繞航行(發送到接收再到確認)時間最多為6 ms,最少為1 ms,平均用時2 ms,說明網絡質量很好。
(2) 系統穩定性測試
為測試本門禁系統的實用性和穩定性,將其在西南科技大學計算機科學與技術學院部分實驗室投入使用,安裝使用到如今,系統各部分軟硬件運行穩定,而且門禁裝置安裝簡便,用戶也不用配備額外的開門設備,利用自己的移動智能終端設備(如手機)就可以安全開門,因此深得用戶的好評。
基于ARM-Linux的移動智能終端門禁系統,采用ARM-Linux嵌入式平臺,利用無線Wi-Fi通信方式,整合了用戶移動智能終端設備,將門禁數據庫中用戶的基本信息(姓名、性別、ID等)同移動智能終端設備進行綁定,并基于Android的移動智能終端設備開發門禁應用程序實現開門,同時為方便門禁系統的管理,開發了相應的門禁數據WEB管理系統。

[1] 伍銀波,周衛,施金鴻.一種門禁系統設計方案[J].中國教育技術裝備,2012,27(12): 105-108.
[2] 薛琳,魏蘭磊,朱述川.基于GPRS和RFID技術的門禁控制系統[J].計算機技術與應用,2012,38(6):145-148.
[3] 嚴錫君,張騰宇,嚴研.基于ARM的無線門禁控制系統的研究與設計[J].微型電腦應用,2012,28(3):33-5.
[4] 徐勇.基于ARM門禁系統的設計與實現[J].通信技術,2010,10(43):117-119.
[5] 楊文浩,楊罕.交互式實驗室門禁及管理系統的設計與研究[D].長春:吉林大學,2012.
[6] 孫際鵬,將朝根.基于ARM9和嵌入式Linux的門禁系統軟件設計[D].成都:西南交通大學,2012.
[7] II-Kyu Hwang,Jin-Wook Back.Wireless access monitoring and control system based on digital door lock[J].Consummer Electronics,2008:1724-1730.
[8] Song Wei,Li Ming.A wireless access control system based on CDMA and DTMF technologies[C]//Computer Science and Network Technology (ICCSNT),International Conference on,2011.
[9] 哈爾濱工業大學.基于藍牙的門禁系統及門禁控制方法:中國,2013010246771[P].2013-09-11.
[10] 楊萍.基于ARM-Linux的AppWeb+PHP+Sqlite嵌入式Web服務器技術[J].考試周刊,2011,75:159-160.
[11] Jouni Malinen.Hostapd and Wpa_supplicant Introduction[EB/OL].[2014-12]. http://www.w1.fi/.
[12] 劉祥,鄧中亮.SQLite3在基于WinCE平臺的移動智能終端的應用[J].工業控制計算機,2009,22(3):19-20.
[13] SAMSUNG Electronics Inc.S3C6410X RISC Microprocessor User’s Manual[M].Korea: Printed in the Republic of Korea,2009.
趙思蕊(碩士研究生)、楊文超、蔣宏宇,研究方向為嵌入式系統、人機交互;吳亞東(教授),研究方向為圖形圖像處理、人機交互。

Zhao Sirui,Wu Yadong,Yang Wenchao,Jiang Hongyu
(School of Computer Science and Technology,Southwest University of Science and Technology,Mianyang 621010,China)
An access control system of mobile intelligent terminal based on ARM-Linux platform and Wi-Fi communication is designed,which includes access control device and user mobile intelligentx terminal equipment.The access control device uses S3C6410 processor and embedded Linux as the software development platform.Mobile intelligent terminal device is the proof of opening door,mobile intelligent terminal development access APP base on Android,which realizes the functions of user authentication,registration,and opening door.Results of the test indicate that the program design has obvious advantages on security,easy operation and low cost compared with the existing techniques and solutions.
access control system;ARM-Linux;S3C6410;Wi-Fi;mobile intelligentx terminal
四川省科技創新苗子工程資助項目(2014-044),項目名稱為智慧家庭管家。
TP39/TP312
A
士然
2014-12-30)