91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Raspberry Pi Pico的云端溫濕度監(jiān)測(cè)站設(shè)計(jì)

我快閉嘴 ? 來(lái)源:易心Microbit編程 ? 作者:CircusPi ? 2022-09-13 11:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、介紹

使用Pi Pico 搭配擴(kuò)展板以及各種傳感器模塊,再加上網(wǎng)絡(luò)相關(guān)模塊將搜集到的數(shù)據(jù)上傳云端,完成一個(gè)簡(jiǎn)易的云端溫濕度監(jiān)測(cè)站。

二、軟件安裝

安裝Thonny IDE以及MircoPython Firmware的刻錄。

三、硬件配置

我們這次會(huì)使用到的模塊有SHT3x溫濕度模塊、1.3 OLEDLED燈模塊以及AM7020 NBIoT網(wǎng)絡(luò)模塊,接線方式如下對(duì)照?qǐng)D表所示。

0dcacf56-3272-11ed-ba43-dac502259ad0.png

0e0132c6-3272-11ed-ba43-dac502259ad0.jpg

實(shí)際功能為將讀取到的溫濕度數(shù)據(jù)顯示到1.3 OLED上,以及定時(shí)將數(shù)據(jù)透過(guò)AM7020上傳云端,并且提供遠(yuǎn)程網(wǎng)頁(yè)控制LED燈的功能,除了控制LED燈外也可結(jié)合繼電器實(shí)現(xiàn)控制家電(e.g.電燈、電扇、澆水設(shè)備……等)。

四、云端設(shè)定

這次我們會(huì)使用Adafruit IO做為云端平臺(tái),它將會(huì)存放溫度、濕度,以及LED燈控制訊息相關(guān)數(shù)據(jù),并且透過(guò)內(nèi)建服務(wù)Dashboard將數(shù)據(jù)以圖形化方式呈現(xiàn)。

進(jìn)到Adafruit IO官網(wǎng)新增三個(gè)Feed,分別為「temperature」、「humidity」、「led」,如下圖所示。

0e1c95f2-3272-11ed-ba43-dac502259ad0.png

接著請(qǐng)新增一個(gè)Dashboard,名稱為「pico」,如下圖所示。

0e2c29c2-3272-11ed-ba43-dac502259ad0.png

繼續(xù)在pico Dashboard內(nèi)新增折線圖表以及按鈕開(kāi)關(guān),折線圖數(shù)據(jù)源選擇Feedtemperature」、「humidity」,按鈕開(kāi)關(guān)數(shù)據(jù)源選擇Feedled」,如下圖所示。

0e4cd208-3272-11ed-ba43-dac502259ad0.png

五、程序撰寫

本篇所用到的范例程序代碼可至下列連結(jié)下載。

https://github.com/JiekangHuang/pi_pico_adafruitIO_nbiot

()加載相關(guān)Library

為了簡(jiǎn)化程序代碼復(fù)雜度,我們將會(huì)使用AM7020SHT31OLED MicroPython Library 來(lái)處理Driver 的部分,請(qǐng)將這三個(gè)Library 預(yù)先存入Pi Pico內(nèi)以便之后主程序呼叫。

首先使用Thonny從本機(jī)開(kāi)啟要存入的檔案,并選擇檔案>>另存新檔>>Raspberry pi pico>>輸入文件名(需與原檔名相同)

Pico Library檔案結(jié)構(gòu)如下圖所示。

第一層為lib文件夾

0e70737a-3272-11ed-ba43-dac502259ad0.png

lib文件夾里為「am7020」文件夾、「sht31.py」、「ssd1306.py」。

0e86eb00-3272-11ed-ba43-dac502259ad0.png

am7020文件夾里為「am7020_modem.py」、「am7020_mqtt.py」、「am7020_nb.py」。

0ea05edc-3272-11ed-ba43-dac502259ad0.png

()程序設(shè)計(jì)

開(kāi)啟打開(kāi)范例「example/adafriotIO_pico.py」并執(zhí)行。

1 fromutime import ticks_ms, sleep_ms

2 fromam7020.am7020_nb import AM7020NB

