国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ZigBee技術(shù)的家電微信控制系統(tǒng)設(shè)計

2017-09-09 10:13梁榮龍黃同成
軟件導(dǎo)刊 2017年8期
關(guān)鍵詞:ZigBee技術(shù)微信公眾平臺智能家居

梁榮龍+黃同成

摘 要:設(shè)計一個基于ZigBee無線通信技術(shù)的家電微信控制系統(tǒng)。該系統(tǒng)組網(wǎng)方便,將嵌有無線傳感器的家居、家電同互聯(lián)網(wǎng)相連,可實現(xiàn)遠(yuǎn)程控制,提供舒適、方便和人性化的智能家居環(huán)境。闡述了系統(tǒng)的設(shè)計原則、模型分析和關(guān)鍵技術(shù)實現(xiàn)。

關(guān)鍵詞:ZigBee技術(shù);嵌入式開發(fā);微信公眾平臺;智能家居

DOIDOI:10.11907/rjdk.171345

中圖分類號:TP319

文獻標(biāo)識碼:A 文章編號文章編號:1672-7800(2017)008-0069-04

0 引言

智能家居行業(yè)近幾年來獲得了迅速發(fā)展,中投顧問發(fā)布的《2016-2020年中國智能家居市場投資分析及前景預(yù)測報告》顯示,智能家居產(chǎn)值2010年為50億元,2014年上升至1 600億元,2015年達(dá)到約2 300億元,到2020年整個智能家居產(chǎn)值將突破萬億元。但是目前大多數(shù)家居控制系統(tǒng)只能通過相應(yīng)的APP使用,并且只能在局域網(wǎng)中對家居進行控制,無法滿足人們希望隨時隨地方便快捷地控制家電的需求[1]。而微信是人們使用最多的一款A(yù)PP,如果把微信公眾平臺引入到智能家居控制中,用戶無論使用哪種操作系統(tǒng)的手持設(shè)備,只要使用微信客戶端關(guān)注并綁定一臺智能設(shè)備,即可通過微信完成對設(shè)備的控制。本文提出一種基于ZigBee協(xié)議[2]、通過微信客戶端進行控制的智能家居控制系統(tǒng)設(shè)計方案。

1 系統(tǒng)功能設(shè)計

基于ZigBee技術(shù)以及微信控制的智能家電系統(tǒng)主要借助微信公眾平臺提供的數(shù)據(jù)傳輸、消息推送等服務(wù),搭建云服務(wù)器,對接微信提供的數(shù)據(jù)接口,同時在Web網(wǎng)頁內(nèi)擴展操作方式。

系統(tǒng)控制流程如圖1所示。在微信公眾平臺上注冊公眾賬號,基于該公眾號信息開發(fā)云服務(wù)器,并通過微信公眾平臺API與微信公眾平臺進行數(shù)據(jù)交互,即可處理手機端向微信公眾號發(fā)送的控制指令并作相應(yīng)處理。另外,云服務(wù)器創(chuàng)建了一個Socket服務(wù)端,讓部署在家庭中的WiFi模塊可以通過Socket連接到云服務(wù)器上,獲取控制指令消息,再通過串口轉(zhuǎn)發(fā)到ZiGBee協(xié)調(diào)器;ZiGBee協(xié)調(diào)器通過ZiGBee網(wǎng)絡(luò)與各ZiGBee節(jié)點進行廣播通信,節(jié)點通過點播將結(jié)果返回給協(xié)調(diào)器;協(xié)調(diào)器再通過串口發(fā)送到WiFi模塊,WiFi模塊通過Socket發(fā)送到云服務(wù)器;云服務(wù)器通過微信公眾平臺消息接口把結(jié)果返回并展示給手機端用戶。

