謝晉陽, 李明亮,謝桂芳*
(1.湘南學院資產與實驗室建設管理處,郴州 423000;2.湘南學院計算機與人工智能學院,郴州 423000)
隨著社會經濟的飛速發展、科學技術的不斷提高,以及國家政策對人工智能領域的大力扶持和推動,“智能化”“自動化”“便捷化”的生活已成為每個人的期待和向往。當前,智能家居行業的發展處在一個上升階段,智能家居這條“賽道”前景可觀,有較為充裕的市場空間,各種品牌、各種類型的智能設備也在不斷地涌現[1]。
面對不斷發展的智能家居市場與不斷涌現的智能家居產品,我國絕大多數消費者對此持樂觀態度。根據有關調查和數據顯示,在智能家居設備的使用習慣方面,我國消費者主要偏好語音交互,其次是手機平臺控制;在智能產品消費過程中,我國消費者對于智能家居隱私安全性有著較高要求。此外,大部分消費者認為市面上現有的智能家居設備存在系統造價貴、使用方法復雜、不同品牌兼容性差、系統安全沒有保障等問題[1],這些問題成為阻礙消費者使用智能家居產品的主要因素。因此,本文針對這些問題展開研究,設計一款集安全、便捷、低成本于一體的掌上智慧家居系統。
隨著科學技術的不斷進步,計算機控制技術和電子通信技術的發展以及消費者對生活環境的高效便捷需求的提高,傳統家居行業的智能化是發展的必然結果。因此,對智能家居的研究已成為國內外關注的重點。國內學者,陳明忠等[2]設計了基于STM32 和云平臺的智能家居控制系統。于浩等[3]研究了基于GPRS 的智能門鎖系統的設計,他們認為,由于GPRS技術性能穩定、覆蓋范圍廣、不需要重建網絡,因此操作簡單。劉文林等[4]設計的基于GPRS 短信通信的低功耗智能家居系統,能將各模塊結合起來,高效便捷地管理家庭,且大大降低系統功耗。國外對智能家居系統的研究主要分為兩部分。首先,對智能家居系統的設計進行了研究,如意大利的Sinico[5]討論了視覺設計因素對系統防盜門感知安全性的影響,并通過實驗驗證了不同防盜門模型對感知安全性的影響。其次,對智能家居系統的實現技術進行了研究,如Poddar等[6]采用基于圖像處理的人臉識別家庭安防系統得到了廣泛的發展。系統中的人臉檢測采用Haar-Cascade 方法。此外,還采用精密度測試、距離測試、面部表情測試和光照條件測試。
國內外學者的相關研究已經滿足了人們對智能家居和舒適家居生活的基本要求,但仍存在功能單一、防盜能力差、智能化程度低、使用繁瑣等問題,因此開展智慧家居系統的研究與設計勢在必行。
針對已有的相關研究所存在的不足,論文將重點從以下六個方面展開研究:
(1)智能解鎖。系統不具備實體鑰匙,門本身沒有“鑰匙孔”,唯一的“鑰匙”是授權微信賬號,用戶可通過指紋解鎖、人臉識別、密碼解鎖等方式進行解鎖[7]。
(2)安防監控。用戶可使用微信小程序中的視頻監控實時查看監視區域內的家居狀況。當系統監測到家居存在安全隱患時,會立刻發出警報并發送短信提醒用戶,讓用戶第一時間發現并處理安全隱患。
(3)環境調節。用戶可根據系統感應器接收到的感應信號選擇是否開啟相關設備進行環境調控,如降低或增加室內溫度和濕度,或者光線過量是否需要打開窗簾,下雨了將晾衣桿收回等。
(4)家電控制。用戶既可單個地控制家電的開和關,也可一次性控制多個家電開關,比如出門場景,用戶點擊開啟后,家中所有電器如電燈、加濕器等將全部關閉,避免出現用戶出門忘關電器出現的不可預測的危險。
(5)語音助手。用戶通過語音助手可以更快速、更方便地實現家電控制、語音閑聊、天氣查詢等。
(6)擴展功能。系統除了具有上述主要功能外,還具有家庭管理、天氣預報、系統日志等可擴展的功能。
系統設計分硬件、軟件、系統集成三部分,其系統架構如圖1所示。
系統硬件部分使用樹莓派作為核心部件,各類傳感器以及各種應用類器件作為擴展部分,通過GPIO 口與樹莓派連接起來。系統硬件部分主要負責實現智能開鎖、安防監控、環境調節、家電控制四個模塊,給硬件部分寫入程序前需先將Raspbian 系統燒入TF 卡中,接著啟動系統,便能開始使用XShell進行編程。由于樹莓派自帶的GPIO 口不足以實現系統全部功能,故給樹莓派添加一塊GPIO 口擴展板,并使用fritzing 工具設計好樹莓派連接模型,最后根據如圖2所示的硬件組裝模型將實物連接上。

圖2 硬件組裝模型
軟件部分以微信小程序實現用戶控制界面,SpringBoo 框架實現微信小程序后臺服務器的開發,兩者結合類似前后端分離項目,通過后臺提供的接口,來實現各種功能,系統功能框架如圖3所示。

