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

?

基于Android平臺的智能家居系統(tǒng)設(shè)計

2015-12-16 08:03:58秦會斌曹曙光秦利紅
電子技術(shù)應(yīng)用 2015年10期
關(guān)鍵詞:網(wǎng)關(guān)智能家居客戶端

陳 瑋,秦會斌,曹曙光,秦利紅

(1.杭州電子科技大學(xué) 電子信息學(xué)院,浙江 杭州 310018;2.浙江和惠照明科技有限公司,浙江 余姚315400)

基于Android平臺的智能家居系統(tǒng)設(shè)計

陳瑋1,秦會斌1,曹曙光2,秦利紅1

(1.杭州電子科技大學(xué) 電子信息學(xué)院,浙江 杭州 310018;2.浙江和惠照明科技有限公司,浙江 余姚315400)

為了實現(xiàn)家居生活智能、方便等目的,提出一種基于Android平臺的智能家居系統(tǒng)。采用內(nèi)外網(wǎng)通信方式,使得當(dāng)家庭寬帶不可用時仍能通過內(nèi)網(wǎng)實現(xiàn)對家居設(shè)備的控制。將用戶配置信息、設(shè)備信息存在網(wǎng)關(guān)使得不同客戶端能信息共享,實現(xiàn)動態(tài)添加、刪除動作。采用推送而不是輪詢,實時性好??蛻舳薃PP功能齊全,云計算的使用實現(xiàn)了外網(wǎng)控制,同時便于未來的系統(tǒng)擴(kuò)展。

智能家居;Android;信息推送;云計算;遠(yuǎn)程控制

0 引言

智能家居通過物聯(lián)網(wǎng)技術(shù)將家居子系統(tǒng)有機(jī)結(jié)合在一起形成高度智能化的智慧家庭[1]。物聯(lián)網(wǎng)、云概念的提出加速了智能家居的發(fā)展,Android智能手機(jī)和網(wǎng)絡(luò)技術(shù)的發(fā)展也給智能家居帶來了新的思路[2]。本文提出一個基于Android平臺的智能家居系統(tǒng)設(shè)計方案。以Android手機(jī)作為家居控制終端,通過云平臺轉(zhuǎn)發(fā)消息,真正實現(xiàn)遠(yuǎn)程控制,將用戶信息、設(shè)備信息存在網(wǎng)關(guān)使不同客戶端能實現(xiàn)信息共享,實現(xiàn)動態(tài)添加、刪除動作。結(jié)合推送技術(shù)獲得良好的實時性。

1 系統(tǒng)總體框架圖

系統(tǒng)由客戶端、云計算中心、網(wǎng)關(guān)和家庭設(shè)備組成。系統(tǒng)框架如圖1所示。

客戶端實現(xiàn)對底層設(shè)備的控制方式包括:(1)內(nèi)網(wǎng)控制:客戶端使用家庭網(wǎng)絡(luò)與網(wǎng)關(guān)直接通信,由網(wǎng)關(guān)控制底層設(shè)備;(2)外網(wǎng)控制:客戶端與網(wǎng)關(guān)不在同一網(wǎng)段內(nèi),客戶端指令由云服務(wù)器轉(zhuǎn)發(fā)給對應(yīng)的網(wǎng)關(guān),再由網(wǎng)關(guān)控制底層設(shè)備。采用內(nèi)外網(wǎng)的通信方式,使得家庭寬帶網(wǎng)絡(luò)在不可使用的情況下,仍能通過內(nèi)網(wǎng)通信實現(xiàn)對設(shè)備的控制,同時節(jié)省用戶數(shù)據(jù)流量[3]。每次運行客戶端軟件,會自動獲取網(wǎng)關(guān)處的配置信息、設(shè)備信息。網(wǎng)關(guān)同步底層設(shè)備狀態(tài),當(dāng)發(fā)生改變時由網(wǎng)關(guān)轉(zhuǎn)發(fā)給客戶端,使用戶能及時獲知底層設(shè)備的最新狀態(tài)。

圖1 系統(tǒng)框圖

2 客戶端設(shè)計與實現(xiàn)

2.1客戶端功能說明

Android客戶端功能模塊如圖2所示。

設(shè)備管理是核心模塊,包括自定義房間和設(shè)備??商砑印h除、修改房間,房間下可添加設(shè)備。點擊設(shè)備管理,通過后臺獲取當(dāng)前用戶下的所有房間并以JSON格式返回,客戶端完成解析并顯示在界面上,點擊添加圖標(biāo)進(jìn)入添加房間界面,填寫房間名稱并將用戶ID與房間名稱發(fā)往網(wǎng)關(guān)并保存至數(shù)據(jù)庫。通過長按房間界面實現(xiàn)刪除與修改動作。點擊房間會顯示該房間下的所有設(shè)備,可添加設(shè)備,長按刪除設(shè)備,不提供修改設(shè)備動作??梢钥刂茊蝹€設(shè)備或區(qū)域內(nèi)的所有設(shè)備,也可以對某個情景模式關(guān)聯(lián)的設(shè)備進(jìn)行聯(lián)動控制。