用戶發(fā)送文本消息通過驗證綁定設(shè)備后,即可在微信公眾號內(nèi)部通過點擊自定義菜單來控制設(shè)備。在此之前,需要在微信公眾號注冊以獲得賬號信息及填寫接口配置信息,如圖2所示。在通過認(rèn)證后,才能接受微信推送。開發(fā)者提交驗證申請時,微信服務(wù)器發(fā)送GET請求到填寫的URL上(見圖2示例中的doPost接口)。該請求攜帶的參數(shù)為:signature、timestamp、nonce、echostr,開發(fā)者通過對簽名(即signature,該參數(shù)結(jié)合了開發(fā)者填寫的token,見圖2示例中的“weixinValidation”參數(shù)和請求中的timestamp參數(shù)、nonce參數(shù))的校驗,判斷該請求是否來自微信服務(wù)器。應(yīng)用服務(wù)器驗證通過后,需要將echostr參數(shù)反饋給微信服務(wù)器,從而接入生效,成為開發(fā)者。

有了以上信息后,即可開發(fā)微信服務(wù)器響應(yīng)程序,并將響應(yīng)程序部署到tomcat下運行。本系統(tǒng)使用微信推送的消息主要包括[3]:①自定義菜單事件。微信公眾平臺提供自定義菜單服務(wù),開發(fā)者根據(jù)系統(tǒng)需求上傳一個JSON格式數(shù)據(jù)到微信提供的“自定義菜單創(chuàng)建接口”。本系統(tǒng)創(chuàng)建了一種菜單類型——click菜單類型,用戶點擊click類型按鈕后,微信服務(wù)器會通過消息接口推送消息類型為event的結(jié)構(gòu)給開發(fā)者[4];②普通文本消息。該接口主要用于用戶驗證并綁定設(shè)備時,微信用戶給公眾號發(fā)送消息,微信服務(wù)器將消息內(nèi)容以XML格式發(fā)送到開發(fā)者填寫的URL上[5]。如用戶發(fā)送“注冊:lisi2017”,應(yīng)用服務(wù)器則根據(jù)消息格式驗證并綁定相應(yīng)設(shè)備。

2 關(guān)鍵技術(shù)及系統(tǒng)實現(xiàn)

2.1 關(guān)鍵技術(shù)

2.1.1 ZigBee技術(shù)

ZigBee無線通信技術(shù)是一種廣泛應(yīng)用于遠(yuǎn)程控制和工業(yè)控制的技術(shù)。其中,ZigBee的2.4G赫茲、915M赫茲和868M赫茲是目前為止應(yīng)用最多的。它們的傳遞速度分別為:250Kbits、40Kpbs和20Kpbs,且有效范圍為10~100m。為了更好地保護數(shù)據(jù)安全,ZigBee設(shè)置了3個不同的安全等級,用戶可以根據(jù)自身的使用情況進行選擇。另外,ZigBee的嵌入式技術(shù)是其它無線設(shè)備很少具備的,還集成了其它無線設(shè)備成本低、功耗低的優(yōu)點,因此其更加受到工業(yè)領(lǐng)域的青睞[6]。

與其它無線通信技術(shù)相比,ZigBee技術(shù)有以下優(yōu)勢:

(1)廉價性。ZigBee使用的芯片價格僅在兩美元左右,而且技術(shù)免協(xié)議專利費。

(2)功率消耗低。因為其獨特的待機模式,使兩節(jié)五號電池可在一個節(jié)點下使用兩年之久。

(3)速率低。ZigBee在較低速率環(huán)境下工作,且其在不同頻帶間可以提供不同的數(shù)據(jù)吞吐率,用于滿足不同速率傳送數(shù)據(jù)的需要。

(4)高效性。為了節(jié)省功耗,不同的無線設(shè)備均設(shè)置了不同的休眠模式。其中WiFi休眠至工作模式需要3s,藍(lán)牙需消耗3~10s,而ZigBee僅需15ms,其從節(jié)點連接到網(wǎng)絡(luò)也僅需要30ms。

(5)數(shù)據(jù)傳輸量大。ZigBee可使用樹狀、星狀和網(wǎng)狀網(wǎng)絡(luò)構(gòu)造,通過一個主要節(jié)點對其它節(jié)點進行集中管理。一個主節(jié)點最多可管理254個子節(jié)點,同時主節(jié)點還可由上一層網(wǎng)絡(luò)節(jié)點進行管理,最多可組成65 000個節(jié)點的大型網(wǎng)絡(luò)。

