在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何通過語音命令控制燈光

454398 ? 來源:網絡整理 ? 作者:網絡整理 ? 2019-11-18 11:37 ? 次閱讀

步驟1:Google Assistant控制的家庭自動化項目概述

我正在使用Arduino UNO微控制器端和用于連接互聯網的ESP8266模塊。老實說,還有很多其他方法可以解決這個問題。您可以將功能更強大的處理器(如Raspberry Pi或其他SOC)與內置Wi-Fi(如ESP12E或ESP32)結合使用。但是我決定使用老式的Arduino和ESP8266板來降低成本,并且不要過度設計任何東西。

對于這個項目,我們還將使用ESP8266貼身地構建一個Arduino WiFi防護罩在Arduino UNO板上。此屏蔽可用于通過AT命令或直接使用Arduino IDE對ESP8266進行編程。它還具有將FTDI模塊直接連接到ESP8226的選項,這允許將ESP8266編程為無需Arduino的獨立設備,并且還可以根據需要將新固件刷新到ESP8266模塊中。因此,該防護罩可用于許多其他需要互聯網連接的創意Arduino項目。

為了在手機上與Google助手通信,我們使用了IFTTT服務,該服務將助手配置為偵聽特定命令并在收到命令時觸發鏈接。現在,您可能已經知道ESP8266僅可以通過API調用從Internet讀取信息,因此我們需要一個可以為我們提供此API選項的平臺,這就是ThingSpeak所在的位置。基本上,提供給Google Assistant的語音命令會更改此值相應地在ThingSpeak頻道中的字段。 ESP8266使用API調用定期檢查此字段的值,然后使用串行通信將此值發送給Arduino。 Arduino然后執行所需的操作,例如根據接收到的值切換繼電器。

步驟2:使用ESP8266的Arduino Uno Wi-Fi Shield

讓我們開始將Arduino UNO板與ESP8266 Wi-Fi模塊連接。 ESP8266是一個棘手的模塊。它需要自己的電源和特定的連接設置才能與Arduino通信。如果您是絕對的初學者,則強烈建議您閱讀ESP8266入門教程,然后再繼續進行操作。

請記住,ESP8266購買時隨附帶有可與AT通訊的默認固件。命令。但是,如果模塊是直接用Arduino編程的,則默認固件將被刪除,如果要使用AT命令,則必須再次刷新。

我們將使用LM317作為3.3V穩壓器。該3.3V用于為ESP8266模塊供電,因為來自Arduino UNO的3.3V將無法為ESP模塊提供足夠的電流。 LM317輸入引腳可以由Arduino UNO板Vin引腳的DC輸入桶式插孔供電。

ESP模塊的GPIO0引腳連接到跳線引腳,該跳線可以切換為將該引腳接地。這允許用戶將ESP模塊設置為在AT命令模式或編程模式(Arduino IDE)下工作。 GPIO0和GPIO2都連接到外部連接器,因此這些GPIO引腳也可以使用。

最后在Arduino方面,我們將ESP8266模塊的Rx和Tx引腳連接到Arduino的12和13引腳。我們沒有使用硬件串行(引腳0和1)來簡化調試。您還可以注意到,還提供了連接16x2 LCD的選項,因此可以將其直接安裝在屏蔽層的頂部。 LCD由Arduino的5V引腳供電。

步驟3:使用EasyEDA為ESP8266 Wi-Fi模塊制作PCB

為Arduino板設計屏蔽層時,一個具有挑戰性的部分就是要正確地占用空間。如果尺寸錯誤,那么屏蔽將無法正確地安裝在Arduino UNO板上。但是,幸運的是,EasyEDA幾乎可以為市場上的所有組件提供封裝。這是由于其龐大的用戶社區,用戶可以在其中創建足跡并使其可供公眾使用以用于其項目。

EasyEDA是一種在線EDA工具,我以前使用過很多次,發現它非常方便可以使用,因為它具有良好的覆蓋范圍并且是開源的。設計完PCB之后,我們可以通過低成本的PCB制造服務訂購PCB樣品。他們還提供元件采購服務,其中有大量的電子元件庫存,用戶可以與PCB訂單一起訂購所需的元件。