3 fromam7020.am7020_mqtt import AM7020MQTT

4

5 importsht31

6 frommachine import Pin, I2C

7 fromssd1306 import SSD1306_I2C

8

9 sht31_i2c= I2C(1, scl=Pin(7), sda=Pin(6), freq=400000)

10sensor = sht31.SHT31(sht31_i2c, addr=0x44)

11

12 WIDTH= 128 # oled 顯示寬度

13HEIGHT = 64 #oled 顯示高度

14

15 # 初始化 I2C 物件 I2C0 SCL =1, I2C0 SDA = GP0

16oled_i2c = I2C(0, scl=Pin(9), sda=Pin(8), freq=200000)

17

18 oled= SSD1306_I2C(WIDTH, HEIGHT, oled_i2c)

19

20 led =Pin(20, Pin.OUT)

21

22 #NBIoT 相關(guān)設(shè)定

23 apn ="twm.nbiot" # 存取點(diǎn)名稱

24 band= 28 # 通訊頻道

25CHECK_NET_INTERVAL_MS = 1000 # 網(wǎng)絡(luò)檢查間隔時(shí)間

26

27#相關(guān)設(shè)定

28MQTT_BROKER = "io.adafruit.com"

29 PORT= 1883

30 MQTT_USERNAME= ""

31MQTT_PASSWORD = ""

32TEMP_TOPIC = MQTT_USERNAME + "/feeds/pico.temperature"

33HUM_TOPIC = MQTT_USERNAME + "/feeds/pico.humidity"

34LED_TOPIC = MQTT_USERNAME + "/feeds/pico.led"

35UPLOAD_INTERVAL_MS = 30000 # 訊息上傳間隔時(shí)(毫秒)

36

37 nb =AM7020NB(0, 9600, 0, 1, 3, False) # 建立連接對(duì)象

38 mqtt= AM7020MQTT(nb) # 建立 MQTT 通訊對(duì)象

39

40

41 defnbConnect(): # ?訂聯(lián)機(jī)程序

42 print("Initializing modem...")

43 while((not nb.init() or (notnb.nbiotConnect(apn, band)))):

44 print(".")

45

46 print("Waiting for network...")

47 while(not nb.waitForNetwork()):

48 print(".")

49 sleep_ms(5000)

50

51 print(" success")

52

53

54 defreConnBroker(): # MQTT Broker 重新聯(lián)機(jī)程序

55 print("Connecting to",MQTT_BROKER, end="...")

56 if(mqtt.connBroker(MQTT_BROKER, PORT,MQTT_USERNAME, MQTT_PASSWORD, mqtt_id="ICSHOP_AM7020_MQTT_ID")):

57 print(" success")

58 print("subscribe: ",LED_TOPIC, end="")

59 if(mqtt.subscribe(LED_TOPIC,mqttCallback)):

60 print(" success")

61 else:

62 print(" fail")

63 else:

64 print(" fail")

65

66 #MQTT 訂閱內(nèi)容訊息回調(diào)函數(shù)

67

68

69 defmqttCallback(msg):

70 print(LED_TOPIC, ":", msg)

71 if(msg == "ON"):

72 led.on()

73 else:

74 led.off()

75

76

77chk_net_timer = 0 # 聯(lián)機(jī)狀態(tài)查詢周期定時(shí)器

78pub_data_timer = 0 # 訊息發(fā)布周期定時(shí)器

79

80 oled.fill(0) # 清除畫面

81oled.text("Init modem...", 0, 0)

82oled.show()

83

84print("Initializing modem...")

85while(not nb.init()):

86 print(".")

87

88while(True):

89 # show SHT31 data

90 oled.fill(0) # 清除畫面

91

92 t = round(sensor.get_temp_humi()[0], 1)

93 h = round(sensor.get_temp_humi()[1], 1)

94 # print("Temperature: {}".format(t))

95 # print("Humidity:{}".format(h))

96

97 if(ticks_ms() > chk_net_timer): # 聯(lián)機(jī)狀態(tài)查詢周期

98 chk_net_timer = ticks_ms() +CHECK_NET_INTERVAL_MS