(6)安全性高。ZigBee為適應(yīng)不同安全要求,設(shè)計了三級安全模式,其中無安全設(shè)定、使用訪問控制列表為防止非法獲取數(shù)據(jù)的基礎(chǔ)模式,而對稱密碼為釆用高級加密標(biāo)準(zhǔn)的高級安全設(shè)置。endprint

2.1.2 微信公眾平臺

微信公眾平臺是目前移動互聯(lián)網(wǎng)上最受關(guān)注的平臺之一,企業(yè)也可以通過公眾號進行有效的品牌營銷。通過公眾平臺可將生活服務(wù)、商戶、大眾媒體等全部整合起來。2013年11月,由海爾、騰訊聯(lián)合推出的應(yīng)用微信技術(shù)的家電——天樽空調(diào),開創(chuàng)了家電領(lǐng)域運用微信控制電器的先例。2013年12月23日,互聯(lián)網(wǎng)電視運營商未來電視、電子消費生產(chǎn)商創(chuàng)維與騰訊聯(lián)合打造的“微信電視”在北京發(fā)布。本文實現(xiàn)了一種新的智能空調(diào)使用方式,借助微信公眾平臺的消息推送功能、微信公眾號具有的Web網(wǎng)頁擴展功能和開源的sip協(xié)議(會話發(fā)起協(xié)議),實現(xiàn)了一款在微信公眾號內(nèi)部和嵌入的Web網(wǎng)頁里完成智能空調(diào)控制的系統(tǒng)[7-8]。用戶無需下載APP,即可以實現(xiàn)與設(shè)備在微信內(nèi)聊天式的雙向互動。用戶只需要在智能終端上安裝一個微信客戶端,然后關(guān)注該智能控制公眾號后,即可實現(xiàn)對空調(diào)的控制。

2.2 系統(tǒng)框架及開發(fā)環(huán)境搭建

2.2.1 應(yīng)用服務(wù)器開發(fā)環(huán)境

本系統(tǒng)采用Java開發(fā)應(yīng)用服務(wù)器,使用Eclipse作為開發(fā)工具,可以很方便地通過搭建servlet來實現(xiàn)http服務(wù),開發(fā)Java項目[9-13]。

為了運行Java程序,需要安裝JDK,Java通過JVM實現(xiàn)跨平臺運行,JVM包含在JDK中。安裝好JDK后即可運行Eclipse,新建一個Maven project,選擇maven-archetype-webapp原型,填寫Group Id以及Artifact Id,按照提示完成新建。

2.2.2 應(yīng)用服務(wù)器Tomcat

項目完成后要通過應(yīng)用服務(wù)器進行發(fā)布,本文采用Apache Tomcat服務(wù)器[14]。Tomcat是一款由Apache、Sun等公司開發(fā)的開源軟件。Tomcat中部署的應(yīng)用程序是一個WAR(Web Archive)文件。Tomcat的目錄結(jié)構(gòu)如圖3所示。

將項目war包復(fù)制到webapps文件夾下,然后啟動Tomcat即可。需要注意的是,微信公眾平臺要求應(yīng)用服務(wù)器必須在80端口接收數(shù)據(jù),所以需要將Tomcat默認(rèn)的服務(wù)端口8080修改為80端口。修改conf文件夾下的server.xml文件,將其中Connector的port修改為80,如圖4所示。

現(xiàn)在即可通過Tomcat發(fā)布已經(jīng)寫好的項目了。更新war包,先刪除Tomcat目錄下的work/Catalina文件夾。因為這個文件夾中保留有項目的緩存,若不清理該文件夾,有可能出現(xiàn)代碼不更新的情況。

2.2.3 Spring框架分析

Spring框架為POJO(Plain Old Java Object,簡單Java對象)提供的各種服務(wù)共同組成了Spring的生命之樹[15],如圖5所示。組成整個Spring框架的各種服務(wù)實現(xiàn)被劃分到多個相互獨立卻又相互依賴的模塊當(dāng)中。整個Spring框架構(gòu)建在Core核心模塊之上,它是整個框架的基礎(chǔ)。本文中的應(yīng)用服務(wù)器采用Spring作為系統(tǒng)基礎(chǔ)架構(gòu),將各個事務(wù)處理線程連接起來。

