趙煒華,譚錦元,李沛敏,邱一峰,盧巨科
(廣西民族師范學院 數理與電子信息工程學院,廣西 崇左 532200)
伴隨物聯網產業的源起與計算機技術、人工智能技術、網絡傳輸技術、傳感器技術的飛速發展,人們的生活已離不開智能化帶來的便利。目前,家居智能化已成為當今的主流發展趨勢[1]。智能家居控制系統的主要目的是優化家庭居住環境,滿足人們對家居越來越高的要求。通過控制家具電器、住宅設施,利用無線通信、自動控制、單片機、傳感器等技術對與家居生活相關的設備、家電等進行檢測、傳輸、處理、控制,實現人們對住宅設施及家庭日常實物控制管理的綜合智能家居控制系統[2]。自新冠疫情爆發以來,智能家庭設備可有效幫助人們進行科學防疫。保持“嚴格篩選”的基礎防線尤為重要,以確保家庭人員降低潛在的感染風險。
本文所描述的基于Arduino的網絡集成智能家庭系統設計,主要由硬件系統、軟件系統兩部分組成,硬件系統包括Arduino控制模塊、傳感器、K210 Maix Bit、通用家電設備等,Arduino控制模塊作為該系統的核心,通過對家庭環境中各項相關參數進行檢測,完成對當前家居環境狀態的綜合判斷,并據此做出預判處理。K210 Maix Bit與MAG8833紅外熱像儀傳感器組成的身份識別安防系統,可實現非接觸式溫度測量與身份識別功能。軟件系統部分為手機Android系統APP軟件,可通過網絡連接實現家庭實時數據的監控以及對家庭用電器的遠程控制。基于以上相關技術以及控制要求,實現監控家庭環境,遠程控制家庭設備,對當前家庭環境狀態進行綜合判斷并進行家庭設備聯動,以優化家庭環境、家庭安防,提升居住舒適性。
本系統是基于Arduino的網絡集成智能家庭系統,分為硬件、軟件兩部分。系統的總體設計如圖1所示。以Arduino UNO R3為核心模塊,利用Arduino多處理器實現數據的分布處理,結合ESP8266 WiFi通信模塊、CH-SR501人體紅外感應模塊、K210 Maix Bit人臉識別模塊、AMG8833紅外熱像儀模塊、LD3320語言識別模塊、雨滴感應模塊、MQ-2煙霧氣敏傳感器模塊、DHT11溫濕度傳感器模塊、光照電阻模塊組成了無接觸式溫度測量身份識別安防分系統、室內溫濕度自動調節分系統、室內智能照明分系統、易燃氣體檢測防火分系統、智能晾衣桿分系統、移動控制終端APP等。