圖2 客戶端功能模塊圖

2.2客戶端框架

在Eclipse開發(fā)環(huán)境下,采用 java語言,基于 MVC模式對客戶端進(jìn)行設(shè)計。視圖層View負(fù)責(zé)生成用戶界面,接收輸入并顯示結(jié)果。控制層Controller用于監(jiān)聽用戶操作并作出反應(yīng)。模型層Model定義了各種功能模塊,包括通信模塊、數(shù)據(jù)庫模塊、數(shù)據(jù)格式的封裝和解析模塊等[4],其中通信模塊是核心。

2.3通信模塊

通信模塊負(fù)責(zé)客戶端和服務(wù)器或網(wǎng)關(guān)間的消息通信和鏈路維護(hù)。通信方式有:TCP/UDP、Http、MQTT推送。系統(tǒng)的通信協(xié)議如圖3。過程如下:

圖3 通信協(xié)議圖

(1)第一次使用軟件,需在云端完成注冊,將用戶名和密碼以Http方式發(fā)到云端,并獲得服務(wù)器生成的用戶ID。同時在家庭 WiFi環(huán)境下使網(wǎng)關(guān)加入局域網(wǎng):將WiFi的SSID和密碼通過加密算法進(jìn)行加密,將加密序列生成UDP數(shù)據(jù)包并發(fā)送出去,網(wǎng)關(guān)獲得該包并解析出WiFi相關(guān)信息,實現(xiàn)自動連接到路由器。

(2)綁定網(wǎng)關(guān)。網(wǎng)關(guān)加入局域網(wǎng)后監(jiān)聽客戶端廣播的數(shù)據(jù)包并返回自己的IP地址和TCP通信端口,客戶端通過TCP的Socket發(fā)送用戶ID到網(wǎng)關(guān)實現(xiàn)和網(wǎng)關(guān)的綁定,同時將用戶和網(wǎng)關(guān)的唯一標(biāo)識號發(fā)送至云端實現(xiàn)綁定,這樣客戶端通過外網(wǎng)訪問云服務(wù)器時,服務(wù)器能轉(zhuǎn)發(fā)指令給對應(yīng)的網(wǎng)關(guān)。

(3)以后每次使用軟件前,都要判斷當(dāng)前網(wǎng)絡(luò)環(huán)境。即判斷客戶端和網(wǎng)關(guān)是否在同一網(wǎng)段內(nèi)。若客戶端沒有接收到返回信息,說明它們不在一個網(wǎng)段內(nèi),則選擇通過Http方式連接云服務(wù)器。

(4)采用MQTT實現(xiàn)設(shè)備狀態(tài)的實時更新。訂閱客戶端所綁定的網(wǎng)關(guān),網(wǎng)關(guān)同步底層設(shè)備狀態(tài),當(dāng)狀態(tài)改變時,由網(wǎng)關(guān)發(fā)送給MQTT server,再推送至客戶端。

系統(tǒng)的通信模塊活動圖如圖4所示。

圖4 通信模塊活動圖

2.4通信模塊實現(xiàn)

2.4.1Http通信

外網(wǎng)通信方式下,用戶登錄、獲取設(shè)備信息等由客戶端采用 Http建立主動連接,服務(wù)器將結(jié)果以 JSON格式返回。模塊中的Http請求用Android-Async-Http網(wǎng)絡(luò)請求庫實現(xiàn),它是基于Apache HttpClient庫之上的一個異步網(wǎng)絡(luò)請求處理庫,網(wǎng)絡(luò)處理均基于Android的非UI線程,不阻塞UI操作,通過回調(diào)方法處理請求結(jié)果。

Android-Async-Http使用簡單,通過核心類AsyncHttp-Client的實例就可以執(zhí)行網(wǎng)絡(luò)請求,提供 put、post等方法。登陸過程如下:

(1)創(chuàng)建AsyncHttpClient的實例

(2)創(chuàng)建請求參數(shù)的封裝對象

(3)執(zhí)行post方法

new AsyncHttpResponseHandler()這個實例用于接收請求結(jié)果,一般重寫onSuccess()和onFailure()方法接收請求成功或失敗的消息。onSuccess()方法的參數(shù)responseBody為響應(yīng)內(nèi)容字節(jié)。

2.4.2MQTT推送

