王飛



關鍵詞:ESP32;OV2640;監(jiān)控系統(tǒng);遠程控制
0 引言
隨著社會經(jīng)濟的發(fā)展,城鎮(zhèn)化水平進程突飛猛進。建筑技術的成就進一步催化了城鎮(zhèn)化的基建能力,城市面積不斷擴張,各種高樓拔地而起。現(xiàn)代化的城市中,各種樓宇已經(jīng)成為人們工作、購物、休閑、娛樂、醫(yī)療等各種生活活動的承擔載體[1]。大型樓宇建筑極大地方便了人們的生活,同時也對樓宇的管理工作提出了新的挑戰(zhàn)。傳統(tǒng)的樓宇管理方式需要花費巨大的人力和物力成本,也不能保證樓宇管理的安全性和有效性[1]。
計算機技術和通信技術的發(fā)展帶來了現(xiàn)代化的樓宇智能監(jiān)控系統(tǒng)。智能樓宇監(jiān)控能利用傳感器技術采集樓宇內(nèi)現(xiàn)場的實時數(shù)據(jù),并將采集的數(shù)據(jù)傳輸?shù)奖O(jiān)控中心和客戶端等模塊。現(xiàn)代樓宇監(jiān)控系統(tǒng)在聯(lián)動安防中為保障了樓宇建筑的內(nèi)部安全運行發(fā)揮了重要作用[2]。
1 系統(tǒng)方案設計
智能監(jiān)控系統(tǒng)要實現(xiàn)隨時隨地遠程控制,首先必須在互聯(lián)網(wǎng)上建立一個FRP服務器[3]。
1) 使用FRPS服務端和FRPC客戶端對內(nèi)網(wǎng)中連接的ESP32進行端口映射,使得其在公網(wǎng)環(huán)境下能夠訪問搭建在ESP32上的Web服務。并通過Web端進行遠程監(jiān)控,控制LED照明系統(tǒng)及其他設備[4],并對視頻進行抓拍、保存和分辨率切換等操作以適應網(wǎng)絡變化,從而保證視頻的正常傳輸。
2) 對ESP32硬件進行配置,使得在內(nèi)網(wǎng)環(huán)境下能夠訪問并控制設備。然后對Web服務進行完善,設計相應的人性化操作網(wǎng)頁以適應多端遠程控制的需求[5-6]。客戶端和Web服務分別與云端服務器建立好連接后,接下來進行數(shù)據(jù)發(fā)收測試。
3) 客戶端使用按Web頁面的操作按鈕的方式將指令通過網(wǎng)絡通信發(fā)送數(shù)據(jù)到服務器,在服務器接收到來自客戶端發(fā)來的數(shù)據(jù)后,會把接收到的數(shù)據(jù)再轉(zhuǎn)發(fā)給內(nèi)網(wǎng)穿透客戶機,再通過內(nèi)網(wǎng)映射將指令下發(fā)給ESP32模塊。ESP32接收數(shù)據(jù)如果和發(fā)送數(shù)據(jù)一致并且執(zhí)行相關指令,則通信正常。
4) 將控制狀態(tài)傳遞給ESP32,ESP32使用網(wǎng)絡將數(shù)據(jù)發(fā)送到云服務器,云服務器在接收到數(shù)據(jù)后將數(shù)據(jù)中繼給客戶端,并在客戶端Web界面上顯示數(shù)據(jù)。如果所傳送的數(shù)據(jù)與所收到的數(shù)據(jù)相符,則證明通信就是正常的。系統(tǒng)總體框圖如圖1所示。
本系統(tǒng)利用云端服務器FRP作為互聯(lián)網(wǎng)中間媒介,實現(xiàn)客戶端和ESP32互聯(lián)互通,從而完成數(shù)據(jù)傳輸,遠程監(jiān)視和控制。
2 系統(tǒng)硬件電路設計
2.1 ESP32-CAM 及其微控制芯片最小系統(tǒng)電路
ESP32-CAM采用5V電源供電,從其8號引腳接入,為降低VCC和GND之間的阻抗,在VCC與GND之間接入0.1uF和10uF的電容,使得VCC接近理想電壓源。其電路原理圖如圖2所示。
設計采用的微控制芯片模塊為ESP32-S模組,其最小系統(tǒng)由供電&復位電路、串口調(diào)試電路兩部分組成。
1) 供電&復位電路
將EN端與3.3V高電平相連,當按下開關時EN端接地,可使其正確復位,如圖3所示。
2) 串口調(diào)試電路
ESP32-S擁有三組收發(fā)數(shù)據(jù)引腳,為避免被其他外圍設備占用,因此選擇第34引腳RXD0和第35引腳TXD0,如圖4所示。將USB to TTL的RXD和TXD分別與ESP32-S的35腳和34腳相連,并且將GND與第38腳共地。
另由IO0控制其何時執(zhí)行下載調(diào)試操作,當IO0接高電平時芯片正常工作,當IO0引腳處的按鈕被按下,觸發(fā)低電平,芯片進入接收數(shù)據(jù)模式。
2.2 OV2640圖像采集電路
電路由FPC接口、相機驅(qū)動電路組成。圖像數(shù)據(jù)通過連接FPC接口,經(jīng)相機驅(qū)動電路將采集的圖像數(shù)據(jù)向ESP32-S傳輸[7-8]。
3 系統(tǒng)軟件設計
3.1 視頻傳輸程序
ESP32-S讀取OV2640圖像數(shù)據(jù)過程:等待第一個VSYNC信號(幀同步),等待第一個HREF信號(行同步)為高電平。然后等待第一個PCLK上升沿信號讀取第一像素的較低字節(jié),第二個上升沿信號讀取第一像素的較高字節(jié),第三個上升沿信號讀取第二像素的較低字節(jié),以此類推,當同步信號HREF變?yōu)榈碗娖綍r讀取完成一行像素數(shù)據(jù),而后再等待HREF為高電平讀取第二行像素,如此循環(huán)直至收到幀同步信號,一幀圖像傳輸完畢。
系統(tǒng)上電時,使用esp_camera_init()按照給定參數(shù)初始化,檢查ESP32和相機狀態(tài),使用空數(shù)組接收逐行傳輸?shù)南袼財?shù)據(jù)。等待接收完一幀完整圖片后傳輸該圖片至Web界面并判斷是否有新一幀圖片,計算畫面大小和幀率并輸出到串口,循環(huán)執(zhí)行,如圖7所示。
3.2 視頻分辨率切換程序
當系統(tǒng)上電工作時,Web界面使用給定參數(shù)加載界面。若分辨率未作更改時,視頻流按原分辨率傳輸視頻,當檢測到分辨率設定變更就向ESP32發(fā)出更改分辨率請求,ESP32響應后作出更改,并使用回調(diào)函數(shù)返回最新狀態(tài),而后根據(jù)status_handler()界面刷新狀態(tài)。其如圖8所示。
3.3 使用FRP 配置內(nèi)網(wǎng)穿透
內(nèi)網(wǎng)穿透借助FRP在服務器端和路由端配置映射關系,將局域網(wǎng)內(nèi)的IP地址和端口號映射到公網(wǎng),實現(xiàn)遠程訪問Web界面。并使用域名解析到指定公網(wǎng)端口,實現(xiàn)遠程域名訪問。其具體配置流程如圖9所示。
4 系統(tǒng)測試與分析
4.1 LED 開關及控制繼電器測試
LED 照明模塊和繼電器模塊分別通過IO4 和IO12引腳與ESP32-S模組連接,在確認電路正確連接后開啟電源,系統(tǒng)上電,程序初始化。當在Web界面分別按下“開燈/關燈”“開機/關機”按鈕時,LED照明正常開啟或關閉、繼電器正常響應開關。圖10為LED照明模塊及繼電器測試結果。
當在Web界面分別按下“開燈/關燈”“開機/關機”按鈕時,燈光正常亮起,“開燈”按鈕狀態(tài)改變?yōu)椤瓣P燈”;繼電器正常閉合通電,“開機”按鈕狀態(tài)改變?yōu)椤瓣P機”。
4.2 視頻流、分辨率切換及抓拍測試
該系統(tǒng)通過OV2640圖像傳感器采集圖像,通過圖傳實現(xiàn)視頻流的發(fā)送,OV2640 通過FPC 接口與ESP32-S建立連接。Web界面正常傳輸視頻流,可根據(jù)需求更改視頻傳輸分辨率,并可完成抓拍。結果如圖11所示。
觀察串口可查看到視頻流編碼格式、大小、幀率以及平均值信息可知視頻流已經(jīng)正常傳輸,并在Web界面可以看到視頻流,視頻流及切換分辨率測試結果如圖12所示。
視頻流、分辨率切換測試結果:Web界面正常顯示視頻流,執(zhí)行切換分辨率操作后可以看到與之前的畫面大小及清晰度有明顯改變。視頻抓拍測試結果:通過點按抓拍按鈕,視頻流停止在當前畫面,并且“抓拍”按鈕變?yōu)椤耙曨l”,此時右擊圖片即可選擇保存圖片,測試結果如圖13所示。
4.3 系統(tǒng)重啟測試
系統(tǒng)上電后,Web界面正常加載。測試標準:當在Web界面按下重啟按鈕時,頁面顯示重啟刷新倒計時,ESP-CAM正常重啟,10s后界面刷新。結果如圖14所示。當按下開關時,ESP-CAM正常重啟,Web界面顯示刷新倒計時,如圖15所示,串口監(jiān)視器顯示其重啟過程。重啟完成后顯示登錄界面。
當Web 界面刷新進入登錄界面,表示ESP32-CAM重啟成功,功能測試完成。
5 結束語
本系統(tǒng)實現(xiàn)了包括網(wǎng)頁端操作,遠程視頻流查看,遠程控制設備,遠程控制LED照明、實時抓拍監(jiān)控照片并保存,故障重啟等實用功能。在系統(tǒng)設計的過程中,使用了FRP+ESP32的設計模式,將內(nèi)網(wǎng)和公網(wǎng)使用FRP配置內(nèi)網(wǎng)穿透來實現(xiàn)公網(wǎng)訪問。本設計的優(yōu)點就是當公網(wǎng)遭受到網(wǎng)絡攻擊(如:DDOS) 而無法訪問時,仍可以通過內(nèi)網(wǎng)正常訪問Web服務,從而保證了監(jiān)控系統(tǒng)的安全性。本系統(tǒng)使用了OV2640作為圖像采集器,確保穩(wěn)定圖像傳輸?shù)耐瑫r,又保證了配置的便捷性。本系統(tǒng)具有極低的成本特性和部署的便捷性,同時具備實用性和經(jīng)濟性的優(yōu)點。