《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于Android平臺(tái)的智能家居系統(tǒng)設(shè)計(jì)
基于Android平臺(tái)的智能家居系統(tǒng)設(shè)計(jì)
2015年電子技術(shù)應(yīng)用第10期
陳 瑋1,秦會(huì)斌1,曹曙光2,秦利紅1
(1.杭州電子科技大學(xué) 電子信息學(xué)院,浙江 杭州310018;2.浙江和惠照明科技有限公司,浙江 余姚315400)
摘要: 為了實(shí)現(xiàn)家居生活智能、方便等目的,提出一種基于Android平臺(tái)的智能家居系統(tǒng)。采用內(nèi)外網(wǎng)通信方式,使得當(dāng)家庭寬帶不可用時(shí)仍能通過(guò)內(nèi)網(wǎng)實(shí)現(xiàn)對(duì)家居設(shè)備的控制。將用戶配置信息、設(shè)備信息存在網(wǎng)關(guān)使得不同客戶端能信息共享,實(shí)現(xiàn)動(dòng)態(tài)添加、刪除動(dòng)作。采用推送而不是輪詢,實(shí)時(shí)性好??蛻舳薃PP功能齊全,云計(jì)算的使用實(shí)現(xiàn)了外網(wǎng)控制,同時(shí)便于未來(lái)的系統(tǒng)擴(kuò)展。
中圖分類號(hào): TP311
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2015.10.043

