劉建宏,丁兆碩,楊建旭,余 剛
(1.合肥即理科技有限公司,安徽 合肥 230000;2.安徽南瑞繼遠電網技術有限公司,安徽 合肥 230001)
現代科學技術在不斷進步,傳感器技術日趨成熟,監控系統的功能越來越多,作用也越來越大。當一個區域內布置了監控攝像頭時,安保人員只需通過觀看屏幕就可以通過監控攝像頭監控該區域。合理運用監控系統可預防犯罪的產生,減少大眾對安全問題的憂慮。在日常生活中,監控系統已越來越常見,如今在醫院、學校以及街口等地方都可以看到不同的監控攝像頭發揮不同的作用,監控系統正在為人們的安全做出貢獻[1-3]。
人體紅外感應技術是一種利用感應紅外線進行工作的技術,可以通過溫度的不同來進行人體識別。當探頭接收到人體產生的紅外線時就會向外釋放電荷。如今,人體紅外感應技術多被應用在不同的監控系統中。本文設計的多方位智能監控系統中選擇了HC-SR501這款人體紅外感應模塊,其目標主要是檢測人體,所以對人體產生的紅外輻射相當敏感,此外該模塊還擁有菲涅耳透鏡,通過透鏡人體紅外感應模塊探頭的靈敏度將大幅提升[4]。
隨著科技的發展,在一些復雜的場景下,51單片機的性能已不足以應付?,F在許多公司開發了不同的單片機給人們進行開發應用,而近幾年出現的樹莓派就是其中很重要的一種。它不同于一般的單片機,整合了一臺電腦的大部分東西到一個開發板上,CPU性能也遠超大部分單片機。樹莓派的系統基于Linux,同時擁有視頻輸入輸出接口和網絡接口。隨著樹莓派的更新換代,現在樹莓派也出現了不同的版本,在多方位智能監控系統設計中通過樹莓派控制系統的實時監控進行拍照操作。
Arduino平臺擁有以下兩個特點。一是Arduino IDE可在Windows、Linux以及Macintosh平臺上運行且其系統原理圖、硬件電路圖及核心庫相關文件都可以查看。二是Arduino靈活性高,基于wiring語言開發,經簡單學習可快速進行開發。
OpenCV是一個跨平臺視覺庫,并不像一般計算機的視覺軟件,如MATLAB和Halcon。這種商業軟件需要耗費大量金錢,兼容性較好。
多方位智能監控系統設計的硬件框架如圖1所示。樹莓派和Arduino通過數據線進行連接,樹莓派控制攝像頭模塊的實時監控及拍照保存,Arduino控制人體紅外感應模塊,當攝像頭啟動后會開始錄像。在人體紅外感應模塊感應到人體后將信號傳送到Arduino,然后通過數據線向樹莓派發送數據,樹莓派控制攝像頭拍攝照片并進行保存,同時Arduino上的LED燈會閃爍提醒,此時可通過Arduino控制舵機旋轉控制攝像頭模塊。每過一段時間,人體紅外感應模塊會重復檢測是否出現人體并會再次發送拍攝照片保存命令,而圖片保存時將會獲取當前時間并以當前時間進行命名[5]。

圖1 硬件整體設計框架
2.2.1 人體紅外感應模塊
在多方位智能監控系統設計中,選擇HC-SR501作為本次系統的人體紅外感應模塊。實物如圖2所示,人體紅外感應模塊的感應范圍如圖3所示。

圖2 HC-SR501實物圖

圖3 人體紅外感應模塊的感應范圍
2.2.2 攝像頭模塊
在這次多方位智能監控系統設計中,選擇的攝像頭模塊感光芯片為1/4英寸CMOS,其動態分辨率為1 280×720,通過USB線連接。
2.2.3 舵機模塊
本次多方位智能監控系統設計中舵機的型號為SG90,工作電壓為4.8~6 V,舵機的尺寸為21.5 mm×11.8 mm×22.7 mm。
Arduino控制人體紅外感應模塊與舵機模塊,并和樹莓派搭建通信環境,如果人體紅外感應模塊檢測到有人則通過Arduino發送信號給樹莓派,樹莓派則負責攝像頭模塊的實時監控以及等待接收Arduino發送的信號并獲取當前時間,對拍攝的照片進行命名。
人體紅外感應模塊任務處理流程如圖4所示,攝像頭模塊任務處理流程如圖5所示,舵機模塊任務處理流程如圖6所示。

圖4 人體紅外感應模塊任務模塊處理流程

圖5 攝像頭模塊任務處理流程

圖6 舵機模塊任務處理流程
設計里需要通過樹莓派來控制多方位智能監控系統的攝像頭模塊進行實時監控并拍攝保存照片。樹莓派連接時,如果在Windows系統使用SSH傳輸數據,那么則需要PuTTY,通過網線SSH連接筆記本電腦時,在PuTTY上輸入樹莓派的網絡地址即可,需要注意的是樹莓派需要設置能使用SSH登錄,然后還需要與筆記本電腦連接到同一個網絡[6-9]。
Arduino程序基礎開發流程為新建文件→保存文件→編寫代碼→驗證,編譯(CTRL+R)→選擇開發板型號以及端口→上傳(CTRL+R)。
多方位智能監控系統設計通過搭建樹莓派與Arduino通信環境讓人體紅外感應模塊的信號可以通過串口傳到樹莓派,樹莓派串口接收到信號后可控制攝像頭模塊進行拍攝并保存照片[10]。搭建樹莓派與Arduino通信環境首先需要在樹莓派上安裝RPi.GPIO,在終端輸入sudo apt-get install python-rpi.gpio,如圖7所示。然后驗證是否安裝成功,接著在終端輸入python后再輸入import RPi.GPIO,沒有錯誤提示就表示安裝成功,如圖8所示。

圖7 在樹莓派上安裝RPi.GPIO

圖8 驗證是否安裝成功
一個完整項目的開發,不僅僅要完成硬件整體的開發和軟件的開發,而且還需要詳細測試該項目,確保項目各方面的安全性和穩定性,減少消費者和廠商因為項目出現問題導致不必要的損失。此次測試將會測試以下4個方面。一是攝像頭錄制測試,測試攝像頭模塊是否可以完成實時監控功能,按下Q鍵是否會保存監控視頻并退出監控畫面。二是Arduino的LED燈是否閃爍,同時攝像頭模塊是否將此時的照片進行拍攝并保存。三是舵機旋轉攝像頭測試,測試舵機是否可以控制攝像頭進行旋轉達到多方位智能監控系統設計中可多方位監控的目的。四是整體測試,完整測試整個多方位智能監控系統,檢驗整個系統的穩定性。
現在隨著科技的發展,監控系統可逐漸走向智能化和自動化,越來越多的新型傳感器應用于監控攝像頭。本文的主要工作是完成了多方位智能監控系統設計,通過使用舵機來做到多方位監控,使用人體紅外感應模塊來監控一個區域,通過自動保存圖片在需要查看監控的時候可以快速找到所需要的視頻片段。