黃戌霞,陳小利
(寧德職業技術學院 信息技術與工程系,福建寧德355000)
近年來,人們對于居住質量的要求逐漸提升,家居行業的智能化已然成為一種趨勢,多種智能化家居設備的出現,為人們提供了更為便利、舒適的生活模式.智能家居是以常規家居為基礎,輔以智能技術,在保留常規家居功能的同時實現了人與家居環境的交互和控制,其優勢主要體現在:(1)家用電器及燃氣的工作狀態會借助傳感裝置發送至控制終端設備,以提醒用戶關閉不用的設備,消除安全隱患;(2)智能設備連接相應的程序軟件,用戶可通過終端設備查看各個設備的工作情況,以根據自身的需求進行遠程操控;(3)用戶可以通過一個終端設備控制全部的智能設備,提高生活的便利性.本文基于微信小程序設計一款智能家居控制系統,以實現家居智能化,提升用戶生活體驗.
微信小程序于2017年初推出,其應用優勢主要體現在以下幾方面:(1)與傳統的軟件相比較,它無需下載,不占內存,提高了用戶體驗感,也節省了開發商開發軟件的資金投入;(2)可通過掃描程序碼直接進入程序并應用,突顯小程序的便利性;(3)運營成本相較于其他形式更為便捷,宣傳投入低且易推廣;(4)小程序的出現促使線上與線下融合、貫通,彌補了公眾號用戶粘度提升難的瓶頸,解決了服務號僅能推送信息的尷尬;(5)和常規的廣告鏈接及公眾號文章末端的廣告相比較,小程序用戶的使用頻率更高;(6)單就微信本身而言,公眾號對應“內容”,朋友圈對應“社交”,小程序則對應“服務”,三者共同構建了電商運行新模式.小程序是基于MINA框架實現的,能夠完成基本的數據傳輸[1],框架如圖1(見 58頁)所示.

控制系統的核心使用Arduino,可以解決不同服務平臺轉換的問題.由于Arduino屬于開源平臺,既能降低智能家居開發成本,同時也會縮短開發周期,相連系統的升級及容量拓展能直接通過改動核心單元實現.此外,由于Arduino具備較好的兼容性,支持多種模塊配件的連接,使編程簡便、易上手,用戶熟悉控制系統后,便可根據個人需要調整相關設置.
無線傳輸模式以其不占空間和使用便捷的優勢,使智能家居由有線連接方式向無線連接方式遷移.目前,幾種主流的無線通訊方式各有優缺點,其中WIFI的應用范圍較廣,技術相對完善;ZigBee技術的功耗較少,資金投入量相對偏低;藍牙功能在終端設備的覆蓋面較廣.綜合以上幾種常用無線技術,本文選用性價比較高的ZigBee技術.
物聯網平臺OneNET與常規物聯網平臺相比,其優勢在于能選用不同類型的網絡協議連入所需的傳感裝置和硬件系統,同時支持大數據,普通用戶及企業組織能借此開展專屬應用.此外,可連接多種硬件設施,滿足多種終端設備應用需要,同時可連接不同類型的無線通訊,用戶可根據個人情況進行選擇.該平臺的兼容性較好,并能保護用戶隱私,應用范圍較廣.
2.1.1 Arduino開源電子原型平臺
該控制系統各單元程序的設計是借助Arduino開源電子原型平臺集成測試環境實現的.void set up為初始函數,負責系統的設置,涉及到數據輸送端口、波特率等方面,vodi loop是主循環函數,控制系統中的大部分循環指令.各個節點的差異僅體現在提供的功能服務上,函數和設置大致相同.
2.1.2 無線傳輸模塊