2.3 系統(tǒng)實現(xiàn)

系統(tǒng)程序使用Spring MVC 框架搭建Maven項目。使用Spring框架有許多優(yōu)點,Spring的IoC容器降低了業(yè)務(wù)對象替換的復(fù)雜性,提高了組件之間的解耦;Spring的AOP支持將一些通用任務(wù),如安全、事務(wù)、日志等進行集中式管理,從而提供了更好的復(fù)用;Spring的ORM和DAO提供了與第三方持久層框架的良好整合,并簡化了底層的數(shù)據(jù)庫訪問;Spring的高度開放性并不強制開發(fā)者完全依賴于Spring,而是可自由選用Spring框架的部分或全部。該系統(tǒng)程序主要接收微信公眾平臺轉(zhuǎn)發(fā)的微信用戶消息,微信用戶向公眾號發(fā)送消息時,公眾平臺將消息轉(zhuǎn)發(fā)到一個URL上,該URL由開發(fā)人員配置。系統(tǒng)程序響應(yīng)該URL請求,接收HTTP請求發(fā)送的數(shù)據(jù),對數(shù)據(jù)進行協(xié)議解析,然后通過Socket連接發(fā)送控制指令到嵌入傳感器及WiFi模塊的智能硬件上,智能硬件接收到控制指令便執(zhí)行相應(yīng)操作。Zigbee基于802.15.4物理層協(xié)議、支持自組網(wǎng)、多點中繼,可實現(xiàn)網(wǎng)狀拓?fù)鋸?fù)雜的組網(wǎng)協(xié)議,加上其低功耗的特點,使得網(wǎng)絡(luò)間的設(shè)備必須各司其職,有效地協(xié)同工作。因此,基于ZigBee技術(shù)的組網(wǎng)方式可以高效地實現(xiàn)多臺家電集成控制。

2.4 系統(tǒng)測試

(1) 關(guān)注公眾號,公眾號將為用戶推送“謝謝您的關(guān)注!”消息內(nèi)容。用戶點擊自定義開關(guān)按鈕“智能開關(guān)”時,若未通過驗證則需先進行驗證。

(2)驗證注冊,綁定設(shè)備。用戶向公眾號發(fā)送注冊信息,如注冊:lisi。若智能設(shè)備的單片機未通過網(wǎng)絡(luò)連接到服務(wù)器,則公眾號向用戶推送“單片機未連接!”消息提示。此時用戶需將設(shè)備打開并連接網(wǎng)絡(luò)(本文使用WiFi透傳作為通信鏈路,打開設(shè)備即自動連接WiFi以接入服務(wù)器),設(shè)備連接后用戶發(fā)送注冊信息(注冊信息的驗證名,如lisi,需與設(shè)備提供的驗證名相同),公眾號提示驗證成功,如圖6所示。

(3) 控制智能設(shè)備打開或關(guān)閉。驗證成功后,用戶點擊自定義菜單“智能開關(guān)”,智能設(shè)備打開或關(guān)閉,公眾號向用戶推送“開關(guān)打開”或“開關(guān)關(guān)閉”消息,如圖7所示。

經(jīng)測試,用戶可通過網(wǎng)絡(luò)隨時隨地向公眾號發(fā)送控制指令控制智能設(shè)備,智能設(shè)備處于可以連接網(wǎng)絡(luò)的環(huán)境中。若部署在家中,可設(shè)置WiFi讓智能設(shè)備連接網(wǎng)絡(luò),以方便控制。為了更全面地實現(xiàn)智能家居的功能,在家庭中部署一個ZigBee協(xié)調(diào)器,用來收集各ZigBee節(jié)點數(shù)據(jù),以及轉(zhuǎn)發(fā)用戶發(fā)送的對各智能設(shè)備的控制指令,可以使用戶控制更多設(shè)備。

3 結(jié)語