在設計電路和PCB時,您還可以公開電路和PCB設計,以便其他用戶可以復制或編輯它們并從您的工作中受益,我們還制作了整個電路和PCB此電路的公共布局,請查看以下鏈接:

https://easyeda.com/CircuitDigest/Arduino-WiFi-sh 。..

您可以查看任何層(頂部,“底部”,“底部絲綢”,“底部絲綢”等),方法是從“層”窗口中選擇層。除此之外,它們還提供PCB在制造后的外觀的3D模型視圖。 Wi-Fi防護層的頂層和底層的快照看起來像這樣

第4步:使用EasyEDA在線計算和訂購PCB樣品

完成此設計之后Arduino Uno Wi-Fi模塊,您可以通過JLCPCB.com訂購PCB。要從JLCPCB訂購PCB,您需要Gerber File。要下載PCB的Gerber文件,只需單擊EasyEDA編輯器頁面上的Generate Fabrication File按鈕,然后從那里下載Gerber文件,或者您可以單擊JLCPCB上的訂購,如上圖所示。這會將您重定向到JLCPCB.com,您可以在其中選擇要訂購的PCB數量,所需的銅層數量,PCB厚度,銅重量以及甚至是PCB顏色,如上面的快照所示。

在JLCPCB按鈕上單擊訂購后,它將帶您到JLCPCB網站,在此您可以以非常低的價格訂購PCB,即2美元。他們的構建時間也非常短,只需DHL交付3-5天即可交付48小時,基本上您可以在訂購一周后得到PCB。

訂購PCB后,您可以檢查生產進度日期和時間對您的PCB的影響。您可以通過在“帳戶”頁面上進行檢查,然后單擊PCB下方的“生產進度”鏈接,如上圖所示。

訂購PCB幾天后,我得到了包裝精美的PCB樣品,如下圖所示以上圖片。

確保軌道和足跡正確無誤。我開始組裝PCB,我使用了母頭來放置Arduino Nano和LCD,以便以后在其他項目中需要時可以將它們卸下。完全焊接的電路板看起來像上面的

步驟5:Arduino Wi-Fi Shield編程模式和AT模式

當使用Arduino IDE直接對ESP8266進行編程或對其進行閃爍時,應在每次上傳之前將GPIO 0引腳接地,并且每次都要將Reset引腳暫時接地。同樣,當ESP8266使用AT指令時,應將GPIO引腳留空,然后再次將Reset引腳暫時接地以將其復位。

為了簡化設計,我們設計了Wi-Fi屏蔽具有一個可在編程模式和AT命令模式之間切換的撥動引腳,如上圖所示。同樣,在每次上傳代碼之前,只要每次按下復位按鈕(紅色),就可以將Reset引腳接地。

開發板上還可以選擇將FTDI模塊直接連接到ESP,這對于刷新ESP8266模塊要進行閃爍,請連接FTDI模塊,然后將引腳設置為編程模式,如上所示。然后從給定的鏈接下載ESP8266_Flasher軟件和固件bin文件。然后打開軟件并使用Bin按鈕瀏覽到bin文件,然后鍵入右側的COM端口并將默認地址保留為0x00000。最后單擊下載按鈕以刷新ESP8266模塊。該軟件也顯示在上圖中,但請記住,只有在ESP8266上的默認固件被覆蓋后,您才需要刷新它。

步驟6:為Google助手設置ThingSpeak頻道

我們在ThingSpeak中需要一個通道,該通道將存儲來自Google助手的數據,并允許ESP8266使用API調用來檢索這些數據。如果您不熟悉ThingSpeak,請通過在Thingspeak.com上注冊并單擊新頻道來設置帳戶,還請查看我們之前的項目,以了解有關將ThingSpeak與Arduino結合使用的更多信息。您可以為您的頻道選擇任何名稱并提供描述。由于我們僅切換一個光源,因此我僅使用了一個字段并將其命名為Light,但同樣可以使用任意多個字段。我的頻道設置看起來像這樣,記下我的情況下的頻道ID(683739)和我的情況下的字段號(1),以后我們將需要它。

下一步單擊API密鑰標簽,此處將為您提供兩個API密鑰,一個用于寫入功能,另一個用于讀取功能。您只能分別使用這些鍵將值讀取或寫入字段。每個鍵都是唯一的,上面顯示的我的鍵肯定會有所不同。切勿共享您的密鑰,因為它可以授予對您的頻道進行寫入或讀取的權限。上面顯示的這些鍵在使用后已銷毀。

