董晨樂,張富春,楊延寧
(延安大學 物理與電子信息學院,陜西 延安 716000)
物聯網概念的前身是傳感網[1]。中國科學院于1999年啟動了傳感網技術的研究[2]。2009年6月歐盟委員會提出“物聯網行動方案”[3],明確表示在技術層面給予該方案大量資金支持。2009年之后,國內出現物聯網技術研究熱潮,2010年,物聯網被寫入政府工作報告,2019年我國初步完成從互聯網到物聯網的過渡,預計在2030年全面完成全國“萬物互聯”建設[4]。
隨著智能家居行業的迅速發展,國內大批家裝企業推出多種智能家居解決方案[5]。但無論是手機APP還是智能音箱等設備[6]均自成體系,難以互通。
超低成本的家庭物聯網解決方案主要選用市場上的常規設備,旨在規避各智能家居廠商因采用軟件不通用、硬件不協調、物料價格貴、工作原理單一且復雜導致的一系列問題。系統通過Home Assistant軟件環境平臺[7]實現自動開關電器、自動報警、垃圾智能分類、人臉算法識別、無接觸乘坐電梯等功能,通過百度云平臺組建物聯網控制樞紐[8]。
1.2.1 硬件服務器
本方案服務器可采用樹莓派或各品牌路由器等。
1.2.2 多功能網關
網關(Gateway)即網間連接器、協議轉換器,它既可用于廣域網互連,也可用于局域網互連。小米多功能網關可看作家電傳感器、門窗傳感器、無線開關等小米智能家居的聯接控制器[9]。
1.2.3 主要第三方傳感器
本方案采用的主要第三方傳感器包括WiFi智能插座、PM2.5傳感器、溫濕度傳感器。
WiFi智能插座[10]通過WiFi將手機與插座連接,由手機控制家中所有插座的開關,并隨時查看插座是否存在安全隱患。
PM2.5傳感器采用TF-LP01,它檢測精度高,響應迅速,可自動檢測空氣中PM2.5的含量。
溫濕度傳感器采用DHT11。DHT11可與其他設備聯動,實現對家庭環境溫濕度的智能控制。超低成本的家庭物聯網解決方案硬件見表1所列。

表1 超低成本的家庭物聯網解決方案硬件
Home Assistant是構建智能家居的核心,它能識別并連接約1 000個外部設備,如小米系列智能設備、攝像頭等。可通過手動或按照自身需求自動化聯動上述外部設備,構建個人智能空間。Home Assistant結構如圖1所示。

圖1 Home Assistant結構
樹莓派或Linux鏡像燒錄包括如下幾個方面。
(1)訪問樹莓派中國官網
從https://www.raspberrypi.org/downloads/下載最新版Raspberry鏡像文件及鏡像燒錄工具。
燒錄軟件名稱如圖2所示。

圖2 燒錄軟件名稱
(2)樹莓派Raspbian系統的燒錄和寫入
選擇Win32 Disk軟件進行系統安裝,系統安裝界面如圖3所示。

圖3 系統安裝界面
(3)系統配置
將安全退出的系統SD卡插入到樹莓派SD卡的卡槽中,根據電路板上的指示燈判斷系統工作狀態。樹莓派指示燈狀態見表2所列。

表2 樹莓派指示燈狀態
(4)使用遠程計算機連接并控制樹莓派(X-shell)
創建名稱分別為ssh和wpa_supplicant.conf的空白文件,將其拷貝至系統根目錄。wpa_supplicant.conf代碼配置如下:

至此,連接權限的授權已完成,斷開樹莓派的電源,取下存儲卡,修改其內存卡中系統根目錄文件cmdline.txt。修改的內容為:在最前端加IP設置:ip=aaa.bbb.ccc.x。
Putty連接狀態如圖4所示,樹莓派連接狀態如圖5所示。

圖4 Putty連接狀態

圖5 樹莓派連接狀態
無論Windows系統、MacOS系統或Linux系統,均以常規方式安裝Home Assistant。
(1)訪問網站https://www.python.org/,下載需要的安裝包,完成Python安裝。
(2)使用Python工具安裝Home Assistant。打開命令行窗口,輸入命令:pip3 install homeassistant。
(3)運行并啟動Home Assistant,進入后臺管理界面,輸入命令:hass。Home Assistant安裝完成界面如圖6所示。

圖6 Home Assistant安裝完成界面
(4)以Root身份運行以下命令,完成軟件依賴包的安裝。