中文引用格式: 陳瑋,秦會(huì)斌,曹曙光,等. 基于Android平臺(tái)的智能家居系統(tǒng)設(shè)計(jì)[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.
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
Abstract: 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.
Key words : smart home;Android;message push;cloud computing;remote control


0 引言

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

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

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

001.jpg

  客戶端實(shí)現(xiàn)對(duì)底層設(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ā)給對(duì)應(yīng)的網(wǎng)關(guān),再由網(wǎng)關(guān)控制底層設(shè)備。采用內(nèi)外網(wǎng)的通信方式,使得家庭寬帶網(wǎng)絡(luò)在不可使用的情況下,仍能通過(guò)內(nèi)網(wǎng)通信實(shí)現(xiàn)對(duì)設(shè)備的控制,同時(shí)節(jié)省用戶數(shù)據(jù)流量[3]。每次運(yùn)行客戶端軟件,會(huì)自動(dòng)獲取網(wǎng)關(guān)處的配置信息、設(shè)備信息。網(wǎng)關(guān)同步底層設(shè)備狀態(tài),當(dāng)發(fā)生改變時(shí)由網(wǎng)關(guān)轉(zhuǎn)發(fā)給客戶端,使用戶能及時(shí)獲知底層設(shè)備的最新狀態(tài)。

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

  2.1 客戶端功能說(shuō)明

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

002.jpg

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

  2.2 客戶端框架

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

  2.3 通信模塊

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

003.jpg

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

  socket=new DatagramSocket();

  sequence=sequence_init(account.toString(),

  pswd.toString());//生成加密序列

  while(flag){

  for(int i=0; i<len; i++){String str = "";

  for(int j = 0; j<sequence[i]; j++){str += "a";}

  outPacket=new

  DatagramPacket(str.getBytes(),str.length(),

  InetAddress.getByName(s_gateway),4000);

  socket.send(outPacket);}

  socket.receive(receive);

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

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

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

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

004.jpg

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

  2.4.1 Http通信

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

  Android-Async-Http使用簡(jiǎn)單,通過(guò)核心類AsyncHttp-

  Client的實(shí)例就可以執(zhí)行網(wǎng)絡(luò)請(qǐng)求,提供put、post等方法。登陸過(guò)程如下:

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

  AsyncHttpClient client = new AsyncHttpClient();

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

  RequestParams params = new RequestParams();

  params.put("username", userName);

  params.put("userpass", userPass);

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

  client.post(url, params,

  new AsyncHttpResponseHandler (){

  public void onSuccess(int statusCode, Header[] headers,

  byte[] responseBody){

  if(statusCode == 200){//成功

  Toast.makeText(this,new String(responseBody) ).show();}}

  Public void onFailure(int statusCode, Header[] headers,

  byte[] responseBody Throwable error){

  error.printStackTrace();//失敗

  }}…);

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

  2.4.2 MQTT推送

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

005.jpg

  本文通過(guò)MQTT實(shí)現(xiàn)客戶端實(shí)時(shí)獲得設(shè)備信息??蛻舳藢?duì)應(yīng)MQTT client,是消息訂閱者。當(dāng)狀態(tài)改變時(shí),由設(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é)議的實(shí)現(xiàn)。APK調(diào)用該jar包提供的API接口,就能建立MQTT client和MQTT server的連接。流程如下[6]:

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

  MqttClient client=new MqttClient("tcp://123.57.219.126:

  1883",

  "test", new MemoryPersistence());

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

  MqttConnectOptions options=new MqttConnectOptions();

  options.setUserName(userName);//用戶名

  options.setPassword(passWord.toCharArray());//密碼

  options.setKeepAliveInterval(20);//心跳時(shí)間

  (3)給客戶端設(shè)置回調(diào)。

  client.setCallback(new MqttCallback() {

  public void connectionLost(Throwable cause) {

  //連接丟失后,進(jìn)行重連}

  public void deliveryComplete(IMqttDeliveryToken token){

  //publish后會(huì)執(zhí)行到這里}

  public void messageArrived(String topicNam e,

  MqttMessage message) throws Exception {

  //subscribe后得到的消息會(huì)執(zhí)行到這里面

  Message msg = new Message();

  msg.what = 1;

  msg.obj = topicName+"---"+message.toString();

  //通過(guò)handler傳遞給主線程進(jìn)行UI更新

  handler.sendMessage(msg);}});

  (4)連接到MQTT server。

  client.connect(options);

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

  client. subscribe(TOPICS, QOS_VALUES);

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

3 云計(jì)算中心

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

4 功能測(cè)試

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

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

006.jpg

5 結(jié)論

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

參考文獻(xiàn)

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

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

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

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

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

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

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


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲欧美日韩一区在线| 久久久噜噜噜久久狠狠50岁| 亚洲中字在线| 日韩视频永久免费| 亚洲高清不卡在线| 一区二区视频免费完整版观看| 国产精品久久久免费| 欧美日韩mv| 欧美人成免费网站| 欧美精品一区二区三区久久久竹菊 | 亚洲欧美日韩在线综合| 中文国产亚洲喷潮| 宅男噜噜噜66国产日韩在线观看| 亚洲伦理中文字幕| 99精品欧美| 亚洲综合激情| 午夜久久久久| 久久av二区| 亚洲国产高清aⅴ视频| 亚洲成人在线免费| 久久精品国产精品亚洲综合| 久久精品国产欧美激情| 欧美一区二区大片| 久久成人在线| 久久伊人免费视频| 欧美激情bt| 欧美色另类天堂2015| 国产精品久久久久久av福利软件 | 亚洲一区二区视频在线观看| 亚洲一区二区成人在线观看| 亚洲欧美日韩视频二区| 久久av一区二区| 久久亚洲综合| 欧美精品一区二区三区蜜桃 | 国产女主播一区二区三区| 国产美女搞久久| 一区二区三区自拍| 日韩视频中文| 午夜亚洲伦理| 亚洲免费观看视频| 亚洲欧美国产高清| 久久亚洲精品欧美| 欧美日韩国产一区二区| 国产精品入口福利| 狠狠色香婷婷久久亚洲精品| 91久久夜色精品国产网站| 一区二区三区国产在线| 欧美一区二区免费观在线| 最新日韩av| 亚洲欧美日韩精品久久久| 久久影视三级福利片| 欧美日韩国产123区| 国产精品成人在线| 樱桃视频在线观看一区| 一本色道久久综合亚洲二区三区| 午夜一区不卡| 一本在线高清不卡dvd| 欧美在线观看视频一区二区三区| 老色鬼精品视频在线观看播放| 欧美日韩亚洲一区三区| 国产人成一区二区三区影院| 亚洲高清视频的网址| 亚洲一区美女视频在线观看免费| 亚洲第一免费播放区| 亚洲天堂网在线观看| 久久久久久综合网天天| 欧美日韩精品一区二区天天拍小说 | 亚洲第一黄色网| 亚洲少妇诱惑| 亚洲激情成人网| 亚洲欧美日韩精品久久亚洲区| 久久久久综合网| 欧美日韩一二三区| 国产夜色精品一区二区av| 亚洲久久在线| 亚洲国产精品电影| 午夜精品国产精品大乳美女| 免费视频一区| 国产精品在线看| 日韩写真视频在线观看| 亚洲国产成人高清精品| 性欧美18~19sex高清播放| 欧美日韩国产免费| 亚洲福利视频专区| 久久精品日产第一区二区三区| 亚洲一区二区四区| 欧美屁股在线| 影音先锋欧美精品| 欧美中文字幕视频| 性色av香蕉一区二区| 欧美日本精品一区二区三区| 极品少妇一区二区三区精品视频| 亚洲一区二区伦理| 在线亚洲+欧美+日本专区| 米奇777超碰欧美日韩亚洲| 国产人成精品一区二区三| 99在线精品视频| 99re6热在线精品视频播放速度| 久久亚洲高清| 国外视频精品毛片| 欧美在线观看www| 久久不射2019中文字幕| 国产精品久久国产三级国电话系列| 亚洲人成精品久久久久| 亚洲黄色三级| 免费成人高清在线视频| 国产综合色一区二区三区| 香蕉成人啪国产精品视频综合网| 亚洲欧美日韩精品久久亚洲区 | 亚洲欧美日韩成人| 亚洲尤物在线视频观看| 欧美日韩精品伦理作品在线免费观看| 一区二区三区在线观看视频| 欧美在线亚洲在线| 久久久www| 国产专区精品视频| 欧美综合第一页| 久久亚洲国产精品一区二区| 国内精品久久久久久久果冻传媒 | 欧美久久久久久| 最近中文字幕日韩精品 | 欧美成人视屏| 亚洲韩日在线| 99精品欧美一区二区三区综合在线| 农夫在线精品视频免费观看| 亚洲电影毛片| 日韩一级裸体免费视频| 欧美精品在线视频| 99这里有精品| 亚洲欧美日韩国产综合在线 | 欧美在线日韩精品| 久久中文字幕一区二区三区| 韩国欧美一区| 亚洲精品一区二区三区樱花| 欧美精品在线一区二区| 亚洲作爱视频| 午夜综合激情| 韩国在线一区| 亚洲精品网站在线播放gif| 欧美精品在线视频观看| 在线性视频日韩欧美| 午夜影视日本亚洲欧洲精品| 国产人成精品一区二区三| 久久精品欧洲| 欧美—级在线免费片| aa级大片欧美| 欧美在线日韩精品| 狠狠爱综合网| 亚洲免费观看| 国产精品久久久久一区二区| 欧美一区二区三区久久精品 | 欧美啪啪成人vr| 亚洲在线播放| 久久一区二区三区超碰国产精品| 亚洲第一福利在线观看| 亚洲无毛电影| 国产一在线精品一区在线观看| 亚洲日本激情| 欧美一区二区三区在| 黄色小说综合网站| 一本色道久久| 国产美女扒开尿口久久久| 亚洲丰满在线| 欧美日韩一区在线播放| 午夜精品免费| 欧美激情精品久久久| 亚洲视频一二三| 久久这里有精品15一区二区三区| 亚洲激情在线播放| 午夜欧美大片免费观看| 在线精品国产成人综合| 亚洲永久免费精品| 黑人一区二区| 亚洲影院在线| 欧美日韩中文字幕在线视频| 欧美一级片久久久久久久| 欧美+日本+国产+在线a∨观看| 一区二区日韩免费看| 久久艳片www.17c.com| 日韩亚洲欧美在线观看| 久久精品电影| 亚洲毛片一区| 亚洲性感激情| 亚洲丶国产丶欧美一区二区三区| 亚洲永久免费| 亚洲第一天堂无码专区| 亚洲欧美日韩人成在线播放| 亚洲国产天堂网精品网站| 香蕉久久夜色| 亚洲日产国产精品| 久久精品久久综合| 一区二区三区四区五区在线| 久久综合电影| 亚洲素人一区二区| 欧美第一黄色网| 欧美在线资源| 国产精品福利影院| 亚洲精品综合在线| 国产视频一区三区| 亚洲主播在线观看|