現在讓我們看一下API GET調用,通過這些調用我們可以向剛創建的字段寫入和讀取數據。

從中讀取事物字段:

api.thingspeak.com/channels/683739/fields/1/last.json?api_key=7EK8DHQDV3M0EJ6S&results=2

寫入事物字段:

api。 Thingspeak.com/update?api_key=UEI3D4YTWX9OQQ4B&field1=7

這些是我的API,您必須用鍵替換鍵值,并根據ThingSpeak通道更改通道ID。如果您選擇了如圖中所示的第一個字段,則無需更改字段值。

您還可以嘗試在您的瀏覽器上加載這些API調用,并檢查其工作方式。在上面的“寫物”字段中,我們將7(最后添加)寫入通道。您可以在瀏覽器中加載它,并檢查該值是否反映在您的ThingSpeak帳戶中。同樣,加載到瀏覽器中時從Thing Field API調用中讀取的內容應為您以前發送給Field的值,在這種情況下為7。

步驟7:設置IFTTT小程序

h2》

現在我們知道如何從該字段發送和讀取值,接下來我們必須在IFTTT帳戶中設置兩個applet。如果您不熟悉IFTTT,只需注冊并鏈接您的Gmail帳戶,則該Gmail帳戶應采用與您使用Google語音助手相同的一種形式。兩個小程序中的兩個都將通過上述鏈接用于將值寫入字段。但是,使用上面的API調用,一個會監聽“打開閱讀燈”并將其寫入“ 1”,而另一個小程序會監聽“關閉閱讀燈”并寫入“ 0”。

要創建小程序,請進入我的小程序,然后單擊“新小程序”。然后在“此”部分中選擇Google語音助手,并在“那”部分中選擇Webhooks服務。這與我們對基于物聯網的門安全項目所做的工作非常相似。如果您對如何操作感到困惑,請參閱本文,下面的圖像也將為您提供幫助。

步驟8:為Google Assistant Home Automation編程Arduino

現在應該同時設置IFTTT和ThingSpeak帳戶。因此,根據向Google助手發送的命令,IFTTT將向我們的ThingSpeak帳戶發送一個值(0或1)。現在,在Arduino方面,我們必須編寫一個程序來檢查field的值是0還是1。如果0,則必須關閉燈,如果1,則必須打開燈。

最后,給出了完成此操作的完整程序,我將程序分成有意義的代碼片段,并在上面進行了解釋。我們首先定義將ESP和LCD連接到Arduino的引腳。您可以參考電路圖進行驗證。

SoftwareSerial ESP(12,13); //ESP is connected to 12 and 13 pin of Arduino

const int rs = 7, en = 6, d4 = 5, d5 = 4, d6 = 3, d7 = 2; //Mention the pin number for LCD connection

LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

然后,我們必須輸入一些關鍵參數,例如ESP應該連接到其密碼的Wi-Fi名稱,最后是我們從中獲得的API調用請求我們的話語。確保已根據您的應用程序更改了這些憑據。驗證API密鑰并將其加載到瀏覽器中以確保。

String WiFi_SSID = “Oneplus”;

String WiFi_Pass = “nightfury”;

String sendData = “GET /channels/683739/fields/1/last.json?api_key=7EK8DHQDV3M0EJ6S&results=2”;

String output = “”; //Initialize a null string variable

在設置功能中,我們將引腳10聲明為輸出,這是我們通過繼電器連接負載的地方。然后,我們在LCD上顯示一小段介紹文字,并使用上述代碼行初始化串行監視器。

pinMode(10,OUTPUT);

lcd.begin(16, 2); //Initialise 16*2 LCD

lcd.print(“ Arduino WiFi”); //Intro Message line 1

lcd.setCursor(0, 1);

lcd.print(“ Shield ”); //Intro Message line 2

delay(2000);

Serial.begin (9600);

默認情況下,ESP的波特率為115200,但Arduino并非如此足夠快的速度以如此高的速度從ESP讀取數據。它確實讀取數據,但是我個人很多次發現很多垃圾值。因此,我決定使用AT + CIOBAUD = 9600將ESP更改為以9600波特率工作,如上所示。更改波特率后,我們可以重新初始化軟件序列以使用9600波特率。