99 if(not nb.chkNet()):

100 oled.fill(0) # 清除畫面

101 oled.text("ISP Connecting", 0, 0)

102 oled.show()

103 nbConnect()

104 oled.fill(0) # 清除畫面

105 oled.text("ISPConnected", 0, 0)

106 oled.show()

107 if(not mqtt.chkConnBroker()):

108 oled.fill(0) # 清除畫面

109 oled.text("MQTTConnecting", 0, 0)

110 oled.show()

111 reConnBroker()

112 oled.fill(0) # 清除畫面

113 oled.text("MQTTConnected", 0, 0)

114 oled.show()

115

116 if(ticks_ms() > pub_data_timer): # 訊息發(fā)布周期

117 pub_data_timer = pub_data_timer +UPLOAD_INTERVAL_MS

118 print("publish: ", t,end="")

119 if(mqtt.publish(TEMP_TOPIC, str(t))):

120 print(" success")

121 else:

122 print(" Fail")

123 print("publish: ", h,end="")

124 if(mqtt.publish(HUM_TOPIC, str(h))):

125 print(" success")

126 else:

127 print(" Fail")

128 mqtt.procSubs() # 檢查訂閱頻道狀態(tài)

129 oled.text("MQTT Connected", 0,0)

130 # 加入文字內(nèi)容

131 oled.text("Temp: ", 0, 10)

132 oled.text(str(t), 50, 10)

133 oled.text("*C", 90, 10)

134

135 oled.text("Humi: ", 0, 20)

136 oled.text(str(h), 50, 20)

137 oled.text("%", 90, 20)

138 oled.show() # 顯示繪制內(nèi)容

程序代碼說(shuō)明:

1. 引入這次實(shí)作所需模塊。

0eb7e9a8-3272-11ed-ba43-dac502259ad0.png

2. 建立并傳入I2C1建立SHT31對(duì)象,用來(lái)讀取溫濕度;建立并傳入I2C0建立OLED對(duì)象,用來(lái)操作OLEDOLED設(shè)定寬高為128*64;建立LED對(duì)象,pin設(shè)定為20,并設(shè)為輸出,用來(lái)顯示網(wǎng)頁(yè)控制開(kāi)關(guān)狀態(tài)。

0ed2e55a-3272-11ed-ba43-dac502259ad0.png

3. 設(shè)定NBIoT 模塊所使用的APNBand(不同電信商會(huì)不一樣,此為臺(tái)灣大哥大,Band 28),設(shè)定MQTT相關(guān)參數(shù),Broker 使用Adafruit IOPort 使用1883,賬號(hào)密碼請(qǐng)自行修改,設(shè)定溫濕度、LED Topic,請(qǐng)務(wù)必與云端設(shè)定相同,35行設(shè)定數(shù)據(jù)上傳云端的間隔,使用者可自行依需求調(diào)整,這里設(shè)為30秒上傳一次;建立AM7020AM7020MQTT對(duì)象,用來(lái)將數(shù)據(jù)發(fā)送至云端平臺(tái)。

0ef11264-3272-11ed-ba43-dac502259ad0.png

4. 定義NBIoT 聯(lián)機(jī)程序,呼叫AM7020對(duì)象init 初始化方法以及nbiotConnect 方法直到成功,接著呼叫waitForNetwork 方法等待聯(lián)機(jī)完成。

0f1748c6-3272-11ed-ba43-dac502259ad0.png

5. 定義MQTT 重新聯(lián)機(jī)程序,使用AM7020MQTT對(duì)象的connBroker 方法聯(lián)機(jī)到指定Broker,這里須注意每個(gè)裝置的mqtt_id不可相同,若相同Broker 將會(huì)剔除上一次的聯(lián)機(jī),聯(lián)機(jī)完畢后使用AM7020MQTT 對(duì)象的subscribe 方法訂閱LED Topic,并傳入callback(于下一段說(shuō)明),用以接收LED開(kāi)關(guān)狀態(tài)。

0f3a7a1c-3272-11ed-ba43-dac502259ad0.png