圖1 系統總體設計
無接觸式體溫測量身份識別安防分系統由K210 Maix Bit人臉識別模塊和AMG8833紅外熱像儀模塊組成,通過控制芯片預存的人像面容ID、判斷條件、程序處理,實現了身份識別自動開門與無接觸式人體體溫測量,且可通過移動終端APP實時查看來客體溫是否異常。
室內溫濕度自動調節分系統由DHT11溫濕度傳感模塊實時監測室內溫濕度值,當室內溫濕度值低于設置的標準值閾值時,自動開啟空調,提高室內的溫濕度。當室內的溫濕度高于設置的標準閾值時,自動進行通風操作。系統還可以通過移動終端APP實時查看數據,遠程控制溫濕度,自動調節分系統。
室內智能照明分系統由光照電阻模塊和CH-SR501人體紅外感應模塊檢測室內外光線的強度以及是否有人過往,當感知到室內光線較暗以及屋主經過時,自動根據光線強度開啟室內照明燈的亮度,為屋主提供合適的照明亮度,以達到智能控制以及節能的目的。系統還可以通過移動終端APP對照明系統進行遠程控制。
易燃氣體檢測防火分系統MQ-2煙霧氣敏傳感器模塊實時檢測室內的易燃氣體,當燃燒產生的固體小顆粒超過設定的閾值時,滅火系統被觸發,通過覆蓋式噴水進行滅火,并提示屋主留意煤氣是否泄漏或者出現火災等。
智能晾衣桿分系統由雨滴感應模塊實時感知屋外天氣變化,自動驅動舵機回收或伸出晾衣桿。
2.1.1 Arduino UNO R3控制器
Arduino 起源于意大利,是一款基于開放原始代碼的Simple I/O平臺。Arduino UNO R3控制器采用Atmel公司出品的ATmega328P-PU單片機作為微處理控制器。它由基于單片機并且開放源碼,具備簡單輸入接口的硬件平臺,以及一套專為Arduino編寫程序代碼的開發環境組成。
2.1.2 DHT11數字溫濕度傳感器
DHT11數字溫濕度傳感器是溫濕度復合傳感器,經過嚴格校準后將數字信號輸出傳感器。它應用專用的數字模塊采集技術和溫濕度傳感技術,傳感器內部包含一個電阻式感濕元件和一個NTC測溫元件[3],并與一個高性能8位單片機相連接。濕度測量范圍為20%RH~95%RH,誤差為+5%~-5%;溫度測量范圍為0~50 ℃,誤差為+2~-5 ℃;工作電壓范圍為3.3~5 V DC,供電具有功耗低、數字化精確輸出、抗干擾能力強、極高的可靠性與長期穩定性等特點,因此被廣泛應用于智能家庭系統。
2.1.3 MQ-2煙霧傳感器模塊
MQ-2煙霧傳感器模塊采用在清潔空氣中導電率較低的氣敏材料二氧化錫(SnO2)[4]。其工作原理是當傳感器所處環境中存在可燃氣體時,傳感器的電導率隨空氣中可燃氣體濃度的增加而增大,經過自身電路即可將電導率的變化轉換為與該氣體濃度相對應的輸出信號[5]。MQ-2煙霧傳感器對丙烷、丁烷有較高的靈敏度,可檢測多種可燃氣體,具有可靠性高、響應速度快等特點。
2.1.4 CH-SR501人體紅外感應模塊
CH-SR501人體紅外感應模塊是一塊采用LHI 778探頭,基于紅外線技術設計的自動控制模塊。工作原理:當傳感器接收到人體紅外輻射之后,傳感器溫度升高,表面釋放一部分電荷,并將釋放的電荷經放大器轉換為電壓輸出[6]。CHSR501人體紅外感應模塊擁有不可重復觸發、可重復觸發兩種觸發方式,具有全自動感應、超高靈敏度和可靠性高等特點。
ATK-ESP8266 是一款高性能UART-WiFi模塊,ATKESP8266模塊搭載了ATK-ESP-01模塊[7]。ATK-ESP8266 模塊采用串口(LVTTL)與 MCU(或其他串口設備)通信,在該模塊中自身包含可實現串口和WiFi轉換的TCP/IP協議棧[8],可以實現WiFi和通信串口間的轉換。利用ATKESP8266模塊,僅需簡單的串口配置就能實現傳統串口設備通過網絡(WiFi)傳輸自身數據的目的。模塊支持串口轉WiFi STA、串口轉AP和WiFi以及STA+WiFi AP模式,從而快速構建串口-WiFi數據傳輸方案,方便設備使用互聯網傳輸數據。智能控制系統涉及的傳感器較多,其軟件子系統流程也較為復雜。工作流程:當載有多種傳感器模塊電路的Arduino控制板采集到環境變量參數后,通過ESP8266 WiFi模塊實時上傳。智能家庭系統根據用戶的實際需要,由系統主控制板進行實時信號處理,完成無線信號與串口信號之間的轉換。用戶在手機Android移動終端可以清晰了解當前房屋信息。
2.3.1 K210 Maix Bit人臉識別模塊
Maix Bit開發板搭載了帶有獨立FPU的雙核處理器和RISC-V內核的K210 AI芯片,擁有64位CPU位寬,8 MB片內SRAM,400 MHz可調標稱頻率,支持乘法、除法和平方根運算等。利用圖像處理技術運行人臉識別模塊,識別出人臉并且框出人臉的位置,將框出的人臉模型轉換成可接收的FPU格式,運行人臉5點關鍵點模型,獲取左眼、右眼、鼻子、左嘴角、右嘴角的位置,對原始人臉圖片進行仿射變換,變換為正臉圖像,將正臉圖像轉為FPU格式。使用人臉196維特征值模型計算正臉圖片的196維特征值,計算得到最終的人臉特征feature。然后將得到的人臉模型與儲存的人臉模型進行對比,得到一組對比分值,在對比分值中選擇其中最大的一個對比分值,如果該分值超過90分就可以判斷為是該人。
2.3.2 AMG8833紅外熱像儀模塊
AMG8833是基于高級MEMS技術的高精度紅外陣列傳感器,傳感器芯片經過高增益放大與內部熱敏電阻通過ADC轉換器存儲到ROM中[9]。每個像素觀看中央角度傳感器的光學中心間隙在±5.6°內(水平和垂直方向)。通過128個Temperature寄存器一次性讀取64個像素點的溫度,存儲在自定義數組中,64個溫度值中有部分受環境影響而導致測溫不準確。由于環境溫度低于人體溫度,所以在本次設計中采取設置閾值比較算法,取64個溫度值中最大溫度的10個溫度取平均代表人體體溫[10]。
采用Android Studio開發工具進行遠程訪問智能家庭系統的手機客戶端APP開發,智能控制UI界面是本系統應用程序與屋主直接進行信息交互的可視化界面,通過Java語言實現軟件開發,網絡通信協議是網絡通信中極其重要的核心。現如今的網絡協議有許多種,在局域網中經常使用的有3種網 絡 協 議:MICROSOFT的NETBEUI、NOVELL的IPX/SPX和TCP/IP協議。項目中應用的網絡協議是TCP/IP協議。利用Arduino控制器和ATK-ESP8266 WiFi模塊,結合模擬智能家居設備,將實時采集的數據上傳至云服務器,利用SQLite作為數據庫,作為系統的數據支持。用戶點擊控制界面開關、查詢等控件后,后臺程序按照設定好的程序指令傳輸到Arduino控制器,再由Arduino控制器下發給系統的分系統,由此實現家庭室內環境的實時監測以及對智能家居的控制。軟件系統流程如圖2所示。手機客戶端APP軟件與Arduino硬件板塊可通過搭建好的局域網進行網絡端口相連,從而兩者可進行通信交互(發送信號與接收信號);采用手機客戶端APP軟件發送指令給Arduino,再通過Arduino發送指令給手機客戶端APP軟件,使手機客戶端APP軟件可以對智能家居當前環境下的檢測數值進行實時監控。

圖2 軟件系統流程
本文主要提出了基于Arduino的網絡集成智能家庭系統設計。通過對多種傳感器采集的數據進行處理,實現感知和實時監測家庭環境;同時,通過手機的移動終端實現對在線設備的實時控制。在系統開啟運行后,Arduino開發板將通過傳感器實時監測數據,通過ATK-SEP8266的數據通信模塊負責完成Arduino開發板和手機移動終端的數據交互,實現了數據經由互聯網在各個終端上的流動。結合K210 Maix Bit人臉識別系統,實現有體溫異常來客的篩選、未戴口罩的識別以及預警,降低人們的感染風險。通過實現智能化、安全化、人性化的智能家庭系統,提高人們的生活質量。