(遼寧工業(yè)大學 電子與信息工程學院,遼寧 錦州 121001)
目前對于智能家居將要達到什么樣的需求水平還沒有統(tǒng)一的標準[1],智能家居能夠給人們提供什么樣的服務也有待商榷。這種情況導致消費者的認知水平一直處在較為模糊的階段層次。但隨著科技全球化的到來,人們對于科技的滿足感正發(fā)生著翻天覆地的重新認識,區(qū)別于以前傳統(tǒng)工藝,科技的進步正在引導著人們朝著更加舒適與智能的方向前進[2]。于是方便、快捷、高效的小程序正是異軍突起的最佳時刻。根據(jù)這樣的市場現(xiàn)象,本文將微信小程序[3]與智能家居相結合,設計了一款基于微信小程序的智能家居系統(tǒng)[4]。
系統(tǒng)中的微信小程序方便用戶遠程管理并使用家中設備,提供了查看添加設備、遠程控制功能和電器管理功能,使得用戶可以隨時查看家庭設備狀態(tài)并對其進行有效控制,同時對家用電器還能做到有效的監(jiān)管作用,達到用戶統(tǒng)一管理的目的。
該系統(tǒng)使用微信web開發(fā)者工具進行開發(fā),貝殼物聯(lián)進行小程序與硬件的連接搭建。小程序使用戶隨用隨停、隨時隨地對電器進行管理,內存占用量小,無需安裝APP,最大地方便了用戶。
用戶端的系統(tǒng)功能結構如圖1 所示。
基于微信的智能家居小程序采用多類型模式,系統(tǒng)包含以下6 個模塊:智能照明、智能插座、智能窗簾、智能檢測、常識普及和設備控制,可以供用戶使用操作。
智能照明可對室內進行燈光調節(jié),更加方便地調節(jié)燈光;智能插座控制可遠距離地控制插座的開與關,增加安全性;智能窗簾控制可對窗簾進行開與關調節(jié);煙霧檢測可檢測屋內有害氣體是否超標,提醒用戶是否處于危險當中;常識普及可對家具進行小常識的普及,讓用戶更加了解保護家居技巧;添加設備可對設備進行查看與增刪。
硬件的系統(tǒng)模型搭建如圖2 所示。
圖2 為硬件的模型搭建圖。將各個硬件放在了家居所在地,模擬了真實室內情況。繼電器模塊控制插座,進而控制家中使用電器,溫濕度檢測器檢測室內溫濕度,LED 燈顯示亮度,煙霧檢測器檢測煙霧濃度,步進電機控制窗簾升降。
軟件業(yè)務邏輯如圖3 所示。用戶在小程序端注冊后,登陸小程序,物聯(lián)平臺端會通過用戶提供的指定ID、APIKEY 與硬件在貝殼物聯(lián)上相互連接,同時將傳感器采集到的信息傳到平臺,小程序端通過平臺的數(shù)據(jù)接口獲取單片機上傳的數(shù)據(jù),并進行檢測與控制。
物聯(lián)網(wǎng)作為新時代信息、通信技術的重要組成部分,在現(xiàn)代背景下有著可觀的發(fā)展前景。貝殼物聯(lián)網(wǎng)平臺是一個使智能設備與物聯(lián)網(wǎng)云平臺溝通的“數(shù)據(jù)交互中心”。通過互聯(lián)網(wǎng)以對話、遙控器等形式與智能設備聊天、發(fā)送指令,查看實時數(shù)據(jù),同時還能根據(jù)實際需求去預設報警條件,再通過郵件、短信、APP、微信等方式去告知用戶。
物聯(lián)網(wǎng)以群智感知、模式識別及普適計算等通信感知技術,已經在網(wǎng)絡中有著廣泛的應用,也在慢慢地融入生產和生活之中,所有人們也常常把物聯(lián)網(wǎng)技術稱為繼計算機、互聯(lián)網(wǎng)之后世界信息產業(yè)發(fā)展的第三次浪潮。
本項目采用貝殼物聯(lián)作為中間件,連接微信小程序與硬件。微信小程序、硬件設備與貝殼物聯(lián)相連接實行實時交換,微信小程序請求Web API 平臺調取貝殼物聯(lián) JSON 數(shù)據(jù),ESP8266[5]+arduinoUNO[6]利用貝殼物聯(lián)平臺進行數(shù)據(jù)交換。軟件體系結構如圖4 所示。
根據(jù)基于微信小程序的智能家居系統(tǒng)的系統(tǒng)結構分析以及開發(fā)框架的特點,小程序設計了“主頁面”、“常識”、“我的”3 個頁面。用戶在微信搜索小程序后會跳轉至功能選擇窗口,進行相應的操作。小程序的工作流程如圖5 所示,用戶對小程序的操作按照軟件使用流程進行實現(xiàn)。
(1)開始時,用戶登錄微信搜索小程序,登錄后進入功能選擇界面。用戶有“常識”、“主頁”、“我的”3 個選項可以選擇。
(2)用戶點擊主頁,第一次使用需要添加設備,添加成功后便可對設備進行燈光、窗簾、插座、煙霧、溫濕的控制。
(3)用戶可以在“常識”界面進行常識和各種各樣的生活實用小技巧的查看,方便用戶在控制智能家居的同時了解更多知識。
(4)用戶也可以在“我的”界面進行設備的管理,包括個人信息的查看、設備的管理等操作。
微信小程序開發(fā)以及多種功能的實現(xiàn),首先是從數(shù)據(jù)的獲取開始的,系統(tǒng)通過小程序請求Web API 平臺獲取JSON 數(shù)據(jù),由于JSON 格式的接口不僅可以應用在常規(guī)的Web 業(yè)務系統(tǒng)還能有效地跨平臺應用在安卓系統(tǒng)[7]、IOS 系統(tǒng)上[8]。在微信小程序上post 請求獲取授權碼(access_token),get 請求獲取用戶信息與設備信息,get 請求調取用戶數(shù)據(jù)接口與歷史數(shù)據(jù),post 請求發(fā)送實時消息。關于POST 接口定義方式的代碼如下:
硬件連接主要用到煙霧檢測器、數(shù)據(jù)傳輸模塊、主板、LED 照明燈、步進電機、溫濕度檢測器、繼電器、蜂鳴器、步進電機驅動板。保證傳輸數(shù)據(jù)的穩(wěn)定性,不會意外斷線、掉線,在信號遭受干擾時仍能高效穩(wěn)定地傳輸數(shù)據(jù)。
在硬件傳輸方面,Arduino 單片機作為硬件端,為了與物聯(lián)平臺進行數(shù)據(jù)傳輸,系統(tǒng)使用ESP8266網(wǎng)絡模塊,連接家中WIFI,通過編寫請求格式,符合TCP 傳輸協(xié)議,進行數(shù)據(jù)傳輸。在硬件通訊方面,采用ESP8266+Arduino UNO 的方法,借助貝殼物聯(lián)平臺實現(xiàn)數(shù)據(jù)交換。調用貝殼物聯(lián)上的接口,實現(xiàn)小程序與硬件實時通訊,并最后把數(shù)據(jù)顯示在小程序端。
系統(tǒng)的軟件使用黑盒測試的方法進行測試。對軟件的功能進行逐個測試,測試系統(tǒng)的合理和不合理輸入數(shù)據(jù)時能否正常運行。同時,進行用戶現(xiàn)場環(huán)境測試,對功能的安全性、可靠性、可使用性多個方面進行全面、嚴謹、規(guī)范的測試。測試結果表明,“基于微信小程序的智能家居系統(tǒng)”完全達到業(yè)務需求文檔中的要求,并具有以下特點。
(1)功能全面。它包含了添加設備、燈光控制、插座控制、窗簾控制、煙霧檢測、溫濕查詢等功能,具有很高的實用價值。
(2)軟件微信小程序的系統(tǒng)安全性更好。該系統(tǒng)對于權限設置功能有更嚴格的要求,對于權限的設置進行了細化,使得不同的人有不同的權限功能,不同權限的人員只能看到自己有權限訪問的字段內容,從而有效地保證了數(shù)據(jù)的安全性。
(3)微信小程序業(yè)務設置靈便。該小程序完全基于工作流程進行設計,系統(tǒng)業(yè)務功能操作簡單。
(4)小程序可靠性高。對客戶機的不當操作,如非法斷電、網(wǎng)絡故障等意外不當?shù)男袨檫M行有效避免。同時小程序采用數(shù)據(jù)校驗機制,對用戶輸入進行判斷,對錯誤數(shù)據(jù)給出了簡潔、準確的提示信息,必要時給出幫助。
(5)小程序兼容性好。通過微信端保證系統(tǒng)可以在多種操作系統(tǒng)上達到兼容,同時系統(tǒng)設計靈便,可以保證與其他相關應用軟件進行數(shù)據(jù)交互。
(6)小程序通過預測統(tǒng)計模型。通過對海量的稅收數(shù)據(jù)進行預測,使得預測模型得到的數(shù)據(jù)與真實數(shù)據(jù)更加相近。大量的預警分析稅收數(shù)據(jù),顯示預警結果正確。
(7)測試結論:通過。
軟件主界面如圖6 所示。
微信小程序主界面分為3 個模塊,分別為“主頁”、“智能”、“我的”。首次登陸此界面用戶可以對設備進行添加操作,添加完成后,即可以對智能家居做到有效控制,實時監(jiān)控家里的所有家居設備情況,做到方便、快捷、高效的管理模式。
圖7 為“智能”界面。
智能常識界面,在此界面中用戶可在此對智能家居進行常識的普及,例如洗衣小技巧、電飯煲小技巧等一些科普知識,讓用戶在操作智能家居的同時,可以學習一些生活小知識,增加趣味性的同時開拓了用戶的體驗感。
圖8 為“我的”界面。
在“我的”界面中,用戶不僅可以對智能家居的設備進行查看,還可以添加設備編號,起到更加高效管理設備的作用,同時也方便了用戶的查看。
通過基于微信小程序對于智能家居的開發(fā)和設計,幫助大家理解了Web API 設計框架、硬件的傳輸與通訊的技術要點。相比于原生態(tài)的APP,微信小程序表現(xiàn)出易開發(fā)、周期短的優(yōu)勢;主要有不需要安裝下載,不占用手機內存,比原生態(tài)APP 更易傳播和使用等優(yōu)點。同時簡單、方便、快捷、高效,不僅可以滿足年輕人群的需要,對于知識水平相對落后的老年人也有較高使用價值。