連接過程如下所示:
(1)進入登錄界面;
(2)在登錄界面輸入賬戶名;
(3)輸入用戶賬戶密碼。
登錄成功后,進入用戶控制界面。其中,home assistant.local為登錄電腦的IP地址。Home Assistant主界面如圖7所示。

圖7 Home Assistant主界面
將Linux系統中的所有文件通過局域網共享到Windows網絡中,再將樹莓派的用戶文件夾目錄或將指定需共享的目錄設置為共享文件夾。
具體操作方法如下:
(1)在樹莓派端下載Samba軟件,并設置其配置文件,從更新源獲取更新信息;
(2)下載并安裝Samba軟件;
(3)修改配置文件,為需要共享的目錄指定位置和授權;
(4)重啟Samba服務;
(5)添加默認用戶Pi到Samba。
Samba配置界面如圖8所示。

圖8 Samba配置界面
2.5.1 小米網關接入說明
(1)小米多功能網關簡介
小米多功能網關可連接小米的溫濕度計、開關、人體感應器等多種設備。在Home Assistant中接入小米多功能網關,使多功能網關連接的設備進入Home Assistant系統。
(2)配置米家
打開米家APP,選擇需要接入的多功能網關,點擊右上角的“關于”,連續點擊下方的插件版本位置5次可激活開發者模式。米家網關配置如圖9所示,網絡信息顯示如圖10所示。

圖9 米家網關配置

圖10 網絡信息顯示
(3)配置Home Assistant
打開系統根目錄下Home Assistant下的配置文件configuration.yaml,在其中添加如下代碼:

保存配置文件后退出,重啟Home Assistant。小米配置界面如圖11所示。
2.5.2 DHT11傳感器接入
(1)DHT11傳感器簡介
DHT11是一款已校準數字信號輸出的溫濕度傳感器。DHT11工作原理如圖12所示。
(2)硬件電路連接與配置
將電源VCC接口連接樹莓派上任一個3 V引腳,GND接地,DATA數據接口連接樹莓派的4號GPIO口。
(3)配置根目錄下的Yaml文件
配置代碼如下:

(4)溫濕度顯示
保存已編輯文件,并重新啟動樹莓派,即可看到圖13所示的溫濕度顯示界面。

圖13 溫濕度顯示界面
2.5.3 天氣預報數據接入
(1)天氣預報數據接入
天氣預報數據采用和風天氣的開放API進行數據獲取,以確保數據的實時性、準確性和高效性。
(2)安裝API接口讀取插件
所需命令如下:

(3)獲取密鑰
注冊和風天氣API的免費賬號(獲取數據接口),按步驟注冊之后獲取官方發送的密鑰。
(4)編輯Yaml文件
編輯Yaml文件代碼如下:

(5)顯示效果
保存已編輯文件,重新啟動樹莓派查看和風天氣顯示效果,如圖14所示。

圖14 和風天氣顯示效果
2.5.4 人體傳感器配置
HC-SR501是基于紅外線技術的自動控制模塊,靈敏度高,可靠性強,具有超低電壓工作模式,被廣泛應用于各類自動感應電器設備。SR501結構如圖15所示。

圖15 SR501結構
在Home Assistant的配置文件中編輯Yaml文件的代碼如下:

(1)Yaml配置說明
在對服務端進行配置時,任何代碼的修改都是在Yaml文件的基礎上進行更改。Yaml文件的編寫格式可參考如下內容:
①“#”右邊的文字用于注釋,無實際意義;
②冒號(:)左邊的字符串代表配置項的名稱,冒號右邊為配置項的值;
③若冒號右邊為空,則從下一行開始縮進兩個空格的字符串皆是該配置項的值。
(2)樹莓派文件基礎配置
若Home Assistant軟件啟動時未找到配置文件,則自動配置相關設備、sun實體及天氣預報等內容。
基礎配置見表3所列。

表3 基礎配置
(3)Home Assistanr添加設備
Home Assistant連接的外部程序包括處理程序、人臉識別程序等。
(1)客戶端控制
無論Android系統還是iOS系統,都可將Home Assistant作為“Web APP”添加為手機應用。其操作步驟為:打開Chrome—定位到Home Assistant—點擊菜單。客戶端顯示效果如圖16所示。

圖16 客戶端顯示效果
(2)設置家庭APP
擁有家庭APP即可輕松、安全地掌控HomeKit配件。蘋果客戶端顯示效果如圖17所示。

圖17 蘋果客戶端顯示效果
本文以樹莓派和Home Assistant為基本架構,實現了超低成本物聯網解決方案,經測試,效果良好,市場應用前景廣闊。