本文闡述了基于ZigBee網(wǎng)絡(luò)的通過WiFi透傳的微信家電控制系統(tǒng)的研發(fā)與實現(xiàn)。結(jié)合物聯(lián)網(wǎng)智能家居發(fā)展情況,分析了智能家電控制需求,提出借助于微信公眾平臺提供的功能實現(xiàn)智能家電控制。探討系統(tǒng)開發(fā)流程及開發(fā)過程中可能遇到的問題,如開發(fā)環(huán)境的搭建、開發(fā)工具的使用、編程過程中關(guān)鍵技術(shù)的分析等,以及項目的需求分析、功能分析和系統(tǒng)架構(gòu)設(shè)計,編程實現(xiàn)了本控制系統(tǒng),并對其進行了功能測試,結(jié)果可滿足功能需求和設(shè)計要求。endprint

參考文獻:

[1] 王志軍.基于物聯(lián)網(wǎng)技術(shù)的智能家居系統(tǒng)的實現(xiàn)研究[D].淮南:安徽理工大學(xué),2012.

[2] 宋國鵬,周云峰,朱夢宇.基于Zigbee的智能家居系統(tǒng)[J].電子世界,2012(9): 94-96.

[3] 微信公眾平臺開發(fā)者文檔:自定義菜單事件推送[EB/OL].https://mp.weixin.qq.com/wiki.

[4] 微信公眾平臺開發(fā)者文檔:接收普通消息[EB/OL].https://mp.weixin.qq.com/wiki.

[5] 微信公眾平臺開發(fā)者文檔:接收事件推送[EB/OL].https://mp.weixin.qq.com/wiki.

[6] 劉盛德,瞿雷.Zigbee技術(shù)及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2007.

[7] 劉西杰,柳林.HTML、CSS、JavaScript網(wǎng)頁制作從入門到精通[M].北京:人民郵電出版社,2012.

[8] [美]JONATHAN CHAFFER,KARL SWEDBERG.jQuery基礎(chǔ)教程[M].第4版.李松峰,譯.北京:人民郵電出版社,2013.

[9] [美]BRUCE ECKEL.Java編程思想[M].第4版.陳昊鵬,譯.北京:機械工業(yè)出版社,2007.

[10] [美]DAVID GOURLEY,BRIAN TOTTY,MARJPROE SAYER,et al.HTTP權(quán)威指南[M].陳涓,趙振平,譯.北京:人民郵電出版社,2012.

[11] 林博辭.Ajax框架及JSON技術(shù)在J2EE架構(gòu)中的研究與應(yīng)用[D].大連:大連海事大學(xué),2012.

[12] [加]BUDI KURNIAWAN.Servlet和JSP學(xué)習(xí)指南[M].崔毅,俞哲皆,俞黎敏,譯.北京:機械工業(yè)出版社,2013.

[13] [美]BRIAN GOETZ,TIM PEIERLS,JOSHUA BLOCH,et al.Java并發(fā)編程實戰(zhàn)[M].童云蘭,等,譯.北京:機械工業(yè)出版社,2012.

[14] JASON BRITTAIN.Tomcat:the definitive guide[M].Createspace,2007.

[15] Spring基礎(chǔ)知識匯總[EB/OL].http://www.runoob.com/w3cnote/basic-knowledge-summary-of-spring.html.endprint

猜你喜歡
ZigBee技術(shù)微信公眾平臺智能家居
基于Zigbee的無線通信技術(shù)在智能家居中的應(yīng)用
多傳感器數(shù)據(jù)融合技術(shù)在機房監(jiān)控系統(tǒng)中的應(yīng)用
基于微信的大學(xué)生微型學(xué)習(xí)平臺的設(shè)計與實現(xiàn)
基于微信公眾平臺的碎片化學(xué)習(xí)研究
關(guān)于智能家居真正需求的探討
基于LD3320的智能家居控制
来宾市| 丰台区| 建德市| 凌云县| 平原县| 东港市| 名山县| 阜新市| 招远市| 册亨县| 玉龙| 承德县| 霞浦县| 怀化市| 白水县| 健康| 常熟市| 沂水县| 巴东县| 建始县| 招远市| 江源县| 柳林县| 五家渠市| 洞口县| 浦城县| 福安市| 红桥区| 新津县| 方山县| 白朗县| 芜湖县| 澄城县| 普陀区| 巴南区| 张家川| 永泰县| 安义县| 岳阳县| 南城县| 永定县|