6. 定義LED數(shù)據(jù)的Callback,當(dāng)AM7020MQTT對(duì)象收到LED主題數(shù)據(jù)時(shí)就會(huì)呼叫此方法,在此方法里面判斷訊息并控制LED亮滅。

0f61c130-3272-11ed-ba43-dac502259ad0.png

7. 建立檢查聯(lián)機(jī)狀態(tài)、發(fā)布數(shù)據(jù)的定時(shí)器;將OLED畫面清除并顯示初始化訊息,并等待NBIOT模塊初始化成功。

0f7b2d00-3272-11ed-ba43-dac502259ad0.png

8. 進(jìn)入無(wú)窮循環(huán),92~93行讀取溫濕度數(shù)據(jù),97~114定時(shí)檢查NBIOT以及MQTT的聯(lián)機(jī)狀態(tài),若中間有斷線便會(huì)呼叫上面定義的重新聯(lián)機(jī)方法,并透過(guò)OLED顯示目前狀態(tài)。

0f9b378a-3272-11ed-ba43-dac502259ad0.png

9. 透過(guò)定時(shí)器的方式定時(shí)發(fā)送溫濕度數(shù)據(jù)到云端(默認(rèn)為30秒上傳一次),發(fā)送數(shù)據(jù)使用AM7020MQTT對(duì)象的publish方法,參數(shù)帶入目標(biāo)Topic以及要發(fā)布的訊息。

0fc4b83a-3272-11ed-ba43-dac502259ad0.png

10. 128行使用AM7020MQTT對(duì)象的procSubs方法檢查是否有訂閱數(shù)據(jù)到達(dá);將溫濕度數(shù)據(jù)顯示到OLED上。

0fea17f6-3272-11ed-ba43-dac502259ad0.png

六、執(zhí)行結(jié)果

完成以上步驟,并執(zhí)行范例程序代碼,我們就可以在OLED及云端上看到溫濕度數(shù)據(jù),并且可以直接透過(guò)網(wǎng)頁(yè)按鈕控制Pico LED燈,如下圖所示。

0fff6f2a-3272-11ed-ba43-dac502259ad0.jpg

10200e74-3272-11ed-ba43-dac502259ad0.png

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • OLED
    +關(guān)注

    關(guān)注

    120

    文章

    6286

    瀏覽量

    228132
  • 監(jiān)測(cè)站
    +關(guān)注

    關(guān)注

    0

    文章

    337

    瀏覽量

    11463

原文標(biāo)題:如何使用 Raspberry Pi Pico 實(shí)現(xiàn) IoT 物聯(lián)網(wǎng)?

