引言
隨著社會經濟的快速發展,人們對室內人身財產安全要求越來越高,門禁系統作為智能建筑安防自動化體系中必不可少的一部分[1],發揮著極其重要的作用。當前常見的門禁系統包括:密碼鎖門禁系統、感應式IC卡門禁系統、基于電話短信方式的門禁系統以及生物特征識別門禁系統等。
隨著科技的不斷進步和人們生活水平的不斷提高,移動智能終端越來越普及,包括智能手機、平板電腦等。為此,本文研究設計了一種基于嵌入式ARMLinux平臺,并將用戶已有的移動智能終端設備作為用戶身份憑證的無線WiFi門禁系統。
1門禁系統總體結構
移動智能終端門禁系統主要由移動智能終端、門禁裝置、控制部件(電鎖)和PC終端組成。系統總體拓撲示意圖如圖1所示。
根據門禁系統的實際需求,系統每個部分的構成和功能略——編者注。
2系統硬件設計
門禁系統的硬件主要由門禁裝置構成。門禁裝置硬件采用S3C6410核心板,外圍搭建相應功能的模塊電路,包括無線WiFi模塊、以太網模塊、繼電器控制模塊和門禁UPS電源模塊,外部接口主要有UART異步串口、10/100M網絡接口、USB接口。系統硬件組成框圖如圖2所示。
(1) S3C6410核心板
核心板采用三星公司S3C6410核心處理器,該處理器是一款基于ARM11內核的低功耗、高性價比的RSIC處理器。
(2)無線WiFi模塊
本系統的無線WiFi模塊采用了騰達公司的150M高速無線USB網卡,該網卡采用RT3070網卡芯片,其與核心板之間主要通過USB接口來實現協議和數據交換,無線WiFi模塊的接口電路按照相關協議進行設計。
(3) UPS電源模塊
電源模塊是整個系統的能源動力機構,所以良好的電源供給是系統穩定運行的前提,本系統電源主要有12 V、5 V和3.3 V三種,為了使門禁裝置在意外掉電后仍能正常工作,針對門禁系統的前級12 V電源模塊采用UPS技術進行設計。其設計電路圖如圖3所示。
(4) 繼電器控制模塊
房門的控制信號是簡單的開關量信號,所以本系統采用控制器輸出I/O信號驅動繼電器實現開門。為保障房門不受單一I/O口信號的誤動作被打開,開門使能信號采用兩個I/O輸出不同電平(一高一低),經過同或門CD4077才能驅動硬件裝置板上的光耦隔離開關,從而控制電鎖開門。繼電器控制模塊電路如圖4所示。
3系統軟件設計
系統軟件主要由門禁裝置服務器軟件和用戶移動智能終端門禁APP兩個部分組成。其中門禁裝置服務器軟件平臺采用嵌入式Linux系統,內核版本為3.0.1,具有體積小、效率高、網絡功能穩定的特性,同時Linux平臺上很多開源軟件支持移植和二次開發。門禁裝置服務器軟件包括:無線WiFi熱點的開發、門禁數據庫設計、后臺服務器程序設計以及門禁WEB數據管理系統設計。而用戶移動智能終端軟件主要是基于Android系統的智能終端設備開發門禁應用程序。
3.1無線WiFi熱點開發
門禁裝置作為門禁系統的服務器,需要實現無線路由的基本功能,為客戶機移動智能終端提供穩定的網絡熱點。本系統開發的WiFi熱點不受外部網絡的影響,采用無線USB網卡實現,讓無線網卡工作在Master模式下,使門禁裝置成為無線接入點AP,提供無線接入服務和路由功能。門禁裝置無線WiFi熱點的開發主要包括:網卡驅動移植、網絡熱點認證服務器軟件HOSTAP的移植、動態分配IP協議服務器軟件DHCP的移植,具體過程略——編者注。其中對應的驅動源碼包都可利用網絡資源獲取。
3.2門禁數據庫的設計
3.2.1移植嵌入式數據庫SQLite3
要在門禁Linux系統下建立門禁數據庫,需要嵌入式數據庫的支持。數據庫SQLite是一款基于嵌入式平臺開發的輕型數據庫,在很多嵌入式產品中都使用了SQLite數據庫。它占用資源非常少,在嵌入式設備中可能只需要幾百K的內存就夠了[10],支持Windows/Linux/Unix等操作系統,并且能夠和很多程序語言相結合,比如TCL、C#、PHP、Java等;且有ODBC接口,比起MySQL、PostgreSQL這兩款數據庫管理系統,它的處理速度更快[12]。本系統開發采用的是SQLite3數據庫。
3.2.2設計門禁數據庫
門禁數據庫主要是用來存儲門禁用戶基本信息、移動智能終端設備信息和門禁日志的,根據實際需求,在門禁數據庫中,對應的實體有:用戶實體、移動智能終端設備實體、系統配置信息實體、日志實體。設計的門禁系統數據庫的ER圖如圖5所示。
根據數據庫的需求分析和ER圖,利用SQLIT3建立數據庫文件存儲門禁系統的基本信息,使用SQL語句建立4個表:用戶基本信息表、移動智能終端設備信息表、門禁系統功能信息表、門禁日志基本信息表。
3.3門禁后臺服務器程序設計
門禁后臺服務器程序主要完成以下方面的功能:接受
用戶移動智能終端設備的連接請求、獲取智能終端設備的MAC地址和MEID移動設備識別碼、獲取用戶發送的字符串信息(“動作命令#房門標簽#設備MAC+MEID地址#設備類型”)、提取和分割字符串信息、進行數據庫查詢用戶權限信息、進行用戶設備注冊、寫門禁日志記錄和發送開門信號等。
本門禁系統后臺服務器程序的開發主要采用基于Linux系統C++的Socket網絡編程,服務器監聽端口為5 000,由于門禁服務器在同一時刻需要接收多個客戶機的服務請求,所以采用Linux多線程編程技術解決多用戶、多任務的需求。門禁后臺服務器程序流程圖略——編者注。
3.4門禁WEB數據管理系統設計
為了節約成本和降低系統功耗,門禁裝置沒有開發相應的顯示器,而是在其ARMLinux平臺上搭建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.5Android移動智能終端門禁應用程序設計
在門禁系統工作過程中,用戶的移動智能終端設備主要完成連接門禁裝置網絡熱點和向門禁服務器發送相應的命令信息,實現注冊和完成開門操作。本系統基于Android系統的移動智能終端設備開發了一個門禁APP應用程序,在整個門禁系統的通信中,用戶的手機作為客戶機,通過使用Java語言結合網絡套接字編程來實現與門禁服務器之間的數據傳遞。程序設計流程圖略——編者注。
4系統測試
按照系統的設計思想,完成了門禁系統的軟硬件設計,門禁系統軟硬件略——編者注。
(1) 門禁WiFi熱點測試
實際測試中,將筆記本電腦連接到門禁裝置WiFi熱點,通過查看無線網絡連接狀態可以得到無線網絡的信號質量、網卡速度,通過Windows內置的“Ping”命令可以測試無線網絡的速度。
在筆記本Windows的DOS下鍵入命令“Ping 192.168.1.10(門禁裝置服務器IP)”,通過“Ping”命令測試得到的無線網絡參數略——編者注。從圖中可以看出發送了4個數據包,接收到的也是4個數據包,所以數據丟失率為0%,數據包環繞航行(發送到接收再到確認)時間最多為6 ms,最少為1 ms,平均用時2 ms,說明網絡質量很好。
(2) 系統穩定性測試
為測試本門禁系統的實用性和穩定性,將其在西南科技大學計算機科學與技術學院部分實驗室投入使用,安裝使用到如今,系統各部分軟硬件運行穩定,而且門禁裝置安裝簡便,用戶也不用配備額外的開門設備,利用自己的移動智能終端設備(如手機)就可以安全開門,因此深得用戶的好評。
結語
基于ARMLinux的移動智能終端門禁系統,采用ARMLinux嵌入式平臺,利用無線WiFi通信方式,整合了用戶移動智能終端設備,將門禁數據庫中用戶的基本信息(姓名、性別、ID等)同移動智能終端設備進行綁定,并基于Android的移動智能終端設備開發門禁應用程序實現開門,同時為方便門禁系統的管理,開發了相應的門禁數據WEB管理系統。
上一篇:初學者如何選擇ARM開發硬件?
下一篇:一種基于ARM的多參數實時監護系統設計
推薦閱讀
史海拾趣
對于聽音耳機電路,網友可能的問題涉及多個方面,以下是一些常見問題及相應的回答:
一、技術性問題
- 耳機電路的工作原理是什么?
- 回答:耳機電路主要通過音頻信號放大器將音頻設備(如手機、電腦等)輸出的微弱電信號放大,然后驅動耳機的驅動單元(揚聲器)產生聲音。這個過程中,耳機電路還負責音頻信號的傳輸和轉換,確保音質清晰、音量適中。
- 為什么耳機電路會出現雜音或失真?
- 回答:耳機電路出現雜音或失真的原因可能有很多,包括電路接觸不良、線路老化、驅動單元故障、音頻信號源問題等。此外,電磁干擾、設備不兼容等也可能導致音質問題。解決這類問題通常需要檢查電路連接、更換損壞部件或調整設備設置。
- 如何判斷耳機電路是否損壞?
- 回答:判斷耳機電路是否損壞可以通過以下方法:首先,檢查耳機是否能正常發聲,如果無聲或聲音異常,可能是電路問題;其次,使用萬用表等工具檢測電路中的電阻、電壓等參數是否正常;最后,可以嘗試將耳機連接到其他音頻設備上進行測試,以排除設備問題。
二、維護與保養
- 如何保養耳機電路以延長使用壽命?
- 回答:保養耳機電路的關鍵在于避免潮濕、防止碰撞和摔落,并定期清潔。使用時應注意避免拉扯耳機線,以免損壞內部電路。此外,在不使用耳機時,應將其存放在干燥、通風的地方,避免陽光直射和高溫環境。定期使用軟布輕輕擦拭耳機表面和插頭,可以去除污垢和灰塵,保持電路清潔。
- 耳機電路進水了怎么辦?
- 回答:如果耳機電路進水,應立即停止使用并切斷電源。然后,使用干燥的軟布或紙巾輕輕擦拭耳機表面和插頭上的水分。如果條件允許,可以將耳機放在通風良好的地方自然晾干,避免使用吹風機等熱源直接吹干,以免損壞電路。如果進水情況嚴重或無法自行處理,建議送往專業維修中心進行檢修。
三、升級與改造
- 如何升級耳機電路以提升音質?
- 回答:升級耳機電路以提升音質需要一定的專業知識和技術。一般來說,可以通過更換更高品質的音頻信號放大器、使用更優質的線路材料、優化電路設計等方式來實現。然而,這些操作可能比較復雜且存在風險,如果不熟悉相關技術,建議尋求專業人員的幫助。
- 是否可以自己動手改造耳機電路?
- 回答:雖然理論上可以自己動手改造耳機電路,但這需要具備較高的電子技術和動手能力。如果操作不當,可能會導致電路損壞甚至耳機報廢。因此,在沒有足夠經驗和專業知識的情況下,不建議自己嘗試改造耳機電路。
綜上所述,針對聽音耳機電路的問題,網友可能關心的方面包括技術性問題、維護與保養以及升級與改造等。在解決這些問題時,應根據具體情況采取相應的措施和方法。
屹晶微的創始人黃米龍,原本在發電廠從事電氣運營工作長達八年。這段經歷讓他對電子領域有了深入的了解和濃厚的興趣。然而,他并沒有滿足于現狀,而是看到了中國芯片產業的巨大潛力和發展空間。于是,在2007年,他毅然決定從發電廠辭職,利用自己的積蓄和借來的資金,在臺州創立了屹晶微電子有限公司。
在創立初期,屹晶微面臨著資金短缺、技術落后和市場競爭激烈的困境。但黃米龍憑借對電子行業的深刻理解和堅定的信念,帶領團隊克服了種種困難。他們不斷引進先進技術和設備,加強研發力量,提升產品質量。經過幾年的努力,屹晶微逐漸在芯片設計領域嶄露頭角,并成功推出了多款具有自主知識產權的芯片產品。
在電子行業中,質量始終是客戶最關心的問題之一。Ferroxcube公司深知這一點,因此在生產過程中嚴格控制產品質量,確保每一個出廠的產品都符合甚至超過客戶的期望。
有一次,一個大型電子設備制造商向Ferroxcube下了一筆大額訂單,要求提供一批高性能的磁環。然而,在生產過程中,質檢部門發現其中一部分磁環的性能指標略低于標準要求。雖然這批產品仍然符合市場上的大部分需求,但Ferroxcube公司決定全部返工,確保每一件產品都達到最高標準。
這一舉動雖然增加了公司的生產成本,但卻贏得了客戶的極高評價。那家大型電子設備制造商對Ferroxcube的嚴謹態度和專業精神表示贊賞,并將Ferroxcube列為了其首選供應商之一。此后,雙方的合作更加緊密,共同開發了許多創新的電子產品。
隨著產品質量的不斷提升和市場口碑的積累,CAMDENBOSS公司開始積極拓展國際市場。公司與國際知名電子企業建立了緊密的合作關系,共同推動電子連接器技術的全球化發展。通過參與國際展會、建立海外分支機構等方式,公司逐步打開了國際市場的大門,產品遠銷至全球多個國家和地區。
隨著環保意識的日益增強,CAMDENBOSS公司積極響應全球綠色生產的號召。公司投入大量資源研發環保型電子連接器產品,采用環保材料和工藝,降低生產過程中的能耗和排放。同時,公司還加強了廢棄物的回收和處理工作,實現了資源的循環利用和減少對環境的影響。
在快速發展的同時,CAMDENBOSS公司始終注重品質管理。公司建立了嚴格的質量管理體系,從原材料采購到產品生產的每一個環節都進行嚴格把控。此外,公司還積極引進先進的生產設備和技術,不斷提升生產效率和產品質量。通過持續改進和優化,公司確保了產品品質的穩定性和可靠性。
在單PowerPC(CK5)上 做了PCI采集系統 DMA傳輸成功 但在4 powerpc(DY4)主板上 DMA傳輸不成功 是什么原因 ???DMA 的主從設置問題嗎????… 查看全部問答∨ |
各位大俠。快點救救小弟啊·! 非常謝謝啊!!!!關于紅外線的 我用89c51解碼。顯示到1602上去 但是解碼的過程中,顯示code一直改變一定時間后不變 為什么呢。能不能按下按鍵。就能在段時間內讀出code并且不做改變 紅外線遙控器的按鍵是不是不能一直按著的。 謝謝大家了,比較急 … 查看全部問答∨ |
void TIM2_INIT(void) { TIM2_PSCR = 2; /*2分頻得到1MHZ的定時器時鐘,定時器加1就是1us*/ TIM2_ARRH = 0x27; /*50ms中斷一次*/ TIM2_ARRL = 0x10; TIM2_IER = 0x01; /*更新中斷使能*/ TIM2_CR1 = 0x81; /*使能計數器*/ } ...… 查看全部問答∨ |
|
28335調試程序,編譯沒問題,就是在load program后,出現如下情況: NOTES: Gel will enable XINTFx16 during Debug only. Enable XINTF in code prior to use. FPU Registers can be found via GEL->Watch FPU Registers. 程序沒有加載進去, ...… 查看全部問答∨ |
|
1.把光標放在需要跳轉函數的前面。記住不要選中函數!!!!2.右鍵→點擊即可跳轉!我找了好長時間,軟件安裝和卸載數次。也是剛剛學習,請給與批評!謝謝http://blog.sina.com.cn/swq102 … 查看全部問答∨ |
如題目,我用allegro的時候元件的引腳有相同名稱,有多個GND,然后會報錯,有什么處理辦法嗎?除了把GND名稱改成GND1,GND2。。。這樣的不同的進行區分開的。。我看有的人用的allegro引腳名稱一樣的可以正常使用啊~比如這個: … 查看全部問答∨ |
用W5500+STM32+DHT12做的溫濕度控制,可用微信或者網頁控制 本帖最后由 l1234564555 于 2016-7-9 09:13 編輯 板子就是這個樣子的,有原理圖和keil4源碼,dht12是第二代,精度比一代高 之前用的是ENC28J60做的開源單片機聯網協議棧FuIP。最近用的w5 ...… 查看全部問答∨ |
第一本MicroPython書籍即將在亞馬遜上開售 https://www.amazon.com/Python-Microcontrollers-Getting-Started-MicroPython/dp/1259644537/ 《立即用MicroPython建立和編輯自己的電子項目》 這本實用的指南介紹了用micropython在開源硬件平臺p ...… 查看全部問答∨ |