智能家居控制系統需要應用無線傳輸,以保證應用的便利性,并達到低耗能、遠程操控的目的.ZigBee模塊較為符合設計要求,該模塊包括路由、協調和終端三個節點,其中路由節點屬于數據輸送中繼站,協調節點負責網絡傳輸,終端節點負責通訊.其網絡協調如圖2所示.
2.1.3 傳感系統
該系統通過傳感裝置掌握家居情況,并借助Arduino加以分析,將數據傳輸給用戶及控制設備,達到動態監測的目的.Arduino需連接各個家居傳感裝置,之后由ZigBee將獲取的數據傳送至相關的節點.首先,光照傳感裝置,負責采集光照信號,通過光照小球獲取室內亮度數據,與核心控制相連,顯示當前室內的光照情況,通過控制核心發送至其他節點,分析當前亮度是否合適,由此調節燈具及窗簾.其次,溫、濕度傳感裝置,借助DHT11實現,其功耗不高,且監測的數據準確度和可靠性較好,其中溫度的測量范圍在0~50 ℃,誤差范圍為±2 ℃,濕度的測量范圍為20%~95%,誤差范圍為±5%.最后,煙霧氣敏選擇MQ-2,其對于煙霧的敏感程度較高,并且不會產生過多的能耗[2].
2.1.4 控制系統
本家居控制系統借助紅外設備實現對家居的控制,如空調、冰箱等,并由室內相關傳感裝置進行監測,借此控制此類設備,協同作業,提高室內的舒適度.以空調系統為例,用戶通過操作小程序及網關,向控制模塊下達命令,之后由紅外設備將信號傳輸到空調,設備接收裝置通過分析信號,完成相應的操作.
2.1.5 網關系統
網關作為整個系統的核心,是各節點穩定連接的橋梁.無線傳輸模塊ZigBee可將命令和所獲取的信息傳輸至相應節點,由此達到對各節點的把控.網關系統應用的硬件為WH-NB73,使移動網絡和家庭網絡之間形成穩定的連接.此設備具有較強的兼容性,應用性能較好,成本投入及能耗較少.同時,應用此芯片無需考量網絡協議,僅需準確設置對應的端口.
2.2.1 云平臺
云平臺可與多種設備連接,能在不同應用情況下,提供對應的服務功能,以滿足基本的設備管理需要.該平臺下的各類資源模型為用戶名下產品,且種類多樣,發揮的功能及作用也有所差異.若想達到遠程監控的效果,用戶需在特定官網上注冊賬號,登錄后借助云平臺與相應的硬件連接,選擇產品,填入產品名稱及基本介紹等,之后選擇網絡模式、設備網絡協議等有關參數.完成基本設置后,云平臺會為用戶提供虛擬名稱,用戶之前選擇的設備會自動劃分至對應的云空間.開發人員可在此空間內創建遠程控制界面.在用戶注冊時,會提供獨有的APIKeg,用戶借此可對名下的各個產品擁有既定的訪問權限.在此平臺上,可添加多項硬件,并由數據流構建儲存空間,每次信號傳輸便會形成對應的數據點.數據流內的各個數據都為具體的數據點,對其儲存采取鍵值對的模式,Keg字段內涉及到創建各類ID的數據.另外,觸發裝置也會與多項數據流相連[3].
2.2.2 小程序端
通過小程序控制該系統,掌握當前的室內環境,除上文提到的MINA框架外,還應確保應用終端獲得服務器及API接口的支持,并將室內環境、設備及有關數據信息保存至對應的數據庫內.具體而言,一方面,用戶終端若想獲得所需的功能,應當通過周期函數及對應項目處理函數,向服務器發送請求信號,并以特定的格式加以定義,最終的請求結果分為“成功”及“失敗”兩類.用戶在連接的終端設備獲取所需的數據信息,并顯示在特定的頁面上;另一方面,此類小程序的開發應在特定工具內,通過新建系統進行頁面編寫,編寫的內容需處于Pages路徑下,完成后會自動生成目錄.
小程序首頁中包括的功能有新設備接入、現有設備控制、設備查看及環境信息.進入新設備接入功能模塊后要填寫添加設備的基本信息,之后選擇室內空間,由此完成設置.而對現有設備的控制,用戶需在相應的功能界面選擇設備,系統會將信號傳送至對應的服務器,完成連接后便可操控設備.設備查看需要先選擇設備所在的空間,之后選擇設備,系統會顯示所選設備當前的相關信息.環境信息功能為用戶選擇室內空間后,直接獲取有關信息.頁面邏輯層借助文件完成,該層負責分析處理視圖層的內容,處理結果會自動傳輸至視圖層.系統層內能短期儲存數據、文件及網絡信息等,通過setData使信息由邏輯層傳輸至視圖層,并緩存涉及到的信息,而儲存文件及信息網絡方面的操作需借助特定的接口完成[4].
2.2.3 數據庫
數據庫設計是系統開發中最為基本的環節,數據庫對各類數據的操作及管理屬于控制系統開發的基礎性技術,關乎系統的穩定性.若系統數據庫設計不合理,會引發一系列的后續問題,甚至為系統埋下運行隱患,不利于系統的后續運行、維護工作的開展.因此,若想保證控制系統操作的穩定性及流暢性,需保證數據庫的質量.目前,選用MySQL數據庫較為適宜,該數據庫所需資金投入較少,且占用空間較小,對于指令的反應靈敏度處于常規水平,擁有專門的標準語法,在連接服務器期間,可進行數據加密處理,與其他管理工具相比有較好的應用優勢.對數據庫的概念設計主要包括四個部分:其一,家居設備的基本信息,包括ID、所在位置、數量、類別等;其二,用戶數據,包括ID、昵稱、刪除時間等;其三,環境數據,包括ID、溫濕度等;其四,房間信息,數據包括到ID、位置、戶主、設備ID等.通過對數據庫的概念模型加以設計,能直觀看出各信息之間的聯系,用戶和設備屬于“一對多”的關系.其中設備數據包括房間數據,而房間數據又包括環境數據,屬于層層遞進的關系.
數據庫的設計應基于概念結構,進行邏輯結構的規劃,以用戶數據為例,具體如表1所示.