ESP.begin(115200);

ESP.println(“AT+CIOBAUD=9600”);

delay(100);

ESP.begin(9600);

接下來,我們有一系列AT命令,這些命令只需要發送到模塊一次。它們包括關閉Echo選項(ATE0),然后將ESP設置為在站模式下工作(AT + CWMODE = 1),然后使用(AT + CWJAP)等將其連接到路由器。一旦執行,ESP就會記住這些詳細信息,并在每次開機時將其作為站點連接到我們的路由器。因此,您可以在第一次使用后注釋這些行(不過是可選的)。

ESP_talk(“ATE0”, 1000); //Turn off Echo

ESP_talk(“AT+CWMODE=1”, 1000); //Set ESP as station

ESP_talk(“AT+CWJAP=”“+ WiFi_SSID +”“,”“+ WiFi_Pass +”“”, 5000); //Connect to WiFi

delay(1000);

ESP_talk(“AT+CIPMUX=1”,1000);

delay(1000);

在主循環函數中,我們必須連接到ThingSpeak API。這可以通過首先使用以下命令啟動與ThingSpeak網絡的TCP連接來完成。

ESP_talk(“AT+CIPSTART=”TCP“,”api.thingspeak.com“,80”,1000);

然后我們必須知道使用AT + CIPSEND將多少個字符發送給該連接。在我的情況下是76。因為我們將發送上述命令,所以我們有74個字符,并且必須在“/n”中添加2個字符,從而得到76。

GET /channels/683739/fields/1/last.json?api_key=7EK8DHQDV3M0EJ6S&results=2

然后我們實際上發送了上面存儲在變量sendData中的數據。為了穩定起見,這些命令以100ms的延遲發送,但這不是強制性的。上面顯示了相同的程序。

ESP_talk(“AT+CIPSTART=”TCP“,”api.thingspeak.com“,80”,1000);//AT+CIPSTART=“TCP”,“api.thingspeak.com”,80

delay(100);

ESP_talk(“AT+CIPSEND=76”,1000);

delay(100);

ESP_talk(sendData,1000); delay(100);

上面的代碼將從ThingSpeak網站上以字符串值的形式獲取字段數據,并將其存儲在變量“ output”中,看起來像像這樣。

+IPD,64:{“created_at”:“2019-01-22T12:13:32Z”,“entry_id”:15,“field1”:“0”}CLOSED

如您所見,在整個字符串值上,我們只需要檢查field1值是0還是1。因此我們在Arduino中使用charAT函數來獲取特定的char值構成整個字符串。該值的位置比上一個值落后11步。因此,代碼看起來像

int light_value = int (output.charAt(output.length()-11))-48;

的最后一步是將該值與0和1進行比較。然后,如果為1,則將燈打開,如果為0,則將其關閉。還會根據字段值使LCD顯示結果。

lcd.clear();

lcd.print(“Listning.。..”); //Intro Message line 1

lcd.setCursor(0, 1);

if (light_value == 0) //light should be off

{

lcd.print(“Light is OFF :-(” );

digitalWrite(10,LOW);

}

if (light_value == 1) //light should be off

{

lcd.print(“:-) Light is ON”);

digitalWrite(10,HIGH);

}

您會注意到ESP_talk函數在整個程序中得到了廣泛使用。該功能基本上有兩個參數,一個是發送到ESP模塊的實際命令,另一個是ESP應該在該超時值之內響應發送的命令。 ESP的響應然后存儲在變量輸出中。在調試ESP模塊時,這非常方便。功能定義如下所示。

void ESP_talk(String AT_cmd, const int timeout)

{

Serial.print(“Sent: ”);

Serial.print(AT_cmd);

ESP.println(AT_cmd); //print to ESP through software serial

Serial.println(“”);//Move to next line

long int time = millis();

output=“”; //clear the string

while ( (time + timeout) 》 millis())

{

while (ESP.available())

{

char i = ESP.read(); // read one char

output +=i;//Combine char to string

}

}

Serial.print(“Received: ”);

Serial.print(output);

}

使用Google Assistant切換燈光