圖3 系統功能框架
使用Wi-Fi協議將軟硬件連接起來。在同一局域網下用戶使用手機時,用戶的任何操作都會以信號的形式發送到微信小程序后臺,后臺接收到這些信號后還要進行邏輯處理。系統控制原理如圖4所示。

圖4 系統控制原理
使用SG90 舵機模擬防盜門,舵機的控制需要一個20 ms左右的時基脈沖,該脈沖的高電平部分一般為0.5~2.5 ms[8]。樹莓派通過GPIO 引腳連接觸摸傳感器,觸摸傳感器收到高電平信號,可向MQTT 服務器touch 主題發送“訪客通知”消息,用戶接收到消息后,可使用微信小程序實時監控功能查看情況,核實訪客身份,進行遠程開門。
樹莓派通過擴展板GPIO 引腳連接傳感器,其中包括振動傳感器、MQ-2 煙霧氣體傳感器、熱釋電人體紅外傳感器。當門身受到劇烈破壞時,振動傳感器發出高電平信號,蜂鳴器報警,樹莓派MQTT客戶端向invade主題發送“入侵警告”消息,手機MQTT 客戶端訂閱主題并接收到消息后向用戶微信推送報警信息。對于震動傳感器感應到門身受到破壞的程度,可通過設置能量閾值的方式,如果采集信號的能量過小,比如只是有人簡單的敲了下門,對于這類能量過小的閾值信號直接拋棄掉。一旦能量超過閾值所設定的范圍,便立刻報警[9]。MQ-2 煙霧氣體傳感器則用于預防火焰危險,當周圍煙霧濃度過高時,可發出報警信號,提醒用戶做出相應預防措施。熱釋電人體紅外傳感器則可以通過輸出電平的方式感應到附近是否有人長時間逗留,當有人經過時,感應器收到感應后系統拍下路人樣貌,如果有人長時間逗留,則系統發送報警信號到用戶手機。
視頻監控功能則使用到MJPG-Streamer 技術,涉及硬件設備為攝像頭,安裝好攝像頭后在終端模式下輸入“lsusb”查看樹莓派USB 接口連接情況。當攝像頭安裝成功后,接著需要安裝MJPG-Streamer,最后啟動MJPG-Streamer便可實現實時監控功能[10]。
通過溫濕度傳感器模塊、雨滴傳感器模塊、聲音傳感器模塊、人體紅外傳感器模塊等傳感器實現家居環境參數的收集,并發送給用戶端,用戶使用微信小程序可以查看收集到的數據,調節室內環境。環境調節模塊涉及的硬件器件除了加濕器模塊必須通過樹莓派開發板USB 口供電以外,其它器件都是直接連接在樹莓派擴展板的GPIO 口上的。故為使用加濕器對室內濕度進行控制,必須在樹莓派系統中安裝uhubctrl以控制USB接口,安裝命令如下:
安裝成功則會提示“success”信息,否則安裝失敗,需根據報錯信息重新安裝。安裝uhubctl 后便可實現對樹莓派USB 接口的控制,以下是控制USB口關閉和打開的命令。
使用微信小程序的一個小插件“微信同聲傳譯”,在微信公眾平臺添加,添加后需在根目錄app.json 文件中配置,同時還需為系統編寫接口,用來對應用戶輸入和系統輸出。
微信小程序將收到的用戶點擊事件信號發送到系統SpringBoot 后臺,后臺根據寫入程序處理信號后上傳至云服務器中等待樹莓派端服務器接收,樹莓派端服務器接收后同樣將信號處理后再對相應器件進行控制,整個過程用時在5 ms 內,從而保證用戶體驗。一鍵場景控制則需要用戶提前設置好,之后點擊該控制開關便能一次性控制多個家電開關。
初次使用家電控制模塊前需在Linux 環境下配置MQTT 服務器,之后再使用只需打開服務器即可。配置MQTT服務器步驟及命令如下:
(1)解壓EMQ X zip文件;
(2)啟動以控制臺調試模式emqx,檢查EMQ X是否可以正常啟動;
(3)安裝成功,會出現如圖5 輸出,否則安裝失敗,需重新安裝。

圖5 EMQ X安裝成功控制臺輸出
(4)安裝成功后,使用時打開服務器即可(系統啟動時自動開啟)。
擴展工具所有功能都需使用到MySQL 數據庫,通過微信小程序與SpringBoot 后臺傳遞數據,如記賬功能則是將用戶記錄的賬單信息保存到MySQL 數據庫中,并在用戶查看時調用數據庫內容渲染出來。
當前,智能家居行業的發展雖處在上升階段且前景可觀,但當前市場上大部分的同類型產品價格都偏高,并且由于不同品牌之間的差異性,導致不同產品之間的互聯程度較差,部分產品對于使用者的隱私保護也沒有引起足夠的重視。本文設計的掌上家居系統是采用樹莓派作為核心硬件,以微信小程序作為開發平臺,在具體開發過程中,采用嵌入式、云處理、物聯網、人工智能、邊緣計算等先進技術,實現物與物、物與人的泛在連接,為用戶提供更便捷、更高效、更安全的智慧家居生活。