表1 用戶數據表
系統采取阿里云服務器,并安設相應的控制模塊,其中包括CPU、內存(2 GB)、公網、內網以及硬盤(40 GB)、操作系統等.
軟件環境采用Linux作為控制系統,包括數據庫及編程語言等.開發的小程序應完成相關域名的設置,同時,連接的域名需事先完成備案,備案信息包括備案號、名稱及域名等.微信官方對備案的域名進行校驗審核,待通過后方可實現相應的請求.最后將備案成功后獲取的相關證書上傳到服務器上,之后便可配置Nginx.進入目錄后,新建文件,并將其復制在本地進行編輯,將編輯完成的文件傳至服務器,完成基本設置后,輸入“Nginx”,點擊回車便完成系統啟動[5].
至此,完成了從云服務器和域名兩個方面入手構建的適合微信小程序運行的服務器端的搭建.
最后,在微信小程序上對系統進行分功能、分模塊的測試.本系統主要實現了對新使用設備的接入、已入網設備的查看、在線設備的控制和設備環境的監測.系統依據搭建好的服務器上的設備信息,從數據庫調取相關數據顯示在移動端頁面上,以實現用戶在通過身份驗證后,利用網絡遠程對家居設備的添加、選擇、移除、控制(如設備開關狀態、定時控制、風向控制等),及對設備環境的監測(如室內光度、溫度等).
近幾年,現代網絡技術和物聯網技術的應用日趨成熟,對常規家居領域產生了深遠的影響.本文所研究的智能家居系統以微信小程序為基礎,借助物聯網平臺OneNET構建客戶端,實現了對設備查看、控制等功能,使用便捷,但仍存在諸多不足,如系統需求分析應更貼近實際生活,程序功能升級更新緩慢,操作頁面仍有待優化,后續將對這些不足進行研究、改進,以提升生活的便利性和用戶體驗感.