MQTT是基于 TCP/IP協(xié)議,專為物聯(lián)網(wǎng)開發(fā)的輕量級通信協(xié)議。該協(xié)議針對網(wǎng)絡(luò)差、計算能力低的設(shè)備做了特殊處理,使其能適應(yīng)物聯(lián)網(wǎng)應(yīng)用場景,有占用寬帶小、耗電量少等優(yōu)勢。協(xié)議里有兩個主要角色:MQTT client和MQTT server。client向 server訂閱某個話題就能收到發(fā)布到該話題的所有消息;client發(fā)布消息到某個話題下,則該話題的所有訂閱者都能收到[5]。通信時序圖如圖5所示。

圖5 MQTT client和MQTT server通信時序圖

本文通過MQTT實現(xiàn)客戶端實時獲得設(shè)備信息??蛻舳藢?yīng)MQTT client,是消息訂閱者。當(dāng)狀態(tài)改變時,由設(shè)備將信息發(fā)送給網(wǎng)關(guān),再由網(wǎng)關(guān)傳遞給MQTT server,再推送至訂閱了該網(wǎng)關(guān)的客戶端。使用MQTT,須將mqttv3.jar包加入Android應(yīng)用程序中,它是IBM提供的MQTT協(xié)議的實現(xiàn)。APK調(diào)用該jar包提供的API接口,就能建立MQTT client和MQTT server的連接。流程如下[6]:

(1)創(chuàng)建一個 MqttClient對象,參數(shù)包括 MQTT server所在的IP地址和端口號、客戶端唯一標(biāo)識clientid等。

(2)創(chuàng)建MqttConnectOptions的對象并進(jìn)行設(shè)置。用戶名和密碼用于連接MQTT server時進(jìn)行驗證,心跳時間用于client定時發(fā)送心跳包,以便和server保持連接。

(5)訂閱某個網(wǎng)關(guān)的話題,接收網(wǎng)關(guān)發(fā)布到該話題下的消息,即設(shè)備信息。TOPICS是客戶端訂閱的話題,設(shè)為“gateway-example”。QOS_VALUES代表服務(wù)質(zhì)量保證級別,1表示至少會發(fā)送一次消息。

MQTT技術(shù)可以實現(xiàn)底層設(shè)備信息的實時更新,非常適合智能家居這種使用場景。

3 云計算中心

云計算將計算任務(wù)分布在大量計算機(jī)構(gòu)成的資源池上,使各種應(yīng)用系統(tǒng)按需獲取計算力、存儲空間和信息服務(wù)[7]。云計算作為一種新技術(shù)受到越來越多的親睞,很多學(xué)校、企業(yè)都建立了云計算數(shù)據(jù)中心。本文采用阿里云 ECS(Elastic Compute Service)作為云計算中心,它是一種簡單高效、處理能力可彈性伸縮計算服務(wù)。服務(wù)器開發(fā)框架采用 Jquery+SpringMVC+Mybatis+Ehcache。Mybatis是一個基于Java的持久層框架,支持普通SQL查詢。為了提高M(jìn)ybatis的性能,需要添加第三方緩存組件支持,目前用的比較多的是Ehcache緩存。Ehcache性能強(qiáng)大、快速簡單,具有多種緩存策略。Mybatis與Ehcache整合可以提高性能,提高查詢效率,降低數(shù)據(jù)庫壓力。

4 功能測試

主要對設(shè)備的實時控制和狀態(tài)值的實時刷新進(jìn)行了驗證。設(shè)備用繼電器模擬,使用安裝 Android程序的手機(jī)作為客戶端進(jìn)行功能測試。

在外網(wǎng)環(huán)境下,當(dāng)客戶端連接服務(wù)器后,觸發(fā)設(shè)備開關(guān)按鈕,可以將控制命令由云中轉(zhuǎn)至網(wǎng)關(guān),再轉(zhuǎn)發(fā)至底層設(shè)備控制繼電器開關(guān),同時設(shè)備的最新狀態(tài)和傳感器值也會在客戶端進(jìn)行實時刷新。測試結(jié)果如圖6,客戶端能保持和網(wǎng)關(guān)信息同步。

5 結(jié)論

圖6 測試結(jié)果

本文簡要介紹了基于Android平臺的智能家居系統(tǒng)設(shè)計和關(guān)鍵技術(shù)。該系統(tǒng)結(jié)合了云計算和MQTT技術(shù),實現(xiàn)遠(yuǎn)程控制和信息同步,同時提供了內(nèi)網(wǎng)控制,設(shè)備信息存在網(wǎng)關(guān)保證用戶信息共享。為市場化應(yīng)用提供一種參考。

[1]岳敬華.基于云服務(wù)的智能家居系統(tǒng)的研究與設(shè)計[D].杭州:杭州電子科技大學(xué),2014.