因此,我們都準備使用Arduino ESP8266 Wi-Fi模塊通過Google Assistant在任何地方控制家用電器。如前所述,以上程序用于切換引腳10。因此,您可以在引腳10上添加一個繼電器,并根據需要連接繼電器額定值范圍內的任何交流負載。上面顯示了我使用Relay和帶Wi-Fi屏蔽的Arduino板的設置。

我已經使用了一個小閱讀燈作為演示負載,但是您可以選擇使用任何東西。啟動設置并向您的Google助手說出命令,您應該會看到Light得到相應的控制。當您向Google助手發出命令時,您還可以看到ThingSpeak頻道值正在更改。為了進行調試,您可以打開串行監視器以檢查是否一切正常。如果是,則您的串行監視器應顯示類似這樣的內容。

您可以觀看上面的視頻以檢查項目的完整工作,還可以檢查我們的其他Arduino家庭自動化項目。希望您喜歡該項目并喜歡構建它。如果您有任何問題,請隨時將它們留在上面的評論部分中,我會盡力解決。您也可以將論壇用于其他技術問題。
責任編輯:wv

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Arduino
    +關注

    關注

    188

    文章

    6477

    瀏覽量

    187973
  • ESP8266
    +關注

    關注

    50

    文章

    962

    瀏覽量

    45374