文章出處:【微信號(hào):易心Microbit編程,微信公眾號(hào):易心Microbit編程】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    智能溫濕度監(jiān)測(cè) 溫濕度傳感器使用

      1、智能溫濕度監(jiān)測(cè)是檔案管理發(fā)展的必然與趨勢(shì)  隨著社會(huì)不斷發(fā)展與進(jìn)步,檔案分類越來(lái)越細(xì)化,涉及的內(nèi)容越來(lái)越豐富,信息量和數(shù)量越來(lái)越大。全國(guó)有數(shù)以萬(wàn)計(jì)的大大小的檔案館,其中有許多非常重要的機(jī)要
    發(fā)表于 07-03 11:02

    【OneNET麒麟座試用申請(qǐng)】空氣質(zhì)量數(shù)據(jù)監(jiān)測(cè)站

    項(xiàng)目名稱:空氣質(zhì)量數(shù)據(jù)監(jiān)測(cè)站試用計(jì)劃:空氣質(zhì)量數(shù)據(jù)監(jiān)測(cè)站用于測(cè)試空氣質(zhì)量監(jiān)測(cè)及數(shù)據(jù)采集,實(shí)現(xiàn)野外或者室內(nèi)空氣質(zhì)量的檢測(cè):1、測(cè)試采集PM25數(shù)據(jù),包括室內(nèi)、野外數(shù)據(jù)2、測(cè)試烹調(diào)煙氣對(duì)環(huán)境PM25
    發(fā)表于 04-05 15:03

    【Thunderboard Sense試用申請(qǐng)】移動(dòng)空氣質(zhì)量監(jiān)測(cè)站

    項(xiàng)目名稱:移動(dòng)空氣質(zhì)量監(jiān)測(cè)站試用計(jì)劃:項(xiàng)目描述:基于EFR32系列平臺(tái),開(kāi)發(fā)可移動(dòng)式空氣質(zhì)量監(jiān)測(cè)站,板上溫濕度傳感器監(jiān)測(cè)空氣溫度濕度,壓力傳
    發(fā)表于 05-19 17:10

    基于LoRa無(wú)線技術(shù)溫濕度監(jiān)測(cè)解決方案

    有效措施調(diào)節(jié)庫(kù)內(nèi)的溫濕度。因此,建立實(shí)時(shí)的溫濕度監(jiān)控系統(tǒng),并保存完整的歷史數(shù)據(jù)成為存儲(chǔ)行業(yè)領(lǐng)域的關(guān)鍵。基于四信LoRa無(wú)線技術(shù)的溫濕度傳感監(jiān)測(cè)“云”是利用四信LoRa無(wú)線通信技術(shù)對(duì)倉(cāng)儲(chǔ)
    發(fā)表于 06-12 18:42

    水質(zhì)監(jiān)測(cè)站在智能水產(chǎn)養(yǎng)殖監(jiān)測(cè)系統(tǒng)中有何應(yīng)用

    水質(zhì)監(jiān)測(cè)站的功能特點(diǎn)有哪些?水質(zhì)監(jiān)測(cè)站在智能水產(chǎn)養(yǎng)殖監(jiān)測(cè)系統(tǒng)中有何應(yīng)用?
    發(fā)表于 09-26 07:42

    中山微型水質(zhì)多參數(shù)在線監(jiān)測(cè)站安裝案例

    一.產(chǎn)品概述潤(rùn)越環(huán)保微型水質(zhì)多參數(shù)在線監(jiān)測(cè)站采用岸基方式,以小型無(wú)線水質(zhì)監(jiān)測(cè)終端為核心元素,布置在河流、水庫(kù)、湖泊、飲用水源的岸邊。監(jiān)測(cè)站采用移動(dòng)通訊為傳輸媒介,以大屏幕顯示器和zhong央服務(wù)器為
    發(fā)表于 12-13 19:10

    如何實(shí)現(xiàn)環(huán)境參數(shù)智能監(jiān)測(cè)站設(shè)計(jì)?

    如何實(shí)現(xiàn)環(huán)境參數(shù)智能監(jiān)測(cè)站設(shè)計(jì)?
    發(fā)表于 12-20 07:38

    使用raspberry pi Pico的原因

    使用raspberry pi Pico的原因在硬件產(chǎn)品(單片機(jī))的開(kāi)發(fā)中我們往往需要借助一些額外的儀器/設(shè)備進(jìn)行產(chǎn)品的輔助測(cè)試, 假設(shè)我們需要一個(gè)IO+ADC類型輔助設(shè)備, 以往的做法是 原理圖
    發(fā)表于 02-07 09:16

    基于 LabVIEW 的溫濕度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    基于LabVIEW的溫濕度監(jiān)測(cè)系統(tǒng)123456
    發(fā)表于 11-24 16:59 ?62次下載

    溫濕度監(jiān)測(cè)

    進(jìn)行溫濕度的仿真,采用PROTEUS進(jìn)行糧倉(cāng)溫濕度的檢測(cè)與控制。
    發(fā)表于 05-11 14:33 ?28次下載

    土壤墑情監(jiān)測(cè)站是什么,它的應(yīng)用優(yōu)勢(shì)都有哪些

    監(jiān)測(cè)站。 土壤墑情監(jiān)測(cè)站是什么?土壤墑情監(jiān)測(cè)站是一款集土壤溫濕度采集、存儲(chǔ)、傳輸和管理于一體的土壤墑情自動(dòng)監(jiān)測(cè)系統(tǒng)。它連接的傳感器可持續(xù)
    的頭像 發(fā)表于 11-09 11:05 ?3198次閱讀

    田間小氣候監(jiān)測(cè)站有什么作用

    田間小氣候監(jiān)測(cè)站可用于田間大棚內(nèi)空氣溫度、濕度、光合作用強(qiáng)度以及二氧化碳濃度、土壤溫濕度進(jìn)行自動(dòng)監(jiān)測(cè),并且快速準(zhǔn)確收集監(jiān)測(cè)數(shù)據(jù),更好的分析田
    發(fā)表于 07-23 10:08 ?624次閱讀

    管式土壤墑情監(jiān)測(cè)站監(jiān)測(cè)方案

    基礎(chǔ),能夠測(cè)量不同層次土壤中水分含量以及溫濕度狀態(tài)。它的檢測(cè)過(guò)程為動(dòng)態(tài)過(guò)程,最高可以檢測(cè)5層土壤溫濕度狀態(tài),最低可以檢測(cè)3層土壤溫濕度狀態(tài),帶有傾角的設(shè)備可以監(jiān)測(cè)土壤的傾斜角度來(lái)確定土
    的頭像 發(fā)表于 08-06 16:46 ?2011次閱讀
    管式土壤墑情<b class='flag-5'>監(jiān)測(cè)站</b><b class='flag-5'>監(jiān)測(cè)</b>方案

    庫(kù)房溫濕度自動(dòng)監(jiān)測(cè)系統(tǒng)

    倉(cāng)儲(chǔ)、庫(kù)房在管理上,環(huán)境控制都是重中之重。庫(kù)房溫濕度自動(dòng)監(jiān)測(cè)系統(tǒng)作為一種更為便捷的解決方案,已經(jīng)得到廣泛的應(yīng)用。 庫(kù)房溫濕度自動(dòng)監(jiān)測(cè)系統(tǒng)通過(guò)集成傳感器、數(shù)據(jù)采集器、傳輸設(shè)備和管理平臺(tái)等
    的頭像 發(fā)表于 07-09 18:00 ?1191次閱讀

    車載氣象監(jiān)測(cè)站:實(shí)時(shí)監(jiān)測(cè)道路風(fēng)速風(fēng)向溫濕度氣壓揚(yáng)塵等

    在復(fù)雜多變的道路環(huán)境中,駕駛者需要時(shí)刻關(guān)注天氣變化,以確保行車安全。車載氣象監(jiān)測(cè)站應(yīng)運(yùn)而生,它集成了高精度傳感器,能夠?qū)崟r(shí)監(jiān)測(cè)道路的風(fēng)速、風(fēng)向、溫濕度、氣壓以及揚(yáng)塵等關(guān)鍵氣象參數(shù)。 通過(guò)實(shí)時(shí)監(jiān)
    的頭像 發(fā)表于 01-22 13:32 ?464次閱讀
    主站蜘蛛池模板: 亚洲免费一| 艹逼视频免费 | 黄 色 片成 人免费观看 | 久久久夜夜夜 | 天天操人人干 | 日本在线不卡一区二区 | 精品国产三级a∨在线 | 日日噜噜夜夜狠狠tv视频免费 | 九月丁香婷婷 | 97国产精品人人爽人人做 | 午夜欧美性欧美 | 久久久久琪琪免费影院 | 性欧洲女人18 | 综合久久2o19 | 一级做a爰片久久毛片一 | 国产破苞合集 magnet | 国产女主播精品大秀系列在线 | 五月天婷婷免费视频观看 | 国产精品欧美激情第一页 | 国产精品久久久久久一级毛片 | 美女被网站免费看九色视频 | 夜夜穞狠狠穞 | 亚洲电影在线看 | 免费看欧美理论片在线 | 人人艹在线观看 | 一级免费看 | 98色花堂永久地址国产精品 | 国产三级在线观看视频 | 久青草视频在线 | 国产亚洲高清视频 | 四虎永久免费在线观看 | 成人欧美一区二区三区的电影 | 最新亚洲情黄在线网站 | 91三级在线观看 | 不卡一区二区在线观看 | 天天操免费视频 | 国内精品91久久久久 | 国产精品美女自在线观看免费 | 午夜国产高清精品一区免费 | 在线观看网站黄 | 久久男人精品 |