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