收藏 人收藏

    評論

    相關推薦

    車庫智能燈光控制系統架構與功能優勢

    的問題。因此,對車庫智能燈光控制系統進行深入探討和升級顯得尤為重要。 系統架構 車庫智能燈光控制系統,基于物聯網通信技術,通過智能照明
    的頭像 發表于 12-09 16:40 ?220次閱讀

    智能化燈光控制系統

    智能化燈光控制系統,作為現代智能家居的重要組成部分,正逐步改變著我們的生活方式,為家庭環境增添了前所未有的便捷性、舒適性和節能性。這一系統不僅融合了科技理念,還充分考慮了用戶的實際需求,通過智能化
    的頭像 發表于 12-05 16:50 ?346次閱讀

    基于語音識別技術的智能家居控制系統

    語音識別的智能控制系統是智能家居的重要組成部分,相比傳統的遙控或觸控方式,基于語音識別控制的智能家居系統通過人機
    的頭像 發表于 11-19 17:25 ?712次閱讀
    基于<b class='flag-5'>語音</b>識別技術的智能家居<b class='flag-5'>控制</b>系統

    語音開關控制器方案,全屋開關變“聲控”

    概述隨著智能家居的普及,語音開關控制器方案正逐漸成為現代家庭的新寵。家中的燈光、窗簾、空調乃至各類家電,都可通過簡單的語音指令輕松操控。全屋
    的頭像 發表于 11-01 08:03 ?338次閱讀
    <b class='flag-5'>語音</b>開關<b class='flag-5'>控制</b>器方案,全屋開關變“聲控”

    語音燈控新體驗,讓傳統開關實現智能化!

    —方案開發—LED燈語音控制方案LED燈語音控制方案是一種基于語音識別技術的智能家居解決方案,旨在通過
    的頭像 發表于 10-19 08:08 ?415次閱讀
    <b class='flag-5'>語音</b>燈控新體驗,讓傳統開關實現智能化!

    STM32項目實戰:基于STM32F4的智能燈光控制系統(LVGL),附項目教程/源碼

    《智能燈光控制系統_STM32F4》項目完整文檔、項目源碼,私信小雯老師免費領取。STM32項目實戰之“智能燈光控制系統”(基于STM32F4)今天小編來分享一個《智能
    的頭像 發表于 10-17 16:16 ?1008次閱讀
    STM32項目實戰:基于STM32F4的智能<b class='flag-5'>燈光</b><b class='flag-5'>控制</b>系統(LVGL),附項目教程/源碼

    燈光定時器自動控制器怎么調

    燈光定時器自動控制器是一種智能家居設備,它允許用戶設定特定的時間來開啟或關閉燈光,從而實現節能和自動化控制。這種設備通常可以通過物理按鈕、遙
    的頭像 發表于 10-17 14:13 ?1774次閱讀

    構建語音控制機器人 - 線性模型和機器學習

    輪子并識別音頻信號,但它仍然無法通過語音命令控制或按預定義路徑行駛。 線性控制模型 首先要解決的問題是實現直線驅動。為此,我們使用線性模型來
    的頭像 發表于 10-02 16:31 ?275次閱讀
    構建<b class='flag-5'>語音</b><b class='flag-5'>控制</b>機器人 - 線性模型和機器學習

    HLK-V20支持用戶修改喚醒詞和命令詞 海凌科語音定制后臺系統上線

    離線語音模塊物美價廉,單價低、開發簡單且性能良好,但是其最大的遺憾在于其語音命令詞和喚醒詞固定,只能通過海凌科官方修改語音
    的頭像 發表于 07-28 08:38 ?788次閱讀
    HLK-V20支持用戶修改喚醒詞和<b class='flag-5'>命令</b>詞 海凌科<b class='flag-5'>語音</b>定制后臺系統上線

    光耦選型 | 燈光控制領域使用光耦型號推薦——KLM306X

    燈光控制系統是一種專門用于管理和調節照明設備的技術系統,它通過對燈具的開關、亮度、色溫等參數進行精確控制,能夠根據環境和需求創造出舒適、節能和個性化的照明環境。光耦在
    的頭像 發表于 06-29 00:00 ?706次閱讀
    光耦選型 | <b class='flag-5'>燈光</b><b class='flag-5'>控制</b>領域使用光耦型號推薦——KLM306X

    請問ESP32-EYE開發板例程支持修改語音喚醒命令嗎?

    請問ESP32-EYE 開發板例程支持修改語音喚醒命令嗎?該如何修改?
    發表于 06-28 16:23

    離線語音控制技術特點

    離線語音控制通過結合高性能的音頻前端處理算法和本地AI模型實現了高效的語音識別和控制能力,不依賴于互聯網連接,同時具備靈活的應用擴展性。這種
    的頭像 發表于 06-26 18:12 ?609次閱讀
    離線<b class='flag-5'>語音</b><b class='flag-5'>控制</b>技術特點

    語音控制模塊_雷龍發展

      1,串口   uart串口控制模式,即異步傳送收發器,通過其完成語音控制。 []()   圖中,GND表示單片機系統電源的參考地,TXD是串行發送引腳,RXD是串行接收引腳。發送u
    發表于 06-14 17:18

    離線自然說,無需記固定喚醒詞也能語音控制設備!

    的應用前景,如用戶可以通過語音控制智能家居設備,實現燈光、空調、電視等的自動化操作;在醫療設備領域,離線語音識別技術可以用于
    的頭像 發表于 04-29 09:12 ?4881次閱讀
    離線自然說,無需記固定喚醒詞也能<b class='flag-5'>語音</b><b class='flag-5'>控制</b>設備!

    智能家居燈光控制系統功能特點

    智能照明是可以實現自動控制的先進照明方式,智能家居燈光控制系統是現代家居科技的重要組成部分,通過自動化控制、物聯網等技術,實現了對家庭照明系
    的頭像 發表于 04-25 16:21 ?1476次閱讀
    主站蜘蛛池模板: 亚洲аv电影天堂网 | 欧美性淫爽www视频播放 | 色视频色露露永久免费观看 | yy6080三级理论韩国日本 | 午夜精品视频在线 | 美女拍拍拍黄色 | 综合色久七七综合七七蜜芽 | 中文字幕第7页 | 九色综合久久综合欧美97 | 你懂的免费在线观看 | 一级毛片在线不卡直接观看 | 欧美成人免费草草影院 | h网站免费 | 午夜伦伦 | 操碰91| 三级网站在线免费观看 | 欧美色综合久久 | 国产福利免费观看 | 小说老卫陈红张敏陈法蓉 | 1314酒色网| 欧美成人高清性色生活 | 美女扒开腿让男人桶尿口 | aaaa欧美高清免费 | 成人欧美一区二区三区小说 | 久久天天躁狠狠躁夜夜不卡 | 97人洗澡人人澡人人爽 | 天堂在线资源最新版 | 国产日韩欧美综合色视频在线 | 天天干天天插天天操 | 亚洲精品美女久久久久网站 | www4hu| 欧美日本一道免费一区三区 | 超人碰碰碰人人成碰人 | 亚洲伊人网站 | 国产重口老太和小伙乱视频 | 成人在线一区二区三区 | 最新四虎4hu影库地址在线 | www.夜| 欧美综合成人网 | 亚洲成人免费网站 | 中文字幕在线视频第一页 |