?

基于ESP32的樓宇智能監控系統設計

2023-05-08 22:00王飛
電腦知識與技術 2023年9期
關鍵詞:遠程控制監控系統

王飛

關鍵詞:ESP32;OV2640;監控系統;遠程控制

0 引言

隨著社會經濟的發展,城鎮化水平進程突飛猛進。建筑技術的成就進一步催化了城鎮化的基建能力,城市面積不斷擴張,各種高樓拔地而起?,F代化的城市中,各種樓宇已經成為人們工作、購物、休閑、娛樂、醫療等各種生活活動的承擔載體[1]。大型樓宇建筑極大地方便了人們的生活,同時也對樓宇的管理工作提出了新的挑戰。傳統的樓宇管理方式需要花費巨大的人力和物力成本,也不能保證樓宇管理的安全性和有效性[1]。

計算機技術和通信技術的發展帶來了現代化的樓宇智能監控系統。智能樓宇監控能利用傳感器技術采集樓宇內現場的實時數據,并將采集的數據傳輸到監控中心和客戶端等模塊?,F代樓宇監控系統在聯動安防中為保障了樓宇建筑的內部安全運行發揮了重要作用[2]。

1 系統方案設計

智能監控系統要實現隨時隨地遠程控制,首先必須在互聯網上建立一個FRP服務器[3]。

1) 使用FRPS服務端和FRPC客戶端對內網中連接的ESP32進行端口映射,使得其在公網環境下能夠訪問搭建在ESP32上的Web服務。并通過Web端進行遠程監控,控制LED照明系統及其他設備[4],并對視頻進行抓拍、保存和分辨率切換等操作以適應網絡變化,從而保證視頻的正常傳輸。

2) 對ESP32硬件進行配置,使得在內網環境下能夠訪問并控制設備。然后對Web服務進行完善,設計相應的人性化操作網頁以適應多端遠程控制的需求[5-6]??蛻舳撕蚖eb服務分別與云端服務器建立好連接后,接下來進行數據發收測試。

3) 客戶端使用按Web頁面的操作按鈕的方式將指令通過網絡通信發送數據到服務器,在服務器接收到來自客戶端發來的數據后,會把接收到的數據再轉發給內網穿透客戶機,再通過內網映射將指令下發給ESP32模塊。ESP32接收數據如果和發送數據一致并且執行相關指令,則通信正常。

4) 將控制狀態傳遞給ESP32,ESP32使用網絡將數據發送到云服務器,云服務器在接收到數據后將數據中繼給客戶端,并在客戶端Web界面上顯示數據。如果所傳送的數據與所收到的數據相符,則證明通信就是正常的。系統總體框圖如圖1所示。

本系統利用云端服務器FRP作為互聯網中間媒介,實現客戶端和ESP32互聯互通,從而完成數據傳輸,遠程監視和控制。

2 系統硬件電路設計

2.1 ESP32-CAM 及其微控制芯片最小系統電路

ESP32-CAM采用5V電源供電,從其8號引腳接入,為降低VCC和GND之間的阻抗,在VCC與GND之間接入0.1uF和10uF的電容,使得VCC接近理想電壓源。其電路原理圖如圖2所示。

設計采用的微控制芯片模塊為ESP32-S模組,其最小系統由供電&復位電路、串口調試電路兩部分組成。

1) 供電&復位電路

將EN端與3.3V高電平相連,當按下開關時EN端接地,可使其正確復位,如圖3所示。

2) 串口調試電路

ESP32-S擁有三組收發數據引腳,為避免被其他外圍設備占用,因此選擇第34引腳RXD0和第35引腳TXD0,如圖4所示。將USB to TTL的RXD和TXD分別與ESP32-S的35腳和34腳相連,并且將GND與第38腳共地。

另由IO0控制其何時執行下載調試操作,當IO0接高電平時芯片正常工作,當IO0引腳處的按鈕被按下,觸發低電平,芯片進入接收數據模式。

2.2 OV2640圖像采集電路

電路由FPC接口、相機驅動電路組成。圖像數據通過連接FPC接口,經相機驅動電路將采集的圖像數據向ESP32-S傳輸[7-8]。

3 系統軟件設計

3.1 視頻傳輸程序

