999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2017-09-09 10:13:03梁榮龍黃同成
軟件導刊 2017年8期

梁榮龍+黃同成

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

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

DOIDOI:10.11907/rjdk.171345

中圖分類號:TP319

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

0 引言

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

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

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

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

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

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

2 關鍵技術及系統(tǒng)實現

2.1 關鍵技術

2.1.1 ZigBee技術

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

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

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

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

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

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

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

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

2.1.2 微信公眾平臺

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

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

2.2.1 應用服務器開發(fā)環(huán)境

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

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

2.2.2 應用服務器Tomcat

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

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

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

2.2.3 Spring框架分析

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

2.3 系統(tǒng)實現

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

2.4 系統(tǒng)測試

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

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

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

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

3 結語

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

參考文獻:

[1] 王志軍.基于物聯(lián)網技術的智能家居系統(tǒng)的實現研究[D].淮南:安徽理工大學,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技術及應用[M].北京:北京航空航天大學出版社,2007.

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

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

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

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

[11] 林博辭.Ajax框架及JSON技術在J2EE架構中的研究與應用[D].大連:大連海事大學,2012.

[12] [加]BUDI KURNIAWAN.Servlet和JSP學習指南[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基礎知識匯總[EB/OL].http://www.runoob.com/w3cnote/basic-knowledge-summary-of-spring.html.endprint

主站蜘蛛池模板: 亚洲第七页| 国产三区二区| 国产成人AV综合久久| 狂欢视频在线观看不卡| 福利在线一区| 97在线公开视频| 国产在线视频导航| 114级毛片免费观看| 欧美色亚洲| 伊人久久大线影院首页| 亚洲国产亚洲综合在线尤物| 精品伊人久久大香线蕉网站| 茄子视频毛片免费观看| 又爽又黄又无遮挡网站| 91 九色视频丝袜| 少妇被粗大的猛烈进出免费视频| 免费观看国产小粉嫩喷水| 91福利在线观看视频| 白浆视频在线观看| 久久99国产视频| 在线观看亚洲国产| 国产对白刺激真实精品91| 亚洲国产精品人久久电影| 色网在线视频| 麻豆国产原创视频在线播放| 91丝袜美腿高跟国产极品老师| 亚洲高清无码久久久| 全免费a级毛片免费看不卡| 亚洲三级a| 美臀人妻中出中文字幕在线| 欧美怡红院视频一区二区三区| 香蕉久久国产超碰青草| 国产精品女同一区三区五区| 亚洲欧美日韩成人在线| 久久精品人人做人人爽电影蜜月| 91免费观看视频| 91国语视频| 蜜桃臀无码内射一区二区三区 | 国内精品久久久久久久久久影视| 国产福利微拍精品一区二区| 国产一区二区三区精品久久呦| 久久免费视频6| 91美女视频在线| 亚洲AⅤ波多系列中文字幕| 国产一区二区三区在线观看免费| 久久99精品久久久久纯品| 日韩经典精品无码一区二区| 成人在线观看不卡| 久久亚洲天堂| 免费精品一区二区h| 国产精品性| 99这里只有精品在线| 99re66精品视频在线观看| 99无码熟妇丰满人妻啪啪| 91探花在线观看国产最新| 日韩亚洲综合在线| 波多野结衣中文字幕久久| 91成人在线免费观看| 米奇精品一区二区三区| 国产又粗又猛又爽视频| 日本午夜精品一本在线观看| 一本色道久久88| 婷婷综合缴情亚洲五月伊| 日韩欧美亚洲国产成人综合| 国产xx在线观看| 国产黄在线免费观看| 色婷婷在线播放| 国产成人1024精品| 久久婷婷色综合老司机| 在线精品自拍| 亚洲高清在线天堂精品| 国产精品欧美在线观看| 久久久久人妻精品一区三寸蜜桃| 亚洲av无码成人专区| 1024你懂的国产精品| 手机在线国产精品| 波多野吉衣一区二区三区av| 欧美一区二区福利视频| 好吊妞欧美视频免费| 91小视频版在线观看www| 波多野结衣视频一区二区| 色吊丝av中文字幕|