朱新波
摘要:隨著物聯網技術的發展,會議室門禁控制系統也正逐步走向智能化,并得到越來越多的應用。本文結合智能手機和會議室門禁的特點設計了一種智能門禁控制系統,采用單片機和圖像識別技術,以二維碼作為身份識別方式,設計并實現了門禁的智能控制,經試驗,系統工作穩定。本方案不僅簡化了會議室的申請和審批流程,而且智能化的方案減少了人工管理成本,進一步規范了會議室資源的調度和使用,有效地提高了會議室的使用效率。
關鍵詞:智能門禁;openmv;會議室管理
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2019)09-0129-03
Abstract: With the development of Internet of Things technology, the access control system of meeting rooms is gradually moving towards intellectualization, and also has been applied widely. This paper designs an intelligent access control system based on smart phone and modern access control. The intelligent control system is designed and realized by using MCU and image recognition technology. The system works steadily, experiments shows that it can identify users and control the gate with high efficiency. This design not only simplifies the application and approval process of conference room management, reduces the cost of manual management through intelligent scheme, but also further standardizes the schedule of meeting management booking process.
Key words: intelligent access control; openmv; meeting room management
1引言
隨著科技的進步和社會的發展,門禁系統也在朝著自動化、信息化和智能化的方向發展,尤其是伴隨著物聯網技術的應用,門禁的應用方式也從單一的刷卡門禁過渡到到現在的RFID識別、人臉識別等科技含量越來越高的形式,同時人們對其安全性和便攜性的要求越來越高,隨著智能手機的普及,人們越來越希望將這兩者結合,因此本文設計了一種綜合智能門禁系統,該系統結合了智能手機的便利性,運用智能圖像處理技術,實現對門禁的智能化管理,特別適合應用在學校、辦公室等智能自動控制的場所。
2系統方案設計
基于openmv的智能門禁控制系統由前端子系統和后端服務器兩部分組成。前端子系統實現信息采集及身份識別后的控制和聲光報警處理,后端系統實現二維碼申請、門禁資源預約等功能,前端系統和后端系統通過無線網絡連接。系統框架如圖1所示:
用戶根據需要,預先使用手機app申請會議室預約管理系統,選擇對應的會議室并填寫使用時間段,申請成功之后生成對應的二維碼。
當預約時間到,用戶持二維碼,經openmv攝像頭模塊掃描,讀取并解析該二維碼信息,判別是否為合法的申請,如果為合法用戶則通過繼電器控制門鎖打開,并發出聲光提示;當判別是非法二維碼,則通過LCD發出告警信息;當用戶在使用會議室超時后,系統亦會發出超時告警提示。
3控制系統開發
3.1 OpenMV模塊
OpenMV是一個開源,低成本,功能強大的機器視覺模塊,以STM32F427CPU為核心,可以通過UART,I2C,SPI及GPIO等接口與其他的硬件通信, OpenMV提供了豐富的機器視覺開發模塊,集成了OV7725攝像頭芯片,在小巧的硬件模塊上,用C語言高效地實現了核心機器視覺算法,并提供API,編程的便利化使得用戶可以用Python語言開發機器視覺功能。
OpenMV提供眾的開源硬件擴展模塊,使開發者可用集中精力在軟件和算法本身,本系統使用的LCD和繼電器耦合電路均使用成熟的擴展模塊:
3.2 Micro Python語言
MicroPython是可以運行在單片機上的Python,語法跟Python3基本一致,擁有自家的解析器、編譯器、 虛擬機和類庫等,目前支持基于32-bit的ARM處理器,其優化了在微處理器和受限環境中的運行。借助MicroPython,用戶可以通過Python腳本語言來實現對硬件底層的訪問和控制,例如對LED、LCD和IO外設的控制。
3.3 二維碼
二維碼又稱二維條碼,是用某種特定的幾何圖形按一定規律在平面(二維方向上)分布的黑白相間的圖形記錄數據符號的信息;利用構成計算機內部邏輯基礎的“0”“1”比特流的概念,使用若干個與二進制相對應的幾何形體來表示文字數值信息,通過圖像輸入設備或光電掃描設備自動識讀以實現信息自動處理,每種碼制有其特定的字符集,每個字符占有一定的寬度,具有一定的校驗功能等。同時還具有對不同行的信息自動識別功能及處理圖形旋轉變化點。
常見的二維碼為QR(Quick Response)Code,是一個近幾年來移動設備上超流行的一種編碼方式,它比傳統的Bar Code條形碼能存更多的信息,也能表示更多的數據類型,為方便使用,本系統支持QR Code二維碼和Barcode條形碼。
4系統程序設計
4.1 前端子系統軟件開發
前端單片機程序采用的是Micro Python語言,采用中斷方式,接受輸入信號并輸入進行攝像頭掃描和處理。
4.1.1主程序設計
系統軟件采用模塊化結構,主程序由攝像頭掃描程序、二維碼識別程序、控制程序和顯示程序組成,主程序流程如下圖所示:
4.1.2 二維碼識別程序設計
系統開機啟動,即完成對攝像頭、LCD的初始化,之后啟動掃描任務,當用戶手持二維碼靠近openmv攝像頭并完成掃描之后,系統調用函數對掃描到的二維碼進行識別。程序首先調用函數查找是否為支持的二維碼類型,如果是,即啟動對應的解析函數,解析函數的主要任務是解析二維碼中的type、payload信息,并將解析的信息發送給鎖控制函數,流程圖如下:
4.1.3鎖控制軟件設計
鎖控制函數的主要任務是,根據收到的二維碼信息,匹配當前的系統時間,以及該會議室狀態,以此來判別是否滿足開啟門鎖的條件,如果滿足則發信號給繼電器以完成開鎖,否則顯示警告。同時在開鎖完成之后系統即啟動定時,并在預約時間到即發出“使用時間到”的警示信息。
4.2 后端二維碼生成器軟件開發
后端服務器的會議室預約和二維碼生成部分,采用JAVA工具zxing工程,生成Jar包之后添加到工程中,利用matrixToImageWriter進行輔助開發,并利用QRCodeFactory進行二維碼參數設定,生成需要的結果。
4.3實驗結果及分析
系統采用openmv IDE集成開發環境和Micro python語言進行開發。在實驗測試中,只要正確控制攝像頭并保持合理焦距,系統就能正確識別二維碼并可靠的控制繼電器,系統識別結果如下圖所示:
5結語
本文介紹了一種基于物聯網和圖像處理技術的智能門禁控制系統,采用STM32處理器作為總控制器,通過openmv采集二維碼圖像,使用LCD和蜂鳴器來顯示信息和聲音提示。前端系統開發采用成熟的Python語言和其強大的庫函數,為了便于擴展,軟件設計采用模塊化結構,使得程序設計的邏輯簡潔,實現了利用二維碼識別控制門禁的目的,經過實際測試,系統運行穩定,可靠性高,隨著智能手機的廣泛使用,本方案使得會議室門禁系統操作簡單,且成本低廉,適合于高校、企事業單位等需要會議室管理的機構普遍推廣和應用。
參考文獻:
[1] 李勇.基于RFID與人臉識別技術的智能門禁系統研究與設計[D].重慶:重慶大學,2009.
[2] 亓相濤,李黛月.基于無線通信與生物識別技術的智能控制系統設計[J].網絡與通信技術,2018(23).
[3] 魏亮.基于人臉識別技術的高校學生公寓門禁系統設計與開發[J].中小企業管理與科技,2013(7).
[4] 吳愛萍,熊超,衛俊 等.基于ARM的RFID門禁控制系統的設計[J].現代電子技術,2013(36).
[5] 張彌左等.微型計算機接口技術[M].北京:機械工業出版社,2004(8).
[6] 邵子揚. MicroPython入門指南[M].北京:電子工業出版社出版,2018(1).
【通聯編輯:梁書】