[2]吳浩權(quán).基于 Android的智能家居系統(tǒng)的研究與設(shè)計[D].杭州:浙江工業(yè)大學(xué),2013.

[3]崔荔.基于 Android平臺的智能家居客戶端系統(tǒng)設(shè)計與實現(xiàn)[D].西安:長安大學(xué),2013.

[4]王運紅,何靈娜.基于Android平臺智能家居客戶端的設(shè)計和實現(xiàn)[J].機(jī)電工程,2014,31(8);1086-1089,1102.

[5]關(guān)慶余.基于 MQTT協(xié)議的移動社交網(wǎng)絡(luò)客戶端的設(shè)計與實現(xiàn)[D].沈陽:中國科學(xué)院研究生院(沈陽計算技術(shù)研究所),2014.

[6]姜妮,張宇,趙志軍.基于MQTT物聯(lián)網(wǎng)消息推送系統(tǒng)[J].網(wǎng)絡(luò)新媒體技術(shù),2014,3(6):62-64.

[7]劉鵬.云計算[M].北京:電子工業(yè)出版社,2011.

Design of smart home system based on Android

Chen Wei1,Qin Huibin1,Cao Shuguang2,Qin Lihong1
(1.School of Electronics Information,Hangzhou Dianzi University,Hangzhou 310018,China;2.Zhejiang HeHui Lighting Technology Co.Ltd,Yuyao 315400,China)

In order to achieve home life become more smart,convenient and other purposes,a smart home system based on Android is proposed.The system has internal and external communicate mode,which makes it possible to control the device by the internal network when the home broadband network is unavailable.The user's configure information and device information are in the gateway,which enables different clients to share information,and realizes the add or delete action dynamically.The status of equipment is obtained by the push technology instead of the polling mode.The APP is designed humanized with complete functions, the use of cloud computing not only realizes the external control,but also facilitates the future system expansion.

smart home;Android;message push;cloud computing;remote control

TP311

A

10.16157/j.issn.0258-7998.2015.10.043

2015-05-30)

陳瑋(1988-),女,碩士研究生,主要研究方向:嵌入式系統(tǒng)及應(yīng)用。

秦會斌(1961-),男,博士,教授,主要研究方向:新型電子器件及ASIC設(shè)計、現(xiàn)代傳感器設(shè)計及應(yīng)用。

曹曙光(1978-),男,碩士研究生,助理研究員,主要研究方向:LED燈設(shè)計與制作。

中文引用格式:陳瑋,秦會斌,曹曙光,等.基于Android平臺的智能家居系統(tǒng)設(shè)計[J].電子技術(shù)應(yīng)用,2015,41(10):158-160,164.

英文引用格式:Chen Wei,Qin Huibin,Cao Shuguang,et al.Design of smart home system based on Android[J].Application of Electronic Technique,2015,41(10):158-160,164.

猜你喜歡
網(wǎng)關(guān)智能家居客戶端
基于改進(jìn)RPS技術(shù)的IPSEC VPN網(wǎng)關(guān)設(shè)計
縣級臺在突發(fā)事件報道中如何應(yīng)用手機(jī)客戶端
傳媒評論(2018年4期)2018-06-27 08:20:24
孵化垂直頻道:新聞客戶端新策略
傳媒評論(2018年4期)2018-06-27 08:20:16
基于Vanconnect的智能家居瘦客戶端的設(shè)計與實現(xiàn)
電子測試(2018年10期)2018-06-26 05:53:34
基于Zigbee的無線通信技術(shù)在智能家居中的應(yīng)用
電子制作(2018年1期)2018-04-04 01:48:28
關(guān)于智能家居真正需求的探討
LTE Small Cell網(wǎng)關(guān)及虛擬網(wǎng)關(guān)技術(shù)研究
移動通信(2015年18期)2015-08-24 07:45:08
應(yīng)對氣候變化需要打通“網(wǎng)關(guān)”
太陽能(2015年7期)2015-04-12 06:49:50
智能家居更貼心
一種實時高效的伺服控制網(wǎng)關(guān)設(shè)計
蓝山县| 阿拉尔市| 栖霞市| 崇礼县| 体育| 新津县| 萝北县| 佛山市| 镇沅| 阳泉市| 蒙阴县| 合作市| 阳城县| 赣州市| 郓城县| 广东省| 金溪县| 贵定县| 平乐县| 兖州市| 兴化市| 昌黎县| 平昌县| 桃源县| 兴隆县| 宁南县| 宜黄县| 尚义县| 鹿邑县| 云南省| 延边| 新巴尔虎右旗| 耿马| 通州市| 永福县| 罗甸县| 九台市| 宿州市| 汪清县| 克东县| 屏边|