摘" 要:在物聯(lián)網融入人們生活的時代下,對自家物品的保護成了人民越來越關心的話題。而目前使用較為廣泛的專業(yè)監(jiān)控,已不能滿足當前人們的需求。因此設計一種基于ESP32的家庭智能監(jiān)控系統(tǒng),采用低功耗MQTT協(xié)議無線通信,通過上位機控制智能監(jiān)控組網和執(zhí)行拍照,將監(jiān)控工作智能化,能為人民生活帶來便利,具有良好的發(fā)展前景。
關鍵詞:家庭監(jiān)控;MQTT協(xié)議;HTTP協(xié)議
中圖分類號:TP277" 文獻標識碼:A" 文章編號:2096-4706(2024)11-0182-05
Home Intelligent Monitoring System Based on ESP32
TANG Shaoxun, LIU Erjian
(School of Electronic Engineering and Automation, Guilin University of Electronic Technology, Guilin" 541004, China)
Abstract: In the era of integrating the Internet of Things into people's lives, the protection of one's own belongings has become a topic of increasing concern for the people. However, the widely used professional monitoring currently cannot meet people's needs. Therefore, a home intelligent monitoring system based on ESP32 is designed, which adopts low-power MQTT protocol wireless communication. By controlling the intelligent monitoring networking and taking photos through the upper computer, the monitoring work can be intelligentized, which can bring convenience to people's lives and has a good development prospect.
Keywords: home monitoring; MQTT protocol; HTTP protocol
0" 引" 言
近年來,隨著人們生活水平的逐漸提高,對自家物品的保護成了人民越來越關心的話題。長期以來,專業(yè)監(jiān)控花費貴、耗電多、用途單一、難以維護阻礙人們?yōu)樽约野踩钌戏谰€的最后一步。而隨著物聯(lián)網技術快速發(fā)展,主流協(xié)議的進步,以及專用物聯(lián)網芯片的普及,家用智能監(jiān)控成為可能。
物聯(lián)網技術加持下的家庭監(jiān)控是一種智能化、易于維護的監(jiān)控設備,相較于傳統(tǒng)的家居設備,它不僅具有傳統(tǒng)家居功能,還具有節(jié)約費用、易于部署、能源利用率高等優(yōu)勢[1]。目前監(jiān)控的產品方案(X-10、EIB系統(tǒng)、8X系統(tǒng)等)主要需要專門的通信線路(需房屋內部施工及布線),費用較高[2]。而家庭智能監(jiān)控具有便宜的價格和不用改造房屋就可部署的優(yōu)點更適合市場。在過去幾年,已經有利用可靠和通用的模組芯片對家庭智能監(jiān)控的嘗試[2],也有利用ESP32模組做的便攜式智能監(jiān)控系統(tǒng)[3]。智能監(jiān)控的研究重點在于實時網上控制后拍照監(jiān)控,智能監(jiān)控主要使用攝像頭進行拍攝采集,采用Wi-Fi連接方案進行通信連接。利用MQTT推送機制對監(jiān)控進行操作,借助專用的監(jiān)控網站以及手機APP就可以對整個監(jiān)控系統(tǒng)進行監(jiān)控。基于物聯(lián)網節(jié)能與互聯(lián)的理念,該系統(tǒng)有效為家庭安全防盜提供了便利與支持。
1" 系統(tǒng)設計
家庭智能監(jiān)控由監(jiān)控像頭、照片存儲云服務器和客戶端Web/APP組成。為保證監(jiān)控主機與客戶端的通信可靠,系統(tǒng)采用常采用的MQTT協(xié)議實現兩者的消息推送。照片傳輸至服務器采取HTTP協(xié)議傳輸。
1.1" 整體設計
家庭智能監(jiān)控整體如圖1所示,系統(tǒng)符合物聯(lián)網三層架構(感知層、網絡層和業(yè)務層)。監(jiān)控攝像頭是整個系統(tǒng)的中心,對使用者而言,可以通過業(yè)務層實時操控攝像頭,拍攝想要查看的地方;對于MQTT指令服務器而言,通過連接后攝像頭的報文采集與分析,可對攝像頭所處狀態(tài)進行實時監(jiān)控,以及意外斷連時對使用者通過網頁后臺進行報警提示??蛻舳丝赏ㄟ^訂閱智能監(jiān)控系統(tǒng)的主題查看實時在線攝像頭信息,達到對家庭所有攝像頭的狀態(tài)的實時掌控,本次設計中感知層與業(yè)務層之間通過家庭常用的Wi-Fi/WLAN通信連接方式進行通信。
1.2" MQTT協(xié)議與HTTP協(xié)議
MQTT是一種輕量級的消息協(xié)議,由IBM開發(fā)。它的設計目標是為物聯(lián)網設備之間的通信提供一種簡潔、可靠且高效的解決方案。MQTT采用了發(fā)布/訂閱模式,通過一個中心代理服務器來管理消息的傳輸和分發(fā)。
MQTT的使用場景非常廣泛。在傳感器網絡中,許多傳感器設備需要定期將采集的數據發(fā)送給后臺服務器進行處理和分析。由于物聯(lián)網設備通常具有資源受限的特點,如計算能力和電池壽命限制,因此需要一種輕量級的通信協(xié)議來滿足其需求,MQTT協(xié)議框架如圖2所示。
MQTT提供了可靠的消息傳輸機制,確保數據的準確性和及時性。此外,在智能家居領域,MQTT可以用于設備之間的通信,實現各種功能,如遠程控制和狀態(tài)監(jiān)測。在物流和供應鏈管理中,MQTT可以用于跟蹤和監(jiān)控貨物的位置和狀態(tài),提供更準確、實時的信息[4]。
HTTP是一種用于傳輸超媒體文件的應用層協(xié)議,HTTP協(xié)議框架如圖3所示。它是互聯(lián)網上最常用的協(xié)議,具有簡單、無連接、無狀態(tài)的特點。HTTP使用請求/響應模型,通過請求方法和URI標識資源。它可以在任何傳輸協(xié)議上使用,并支持緩存、身份驗證等功能。HTTP是一種易于實現、擴展和理解的協(xié)議,適用于各種應用場景。它能夠提供快速而可靠的數據傳輸,為互聯(lián)網通信提供了基礎。
HTTP的使用場景十分廣泛。在互聯(lián)網上瀏覽網頁時,瀏覽器會向服務器發(fā)送HTTP請求,并接收服務器返回的HTML文檔。在Web應用開發(fā)中,HTTP常用于前后端數據交互,通過RESTful API來獲取和更新資源。此外,HTTP還支持緩存機制,可以提高數據傳輸效率,并減輕服務器的負載。
2" "感知層設計
感知層是整個智能監(jiān)控拍照系統(tǒng)的執(zhí)行終端,負責實時拍攝當前所處環(huán)境的照片、控制拍攝所處的方向與服務器的通信,也是總體所需要的硬件方案設計,感知層結構框圖如圖4所示。
2.1" 主控部分設計
該層硬件主控采用國產高性能嵌入式處理器模組ESP32-S作為主控芯片,ESP32-S模組內芯片為ESP32-DOWD,該芯片采用樂鑫自研架構Xtensa,時鐘頻率達240 MHz,512 KB的RAM,工作溫度在-40~125 ℃,工作電壓位于2.7~3.6 V,所以芯片部分供電部分采用了一片LDO對5 V進行降壓,如圖5所示。并集成了Wi-Fi,滿足了此次設計要求。此芯片模組適用于各種應用場景和不同功耗需求使用[5],所以本次低功耗設計采用本芯片模組。
2.2" 攝像部分設計
本設計采用了OV2640攝像頭模組,該模組是豪威公司生產的1/4寸CMOS圖像傳感器。它具有200萬像素的UXGA(1 632×1 232)分辨率,能夠輸出1 600×1 200分辨率及以下的8/10位影像數據。該攝像模組采用標準SCCB接口,支持RGB(RGB565、RGB555)輸出格式,并支持圖像壓縮,即支持JPEG圖像數據輸出。在硬件設計上,采用了0.5 mm的24PIN FPC座子作為接口[6]。由于模擬電路、接口電路和數字電路的電壓要求不同,因此選用了兩片XC6206芯片分別為接口電壓和數字電壓供應1.2 V和2.8 V。該傳感器適合于低電壓工作,非常適用于嵌入式設備。此外,它可以在0~50 ℃的環(huán)境下穩(wěn)定工作,因此選擇采用本圖像傳感器完全符合本次設計的要求。連接所使用的OV2640模組三視圖如圖6所示(單位/毫米)。
2.3" 終端轉向設計
攝像頭轉向方面采用兩個五線舵機進行轉向。舵機是伺服電機,伺服電機就是帶有反饋環(huán)節(jié)的電機,有了反饋便可獲取所旋轉的角度,便可精確控制攝像頭的轉向。為了滿足減少控制所需要的引腳,采用一片74HC595來減少控制所需引腳。并且,舵機瞬時工作電流比較大,此單片機引腳在電氣性能上無法提供所需電流,所以采用一個常見的達林頓管ULN2803A對瞬時電流進行續(xù)流[7],具體設計如圖7所示。
2.4" 空中下載設計
除了基本的拍照功能,感知層還具備空中下載功能,通過控制臺發(fā)出指令使攝像頭通過HTTP協(xié)議連接服務器上固定地址的固件對機器進行更新??罩邢螺d(OTA)系統(tǒng)升級方案有兩種:片外Flash升級和片內Flash升級[7]??紤]ESP32-S模組片上較大的存儲,容量為4 MB可分配較大的OTA分區(qū)及降低功耗考慮,本次OTA更新設計采用片上Flash更新設計。對于OTA客戶端,也就是ESP32-S模組,按照一般分區(qū)表設置中,要有與升級相關的4個分區(qū),OTA data、Factory App、OTA_0、OTA_1。這里官方給出的分區(qū)表設置如圖8所示。可以看到一般啟動BL代碼位于0x1000-0x8000地址區(qū)域,Factory App為出廠時的固件,在收到升級的指令后,OTA升級程序會向OTA_0燒錄新的固件,燒錄完成后更新OTA data分區(qū)數據并重啟,重啟時采集OTA data分區(qū)數據進行分配,再加載OTA_0分區(qū)固件并運行。下一次進行OTA升級就向OTA_1分區(qū)燒錄新固件且像原先處理順序在OTA_1分區(qū)運行固件。之后每次更新固件,燒錄程序都會在OTA_0、OTA_1分區(qū)之間交替進行,并不會影響到出廠時的Factory App分區(qū)里的固件。
2.5" 配網邏輯設計
ESP32-S連接目標Wi-Fi時需要獲取Wi-Fi的名稱和密碼,因此我們可以使用攝像頭模塊進行拍照并且識別二維碼。掃描時,二維碼平面要與攝像頭鏡頭平面正對并且保持適當的距離(十厘米左右),此時ESP32-S可以準確地識別出二維碼的原始信息。當用戶成功掃描二維碼一次之后,ESP32-S將會記錄二維碼解碼之后原始信息,等待第二次掃描二維碼并解析原始信息之后,ESP32-S會將兩次掃碼的結果進行對比,也就是對比兩次獲取的二維碼原始信息[8]。只有在對比成功之后才會繼續(xù)進行信息的解析以此獲取二維碼上的Wi-Fi賬號和密碼信息然后調用ESP32-S進行Wi-Fi連接。在此過程中如果出現用戶連接時間過長的情況或者出現解碼錯誤的情況,ESP32-S將會開啟定時器計時并在3分鐘后啟動UDP通信模式并停止掃碼。UDP通信技術是一種無連接的傳輸層協(xié)議,開啟UDP通信模式下ESP32-S會開啟一個Wi-Fi,用戶需要使用上位機進行連接,在連接上之后用戶只需要連接上ESP32-S的Wi-Fi與它建立通信再用特定的APP即可將信息傳入ESP32-S。這兩種方式都可使得ESP32-S連接上目標Wi-Fi,為后續(xù)的功能奠定基礎。
3" 網絡層設計
網絡層像個紐帶一樣連接著感知層和應用層,它相當于中樞神經,負責將感知層獲得的信息,安全可靠地傳輸到業(yè)務層,然后根據不同的應用需求進行信息處理。物聯(lián)網常用的無線接入技術有許多,包括Wi-Fi、藍牙、GSM等中短距離無線通信技術。由于家庭安防攝像頭位置穩(wěn)定,并且近幾年來Wi-Fi無線接入技術的廣泛普及,所以本次設計在網絡層上選用是Wi-Fi無線接入技術,監(jiān)控通過Wi-Fi連接接到指定的局域網與云服務器進行實時的數據交換。
4" 應用層設計
家庭智能監(jiān)控設計了一個應用層中間件,中間件主要負責傳感器收集的數據收集和訪問的控制,為用戶提供數據傳送。這個中間件利用PHP搭建服務,利用域名直接就可以訪問。搭建好的中間件存儲如圖9所示。家庭智能監(jiān)控設計了一個控制臺,控制臺主要有MQTT控制服務和Web接口服務功能,控制臺功能框圖實際如圖10所示。
MQTT控制臺中的MQTT指令控制服務是最主要的功能,本次設計中通過了本地搭建服務器并在其中構建MQTT控制臺。本次使用Node-RED面板來搭建控制臺,Node-RED是一個開源項目,滿足簡單并快速地連接硬件和設備到Web服務[9]。通過簡單Node的連接,便可構建出復雜的任務。MQTT服務開始后,監(jiān)控攝像頭與用戶一起連接到本地服務器所分配的MQTT監(jiān)聽端口,此時用戶可在此進行主題下的信息的發(fā)布與訂閱。同時,攝像頭會發(fā)出包含運行狀態(tài)及舵機所在角度的報文,以及上報自己的編號到服務器上,在面板的信息流中便可查看。在網絡層中,用戶可單擊Node-RED面板上的按鈕即可對所想用的攝像頭發(fā)出設定好的命令。用戶還可通過Node-RED面板上自定義設定主題、訂閱等信息,以實現不同攝像頭分組控制[10]。
5" 實際運行測試
實際功耗采集如圖11所示??梢钥吹皆撝悄鼙O(jiān)控拍照系統(tǒng)在單個攝像頭運行之下功耗在1~2 瓦之間,組成多個拍攝陣列才可達到市場上專業(yè)家庭監(jiān)控的功耗。在長時間測試中,有五臺攝像頭終端的情況下,一天僅有0.23度電的能源消耗。平常拍攝處于OV2640的UXGA格式下,實際拍攝出來的1 600×1 200分辨率照片狀況良好,無不良的撕裂狀況。實際拍攝照片如圖12所示。
6" 結 論
智能家庭監(jiān)控的需求與專業(yè)監(jiān)控資源短缺之間存在矛盾。在當前人們安全意識不斷增強的情況下,家庭智能監(jiān)控可以幫助緩解這種矛盾。實用且具有經濟性的家庭智能監(jiān)控系統(tǒng)對于現代物聯(lián)網時代的發(fā)展將提供良好的支持。本文使用ESP32-S設計了一款家庭智能監(jiān)控系統(tǒng),對硬件終端和網絡連接層進行了設計。通過家庭的Wi-Fi網絡部署攝像頭終端,并使用網頁后端進行實時操作,實現了對監(jiān)控活動的控制。通過與專業(yè)監(jiān)控系統(tǒng)的對比實驗,該家庭智能監(jiān)控系統(tǒng)在單個攝像頭狀態(tài)下平均1~2瓦的功率,相較于傳統(tǒng)的專業(yè)監(jiān)控攝像頭的20瓦功耗,具有廣泛實用的意義。而在價格方面,相對于傳統(tǒng)的監(jiān)控設備,這種家庭智能監(jiān)控系統(tǒng)價格更低,適應了物聯(lián)網時代現代家庭的需求。
參考文獻:
[1] 周橙旻,趙晗肖,徐雪,等.基于CiteSpace的中國適老智能家居研究現狀與發(fā)展前景 [J].包裝工程,2022,43(2):35-41.
[2] SAJID A,ABBAS H,SALEEM K. Cloud-Assisted IoT-Based SCADA Systems Security: A Review of the State of the Art and Future Challenges [J].IEEE Access,2016,4:1375-1384.
[3] RAI P,REHMAN M. ESP32 Based Smart Surveillance System [C]//2019 2nd International Conference on Computing,Mathematics and Engineering Technologies (iCoMET).Sukkur:IEEE,2019:1-3.
[4] 鄭紅兵,王煥偉,趙琪,等.基于Tamarin的MQTT協(xié)議安全性分析方法 [J].計算機應用研究,2023,40(10):3132-3137+3143.
[5] 孫國祥,蔡嘉奇,周新竹,等.基于陣列式ESP32-CAM的番茄根系表型原位測量方法 [J].農業(yè)工程學報,2023,39(18):172-182.
[6] 溫全,成天樂,蘇澤亞.基于STM32和OV2640的自主循跡四旋翼飛行器設計 [J].微型機與應用,2016,35(22):105-107.
[7] 陳英杰,朱晉鋒.ZigBee空中下載技術研究及其優(yōu)化設計 [J].單片機與嵌入式系統(tǒng)應用,2012,12(11):1-4.
[8] 楊輝媛,楊紅海,譚偉杰.基于AT89C51單片機步進電機控制系統(tǒng)的設計 [J].艦船電子工程,2008(8):204-206.
[9] LEKI? M,GARDA?EVI? G. IoT Sensor Integration to Node-RED Platform [C]//2018 17th International Symposium INFOTEH-JAHORINA (INFOTEH).East Sarajevo:IEEE,2018:1-5.
[10] 張立.基于node-red的可視化糧倉溫控系統(tǒng)設計 [J].信息技術與信息化,2022(4):110-113.
作者簡介:唐少勛(2003—),男,瑤族,廣西賀州人,本科在讀,研究方向:物聯(lián)網;劉爾健(2003—),男,漢族,廣東河源人,本科在讀,研究方向:智能控制。
收稿日期:2023-10-23