ESP32-S讀取OV2640圖像數據過程:等待第一個VSYNC信號(幀同步),等待第一個HREF信號(行同步)為高電平。然后等待第一個PCLK上升沿信號讀取第一像素的較低字節,第二個上升沿信號讀取第一像素的較高字節,第三個上升沿信號讀取第二像素的較低字節,以此類推,當同步信號HREF變為低電平時讀取完成一行像素數據,而后再等待HREF為高電平讀取第二行像素,如此循環直至收到幀同步信號,一幀圖像傳輸完畢。

系統上電時,使用esp_camera_init()按照給定參數初始化,檢查ESP32和相機狀態,使用空數組接收逐行傳輸的像素數據。等待接收完一幀完整圖片后傳輸該圖片至Web界面并判斷是否有新一幀圖片,計算畫面大小和幀率并輸出到串口,循環執行,如圖7所示。

3.2 視頻分辨率切換程序

當系統上電工作時,Web界面使用給定參數加載界面。若分辨率未作更改時,視頻流按原分辨率傳輸視頻,當檢測到分辨率設定變更就向ESP32發出更改分辨率請求,ESP32響應后作出更改,并使用回調函數返回最新狀態,而后根據status_handler()界面刷新狀態。其如圖8所示。

3.3 使用FRP 配置內網穿透

內網穿透借助FRP在服務器端和路由端配置映射關系,將局域網內的IP地址和端口號映射到公網,實現遠程訪問Web界面。并使用域名解析到指定公網端口,實現遠程域名訪問。其具體配置流程如圖9所示。

4 系統測試與分析

4.1 LED 開關及控制繼電器測試

LED 照明模塊和繼電器模塊分別通過IO4 和IO12引腳與ESP32-S模組連接,在確認電路正確連接后開啟電源,系統上電,程序初始化。當在Web界面分別按下“開燈/關燈”“開機/關機”按鈕時,LED照明正常開啟或關閉、繼電器正常響應開關。圖10為LED照明模塊及繼電器測試結果。

當在Web界面分別按下“開燈/關燈”“開機/關機”按鈕時,燈光正常亮起,“開燈”按鈕狀態改變為“關燈”;繼電器正常閉合通電,“開機”按鈕狀態改變為“關機”。

4.2 視頻流、分辨率切換及抓拍測試

該系統通過OV2640圖像傳感器采集圖像,通過圖傳實現視頻流的發送,OV2640 通過FPC 接口與ESP32-S建立連接。Web界面正常傳輸視頻流,可根據需求更改視頻傳輸分辨率,并可完成抓拍。結果如圖11所示。

觀察串口可查看到視頻流編碼格式、大小、幀率以及平均值信息可知視頻流已經正常傳輸,并在Web界面可以看到視頻流,視頻流及切換分辨率測試結果如圖12所示。

視頻流、分辨率切換測試結果:Web界面正常顯示視頻流,執行切換分辨率操作后可以看到與之前的畫面大小及清晰度有明顯改變。視頻抓拍測試結果:通過點按抓拍按鈕,視頻流停止在當前畫面,并且“抓拍”按鈕變為“視頻”,此時右擊圖片即可選擇保存圖片,測試結果如圖13所示。

4.3 系統重啟測試

系統上電后,Web界面正常加載。測試標準:當在Web界面按下重啟按鈕時,頁面顯示重啟刷新倒計時,ESP-CAM正常重啟,10s后界面刷新。結果如圖14所示。當按下開關時,ESP-CAM正常重啟,Web界面顯示刷新倒計時,如圖15所示,串口監視器顯示其重啟過程。重啟完成后顯示登錄界面。

當Web 界面刷新進入登錄界面,表示ESP32-CAM重啟成功,功能測試完成。

5 結束語

本系統實現了包括網頁端操作,遠程視頻流查看,遠程控制設備,遠程控制LED照明、實時抓拍監控照片并保存,故障重啟等實用功能。在系統設計的過程中,使用了FRP+ESP32的設計模式,將內網和公網使用FRP配置內網穿透來實現公網訪問。本設計的優點就是當公網遭受到網絡攻擊(如:DDOS) 而無法訪問時,仍可以通過內網正常訪問Web服務,從而保證了監控系統的安全性。本系統使用了OV2640作為圖像采集器,確保穩定圖像傳輸的同時,又保證了配置的便捷性。本系統具有極低的成本特性和部署的便捷性,同時具備實用性和經濟性的優點。

猜你喜歡
遠程控制監控系統
基于GSM的遠程控制系統
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合