精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

我如何用 CircuitPython 和開(kāi)源工具監(jiān)控溫室

開(kāi)發(fā) 后端 開(kāi)源
CircuitPython 提供了一種和微控制器板進(jìn)行交互的革命性方式。這篇文章介紹了如何使用 CircuitPython 來(lái)監(jiān)測(cè)溫室的溫度、濕度以及環(huán)境光,并且使用 CircuitPython MQTT 客戶端將結(jié)果發(fā)布到一個(gè) MQTT 中介。

[[406443]]

使用微控制器、傳感器、Python 以及 MQTT 持續(xù)追蹤溫室的溫度、濕度以及環(huán)境光。

CircuitPython 提供了一種和微控制器板進(jìn)行交互的革命性方式。這篇文章介紹了如何使用 CircuitPython 來(lái)監(jiān)測(cè)溫室的溫度、濕度以及環(huán)境光,并且使用 CircuitPython MQTT 客戶端將結(jié)果發(fā)布到一個(gè) MQTT 中介broker。你可以在若干個(gè)程序中訂閱 MQTT 隊(duì)列并進(jìn)一步處理信息。

這個(gè)項(xiàng)目使用一個(gè)簡(jiǎn)單的 Python 程序來(lái)運(yùn)行 Web 服務(wù)器,它發(fā)布一個(gè) Prometheus 格式的采集端點(diǎn),拉取監(jiān)控指標(biāo)到 Prometheus 進(jìn)行不間斷的監(jiān)控。

關(guān)于 CircuitPython

CircuitPython 是一個(gè)由 Adafruit 創(chuàng)建的開(kāi)源 Python 發(fā)行版,用于運(yùn)行在低成本微控制器開(kāi)發(fā)板上。CircuitPython 為與 兼容的開(kāi)發(fā)板 的交互提供了簡(jiǎn)單的開(kāi)發(fā)體驗(yàn)。你可以在連接你的開(kāi)發(fā)板時(shí)掛載的 CIRCUITPYTHON 根驅(qū)動(dòng)器上創(chuàng)建一個(gè) code.py 文件來(lái)啟動(dòng)你的程序。CircuitPython 還為開(kāi)發(fā)板提供了一個(gè)串行連接,包含一個(gè)交互式解釋器(REPL)會(huì)話,你可以使用 Python 代碼實(shí)時(shí)和開(kāi)發(fā)板進(jìn)行交互。

Adafruit 的網(wǎng)站提供了大量的文檔,可以幫助你開(kāi)始使用 CircuitPython。首先,參考下《歡迎來(lái)到 CircuitPython》指南。這份指南能夠幫助你開(kāi)始使用 CircuitPython 在開(kāi)發(fā)板上運(yùn)行代碼以及和 REPL 交互。它還記錄了如何安裝 Adafruit 的 CircuitPython 庫(kù)合集和范例,可以用在它出售的許多開(kāi)發(fā)板和傳感器上。接下來(lái),閱讀《CircuitPython 基礎(chǔ)》指南來(lái)學(xué)習(xí)更多關(guān)于其功能的信息,里面還有鏈接指向在特定及兼容的開(kāi)發(fā)板上使用 CircuitPython 的相關(guān)信息。最后,就如所有開(kāi)源軟件一樣,你可以深入 CircuitPython 的源碼,發(fā)布議題,以及做出貢獻(xiàn)。

微控制器設(shè)置

微控制器系統(tǒng)非常簡(jiǎn)單。要完成這個(gè)示例項(xiàng)目,你會(huì)需要:

  • 樹(shù)莓派 4:你需要一臺(tái)電腦來(lái)給微控制器系統(tǒng)編程,我用的是樹(shù)莓派 4。
  • CircuitPython 兼容的微控制器:我用的是 Adafruit Feather S2,帶有內(nèi)置 WiFi,環(huán)境光傳感器,Qwiic 線纜輸入。
  • 微控制器 WiFi:Feather S2 內(nèi)置了 WiFi。如果你的微控制器沒(méi)有,你需要給開(kāi)發(fā)板找個(gè) WiFi 擴(kuò)展板。
  • 傳感器:Feather S2 有個(gè)內(nèi)置的環(huán)境光傳感器,所以我還需要一個(gè)溫濕度傳感器。有很多不同廠商的產(chǎn)品可以選擇,包括 Adafruit、SparkFun、亞馬遜。我用的是一個(gè) Adafruit 傳感器,帶有 Feather S2 輸入兼容的 Qwiic 線纜。盡管多數(shù) SparkFun 傳感器可以在 Adafruit 庫(kù)下工作,但如果你不是從 Adafruit 購(gòu)買的傳感器,你可能還是需要自己去找到它兼容 CircuitPython 的 Python 庫(kù)。
  • 跳線和線纜:為了避免使用面包板或焊接,我使用 Adafruit Qwiic 線纜。SparkFun 銷售的包含不同長(zhǎng)度的線纜套裝中也有它。

在將微控制器連接到你的電腦之前,將傳感器連接到微控制器上。

 

將傳感器連接到微控制器上

現(xiàn)在你可以將微控制器用 USB 數(shù)據(jù)線連接到你的電腦。

MQTT 中介

你可以使用 這份說(shuō)明 來(lái)在樹(shù)莓派的系統(tǒng)上安裝 Mosquitto MQTT 中介 和 Mosquitto 客戶端。如果你想把樹(shù)莓派做為長(zhǎng)期服務(wù)器使用,在你的網(wǎng)絡(luò)上給樹(shù)莓派 4 設(shè)置一個(gè)靜態(tài) IP 地址。Mosquitto 中介運(yùn)行起來(lái)之后,創(chuàng)建一份 用戶名/密碼文件,設(shè)置客戶端向中介發(fā)布和訂閱消息時(shí)用的認(rèn)證信息。

你可以用樹(shù)莓派上的 Mosquitto 客戶端來(lái)測(cè)試 MQTT 中介。打開(kāi)兩個(gè)終端(如果你是無(wú)界面運(yùn)行的話打開(kāi)兩個(gè) SSH 會(huì)話):

在終端一輸入:

  1. mosquitto_sub -h localhost -u $user -P $pass -t "mqtt/test"

這條命令會(huì)啟動(dòng)一個(gè)持續(xù)運(yùn)行的進(jìn)程,監(jiān)聽(tīng)發(fā)布到 mqtt/test 隊(duì)列的消息。

在終端二輸入:

  1. mosquitto_pub -h localhost -u $user -P $pass -t "mqtt/test" -m hello`

這條命令會(huì)向 mqtt/test 隊(duì)列發(fā)布一條消息,它應(yīng)該會(huì)顯示在終端一的輸出里。

現(xiàn)在你可以中止終端一運(yùn)行的 sub 命令了。

Mosquitto 中介允許客戶端發(fā)布消息到任何隊(duì)列,甚至沒(méi)有任何訂閱的隊(duì)列也可以。這些消息會(huì)永久丟失,但這不會(huì)阻止客戶端繼續(xù)發(fā)布消息。

打開(kāi)第三個(gè)終端,訂閱下列隊(duì)列(你的控制器會(huì)發(fā)布消息到這些隊(duì)列上):

  • greenhouse/temperature
  • greenhouse/light
  • greenhouse/humidity

給微控制器編碼

現(xiàn)在你已經(jīng)準(zhǔn)備好給微控制器編碼,發(fā)布它的監(jiān)測(cè)指標(biāo)到樹(shù)莓派 4 上運(yùn)行的 MQTT 中介上了。

Adafruit 有 出色的文檔,指導(dǎo)你使用 CircuitPython 庫(kù)合集 的庫(kù)來(lái)將你的微控制器連接到 WiFi 路由器,并發(fā)布監(jiān)測(cè)指標(biāo)到 MQTT 中介上。

安裝下列庫(kù)到 CIRCUITPYTHON/lib 目錄,溫室監(jiān)控會(huì)用到它們。這些庫(kù)在 Adafruit 的 CircuitPython 庫(kù)合集中都有提供:

  • adafruit_bus_device:一個(gè)帶有多個(gè) .mpy 文件的 Python 包文件夾(.mpy 是經(jīng)過(guò)壓縮的 Python 文件,用以節(jié)省空間)
  • adafruit_requests:?jiǎn)蝹€(gè) .mpy 文件
  • adafruit_register:一個(gè)包文件夾
  • adafruit_minimqtt:一個(gè)包文件夾
  • adafruit_si7021:?jiǎn)蝹€(gè) .mpy 文件,用來(lái)支持溫濕度傳感器

庫(kù)裝好了之后,將以下代碼寫(xiě)入 CIRCUITPYTHON 文件夾的 code.py 文件中:

  1. import time
  2. import ssl
  3. import socketpool
  4. import wifi
  5. import adafruit_minimqtt.adafruit_minimqtt as MQTT
  6. import board
  7. from digitalio import DigitalInOut, Direction, Pull
  8. from analogio import AnalogIn
  9. import adafruit_si7021
  10.  
  11. # Add a secrets.py to your filesystem that has a dictionary called secrets with "ssid" and
  12. # "password" keys with your WiFi credentials. DO NOT share that file or commit it into Git or other
  13. # source control.
  14. # pylint: disable=no-name-in-module,wrong-import-order
  15. try:
  16.         from secrets import secrets
  17. except ImportError:
  18.         print("WiFi secrets are kept in secrets.py, please add them there!")
  19.         raise
  20.  
  21. print("Connecting to %s" % secrets["ssid"])
  22. wifi.radio.connect(secrets["ssid"], secrets["password"])
  23. print("Connected to %s!" % secrets["ssid"])
  24. ### Feeds ###
  25. light_feed = "greenhouse/light"
  26. temp_feed = "greenhouse/temperature"
  27. humidity_feed = "greenhouse/humidity"
  28.  
  29. # Define callback methods which are called when events occur
  30. # pylint: disable=unused-argument, redefined-outer-name
  31. def connected(client, userdata, flags, rc):
  32.         # This function will be called when the client is connected
  33.         # successfully to the broker.
  34.         print("Connected to MQTT!")
  35.  
  36. def disconnected(client, userdata, rc):
  37.         # This method is called when the client is disconnected
  38.         print("Disconnected from MQTT!")
  39.  
  40.  
  41. def get_voltage(pin):
  42.         return (pin.value * 3.3) / 65536
  43.  
  44. # Create a socket pool
  45. pool = socketpool.SocketPool(wifi.radio)
  46.  
  47. # Set up a MiniMQTT Client
  48. mqtt_client = MQTT.MQTT(
  49.         broker=secrets["broker"],
  50.         port=secrets["port"],
  51.         username=secrets["aio_username"],
  52.         password=secrets["aio_key"],
  53.         socket_pool=pool,
  54.         ssl_context=ssl.create_default_context(),
  55. )
  56.  
  57. # Setup the callback methods above
  58. mqtt_client.on_connect = connected
  59. mqtt_client.on_disconnect = disconnected
  60.  
  61. # Connect the client to the MQTT broker.
  62. print("Connecting to MQTT...")
  63. mqtt_client.connect()
  64.  
  65. # Create library object using our Bus I2C port
  66. sensor = adafruit_si7021.SI7021(board.I2C())
  67. light_pin = AnalogIn(board.IO4)
  68.  
  69. while True:
  70.         # Poll the message queue
  71.         mqtt_client.loop()
  72.  
  73.         # get the current temperature
  74.         light_val = get_voltage(light_pin)
  75.         temp_val = ((sensor.temperature * 9)/5) + 32
  76.         humidity_val = sensor.relative_humidity
  77.  
  78.         # Send a new messages
  79.         mqtt_client.publish(light_feed, light_val)
  80.         mqtt_client.publish(temp_feed, temp_val)
  81.         mqtt_client.publish(humidity_feed, humidity_val)
  82.         time.sleep(0.5)

保存你的代碼。然后連接到串行監(jiān)視器,看程序連接到你的 MQTT 中介。你還可以將樹(shù)莓派 4 上的終端切換到訂閱了它的發(fā)布隊(duì)列的終端來(lái)查看輸出。

處理監(jiān)測(cè)指標(biāo)

像 MQTT 這樣的發(fā)布/訂閱工作流給微控制器系統(tǒng)提供了諸多好處。你可以有多個(gè)微控制器 + 傳感器來(lái)回報(bào)同一個(gè)系統(tǒng)的不同指標(biāo)或并行回報(bào)相同指標(biāo)的若干讀數(shù)。你還可以有多個(gè)不同進(jìn)程訂閱各個(gè)隊(duì)列,并行地對(duì)這些消息進(jìn)行回應(yīng)。甚至還可以有多個(gè)進(jìn)程訂閱相同的隊(duì)列,對(duì)消息做出不同的動(dòng)作,比如數(shù)值過(guò)高時(shí)發(fā)送通知郵件或?qū)⑾l(fā)送到另一個(gè) MQTT 隊(duì)列上去。

另一個(gè)選項(xiàng)是讓一個(gè)微控制器訂閱一個(gè)外部隊(duì)列,可以發(fā)送信號(hào)告訴微控制器做出動(dòng)作,比如關(guān)閉或開(kāi)始一個(gè)新會(huì)話。最后,發(fā)布/訂閱工作流對(duì)低功耗微控制器系統(tǒng)更佳(比如那些使用電池或太陽(yáng)能的系統(tǒng)),因?yàn)檫@些設(shè)備可以在更長(zhǎng)的延遲周期后批量發(fā)布監(jiān)測(cè)指標(biāo),并在回報(bào)的間隔期間關(guān)閉大量消耗電量的 WiFi 廣播。

要處理這些監(jiān)測(cè)指標(biāo),我創(chuàng)建了一個(gè) Python 客戶端,使用 Paho Python MQTT 客戶端 訂閱監(jiān)測(cè)指標(biāo)隊(duì)列。我還使用官方的 Prometheus Python 客戶端 創(chuàng)建了一個(gè) Web 服務(wù)器,它產(chǎn)生一個(gè)符合 Prometheus 標(biāo)準(zhǔn)的采集端點(diǎn),使用這些監(jiān)測(cè)指標(biāo)作為面板信息。Prometheus 服務(wù)器和 Mosquitto MQTT 中介我都是運(yùn)行在同一個(gè)樹(shù)莓派 4 上的。

  1. from prometheus_client import start_http_server, Gauge
  2. import random
  3. import time
  4. import paho.mqtt.client as mqtt
  5.  
  6. gauge = {
  7.   "greenhouse/light": Gauge('light','light in lumens'),
  8.   "greenhouse/temperature": Gauge('temperature', 'temperature in fahrenheit'),
  9.   "greenhouse/humidity": Gauge('humidity','relative % humidity')
  10. }
  11.  
  12. try:
  13.         from mqtt_secrets import mqtt_secrets
  14. except ImportError:
  15.         print("WiFi secrets are kept in secrets.py, please add them there!")
  16.         raise
  17.  
  18. def on_connect(client, userdata, flags, rc):
  19.         print("Connected with result code "+str(rc))
  20.         # Subscribing in on_connect() means that if we lose the connection and
  21.         # reconnect then subscriptions will be renewed.
  22.         client.subscribe("greenhouse/light")
  23.         client.subscribe('greenhouse/temperature')
  24.         client.subscribe('greenhouse/humidity')
  25.  
  26. def on_message(client, userdata, msg):
  27.         topic = msg.topic
  28.         payload = msg.payload
  29.         gauge[topic].set(payload)
  30.  
  31. client = mqtt.Client()
  32. client.username_pw_set(mqtt_secrets["mqtt_user"],mqtt_secrets['mqtt_password'])
  33. client.on_connect = on_connect
  34. client.on_message = on_message
  35. client.connect('localhost',1883,60)
  36.  
  37. if __name__ == '__main__':
  38.         # Start up the server to expose the metrics.
  39.  
  40.         client = mqtt.Client()
  41.         client.username_pw_set('london','abc123')
  42.         client.on_connect = on_connect
  43.         client.on_message = on_message
  44.         client.connect('localhost',1883,60)
  45.  
  46.         start_http_server(8000)
  47.         client.loop_forever()

然后我配置 Prometheus 服務(wù)器采集端點(diǎn)數(shù)據(jù)到 localhost:8000

你可以在 Github 上訪問(wèn) 溫室 MQTT 微控制器 這個(gè)項(xiàng)目的代碼,項(xiàng)目采用 MIT 許可證授權(quán)。 

責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2013-03-04 11:14:24

云服務(wù)監(jiān)測(cè)云安全監(jiān)測(cè)云安全

2020-12-02 13:19:47

Shell監(jiān)控文件Linux

2011-03-23 09:05:40

Nagios監(jiān)控

2022-02-25 11:51:11

KubeScrape開(kāi)源監(jiān)控工具

2016-04-18 10:45:22

Dr. ElephanHadoop性能監(jiān)控

2023-04-14 08:21:55

2020-05-03 12:50:19

開(kāi)源監(jiān)控工具網(wǎng)絡(luò)監(jiān)控開(kāi)源

2023-08-20 16:51:28

Kubernetes開(kāi)源工具

2017-06-13 16:07:21

開(kāi)源網(wǎng)絡(luò)監(jiān)控服務(wù)器

2009-03-31 16:41:38

網(wǎng)絡(luò)性能網(wǎng)絡(luò)監(jiān)控開(kāi)源

2019-11-01 09:00:00

Kubernetes開(kāi)源監(jiān)控工具

2011-09-02 09:51:21

2020-04-13 09:34:24

開(kāi)源監(jiān)控工具

2010-06-28 13:35:15

ITIL監(jiān)控工具

2017-05-02 13:38:51

CSS繪制形狀

2015-04-14 09:26:13

網(wǎng)絡(luò)流量監(jiān)控vnStatvnStati

2020-11-09 06:51:46

開(kāi)源工具開(kāi)源

2022-07-24 14:51:31

開(kāi)源游戲RPG 游戲

2021-07-09 05:24:24

云監(jiān)控工具開(kāi)源云平臺(tái)

2013-12-18 17:16:29

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

亚洲婷婷在线| 亚洲av无码乱码国产精品| 高清精品xnxxcom| 精品国产鲁一鲁一区二区张丽| 精品乱码一区二区三区| 免费视频网站在线观看入口| 97精品国产| 精品国产伦理网| 日韩亚洲在线视频| 操你啦视频在线| 91亚洲资源网| 成人久久久久久久| 手机看片久久久| 国产精品毛片久久| 日韩av在线导航| 爱爱爱爱免费视频| 九色porny自拍视频在线观看| 国产精品青草综合久久久久99| 大波视频国产精品久久| 午夜久久久久久久久久影院| 黄色综合网站| 久久久精品影院| 中文字幕av网址| 亚洲国产视频二区| 欧美日韩国产经典色站一区二区三区| 一本色道久久88亚洲精品综合| 国产福利免费在线观看| 成人少妇影院yyyy| 91精品在线看| 亚洲 国产 日韩 欧美| 亚洲激情另类| 欧美美最猛性xxxxxx| 黄色av免费播放| 亚洲丁香日韩| 亚洲国产美女精品久久久久∴| 加勒比av中文字幕| 91成人抖音| 黑人巨大精品欧美一区二区一视频 | 在线观看视频黄色| 韩日视频在线| 久久久久99精品一区| 国产亚洲福利社区| 亚洲av无码国产精品永久一区| 韩国成人在线视频| 国产原创欧美精品| 中文字幕在线观看国产| 日韩精品成人一区二区在线| 茄子视频成人在线| 91精品国产高清一区二区三密臀| 影音先锋亚洲一区| 久久久久久综合网天天| 欧美成人精品欧美一级| 女人天堂亚洲aⅴ在线观看| 久久亚洲欧美日韩精品专区 | 欧美韩国一区| www.久久久久久.com| 91免费在线看片| 青青草国产成人a∨下载安卓| 亚洲欧美另类在线观看| 中文字字幕码一二三区| 玖玖玖免费嫩草在线影院一区| 精品91自产拍在线观看一区| 国产人成视频在线观看| 免费看成人人体视频| 亚洲精品久久久久久久久久久| 中国极品少妇videossexhd| 欧美日韩一区二区三区四区不卡| 亚洲国产欧美久久| 中国黄色a级片| 女人丝袜激情亚洲| 中文字幕亚洲欧美日韩在线不卡| 亚洲色图日韩精品| 亚洲视频在线免费| 欧美高清性猛交| 色播视频在线播放| 久久成人国产| 国产精品自产拍在线观看| 一区二区的视频| 懂色av一区二区三区免费看| 国产精品久久久久av福利动漫| 天堂网在线观看视频| 久久精品视频一区二区| 亚洲精品二区| 在线中文字幕第一页| 精品人伦一区二区三区蜜桃网站| 久草综合在线观看| 久久wwww| 亚洲精品一区二区网址| 国产视频123区| 欧美日韩免费| 日产精品99久久久久久| 97免费观看视频| 成人不卡免费av| 四虎一区二区| 国产乱妇乱子在线播视频播放网站| 精品久久在线播放| 在线能看的av网站| 卡通动漫国产精品| 久久精品精品电影网| 国产大片aaa| 另类欧美日韩国产在线| 国产精品区免费视频| 波多野结衣在线影院| 亚洲综合丁香婷婷六月香| 日韩中文字幕二区| 国产美女亚洲精品7777| 亚洲欧美日韩另类| 久久艹精品视频| 日韩精品乱码免费| 国产区日韩欧美| 在线观看麻豆| 色综合天天天天做夜夜夜夜做| 国产精欧美一区二区三区白种人| 日韩高清影视在线观看| 久久av在线播放| 一级黄色av片| a美女胸又www黄视频久久| 亚洲综合第一| 国产欧美一区二区三区精品酒店| 日韩一区二区不卡| eeuss中文字幕| 石原莉奈一区二区三区在线观看| 成人av免费看| 四虎久久免费| 欧美在线三级电影| 精品人妻一区二区三区日产乱码卜| 自拍偷拍欧美专区| 国产精品视频网址| 免费在线看v| 婷婷成人激情在线网| 韩国黄色一级片| 中文字幕午夜精品一区二区三区 | 亚洲自拍一区在线观看| 成人性生交大合| 最新av网址在线观看| 日韩av黄色| 中文字幕无线精品亚洲乱码一区 | 欧美日韩成人免费| 一区二区三区黄| 国产精品久久久久永久免费观看| 凹凸日日摸日日碰夜夜爽1| 成人爽a毛片免费啪啪红桃视频| 精品国产一区久久久| 亚洲影视一区二区| 欧美国产国产综合| 日日噜噜夜夜狠狠| 少妇精品久久久| 国产成人精品视| 九色视频在线观看免费播放| 一本大道久久a久久精品综合| 内射中出日韩无国产剧情| 日韩亚洲在线| 久久精品女人的天堂av| 天堂√8在线中文| 亚洲免费福利视频| 黄色网址中文字幕| 国产精品乱人伦| av中文字幕网址| 欧美一区二区三区另类| 99在线看视频| 阿v视频在线观看| 日韩精品极品视频| 国产主播第一页| 亚洲欧洲性图库| 无码国产精品一区二区高潮| 国内精品福利| 蜜桃免费一区二区三区| 国产免费不卡| 久久韩国免费视频| 亚洲成a人片在线| 欧美日韩性视频| 中文字幕在线1| 国产最新精品精品你懂的| 精品国产一区二区三区在线| eeuss国产一区二区三区四区| 777国产偷窥盗摄精品视频| 丝袜视频国产在线播放| 欧美少妇bbb| 欧美日韩综合一区二区| av欧美精品.com| 九九热免费精品视频| 中文字幕av亚洲精品一部二部| 国产日本一区二区三区| 成人综合网站| 色综合视频网站| 日韩二区三区| 欧美精品123区| 国产午夜久久久| 国产精品―色哟哟| 深夜视频在线观看| 麻豆精品网站| 97在线免费视频观看| 日本午夜精品| 91久热免费在线视频| 国产精选在线| 久久久999精品免费| 五月婷中文字幕| 91精品国产色综合久久| 性色av免费观看| 亚洲激情在线激情| 自拍偷拍中文字幕| 高清国产一区二区三区| 国产野外作爱视频播放| 亚洲激情另类| 穿情趣内衣被c到高潮视频| 亚洲人成精品久久久| 99久久精品免费看国产四区| 日本综合视频| 98精品在线视频| 91精品国产91久久久久久青草| 亚洲美女在线观看| 天堂av一区二区三区| 日韩一区二区三区av| 中文字幕 亚洲视频| 亚洲一区二区欧美激情| 国产视频精品免费| 久久毛片高清国产| 中文字幕在线视频播放| 国模少妇一区二区三区 | 国产福利一区二区| 999精彩视频| 久热国产精品| 热99这里只有精品| 欧美三级在线| 最新欧美日韩亚洲| 久久国产精品成人免费观看的软件| 精品蜜桃一区二区三区| 91精品国产自产精品男人的天堂 | 久久久久久久激情视频| 成人日韩欧美| 久久精品99久久久香蕉| av在线电影播放| 亚洲一级免费视频| 欧美少妇另类| 亚洲精品中文字幕有码专区| 日韩在线视频观看免费| 欧美成人艳星乳罩| 国产丰满美女做爰| 欧美男同性恋视频网站| 亚洲一区在线观| 欧美区视频在线观看| 亚洲影院一区二区三区| 欧美日韩国产一级片| 中文字幕第315页| 欧美唯美清纯偷拍| 亚洲一区二区激情| 欧美蜜桃一区二区三区| 国产精品热久久| 日韩一级完整毛片| www.国产视频| 337p日本欧洲亚洲大胆精品| 亚洲乱码国产乱码精品精软件| 精品国产不卡一区二区三区| 国产自产一区二区| 日韩精品免费电影| 国产一二三在线观看| 在线亚洲国产精品网| 一级毛片视频在线| 美女久久久久久久| 丁香花在线电影| 26uuu日韩精品一区二区| 2022成人影院| 国产精品午夜视频| 国产精品日韩精品在线播放| 超碰在线观看97| 中文字幕亚洲影视| 午夜精品一区二区三区在线观看 | 阿v天堂2018| 夜夜嗨网站十八久久| 免费在线观看日韩视频| 日韩黄色免费网站| 想看黄色一级片| 成人免费视频视频在线观看免费| 一区二区三区少妇| 国产欧美一区二区三区在线看蜜臀| 超碰人人人人人人人| 亚洲精品中文在线影院| 日韩精品一区二区在线播放| 91福利视频网站| 99精品视频在线播放免费| 亚洲丁香久久久| 成年人视频免费在线观看| 久久亚洲精品一区| av资源亚洲| 91成人伦理在线电影| 琪琪久久久久日韩精品| 一区二区三区四区五区精品| 激情综合电影网| 欧美伦理片在线观看| 成人丝袜18视频在线观看| 少妇av片在线观看| 夜夜嗨av一区二区三区四季av| 波多野结衣 久久| 欧美一区二区三区免费视频| 亚洲三区在线播放| 久久婷婷国产麻豆91天堂| 亚洲福利影院| 97碰碰视频| 日韩av大片| 国产一区二区在线视频播放| 久久99国产精品麻豆| theav精尽人亡av| 亚洲精品久久久蜜桃| 中文字幕 亚洲视频| 精品网站999www| 男女免费观看在线爽爽爽视频| 国产精品视频xxx| 欧美成人基地| 17c丨国产丨精品视频| 奇米影视在线99精品| 国产性生活毛片| 亚洲激情中文1区| 亚洲一区二区激情| 亚洲天堂av在线免费观看| 成人免费观看在线观看| 成人免费午夜电影| 欧美综合在线视频观看| 国产91在线视频观看| 高清免费成人av| 欧美成欧美va| 3d成人h动漫网站入口| 国产黄色在线| 欧美诱惑福利视频| 精品福利网址导航| 成人免费网站入口| 国产伦精一区二区三区| 91香蕉视频污在线观看| 欧美在线影院一区二区| 四虎成人免费在线| 91成人在线视频| 久久男人av| 久久久久久人妻一区二区三区| 久久国内精品自在自线400部| 性欧美精品男男| 色哟哟精品一区| 神马久久久久| 青青草一区二区| 竹菊久久久久久久| 久久久久久久久久久久久久国产| 久久众筹精品私拍模特| 国产精品500部| 亚洲国产精品推荐| 欧美aa在线| 国产区二精品视| 亚洲永久免费精品| 白丝女仆被免费网站| 色香色香欲天天天影视综合网| 亚欧洲精品视频| 欧美在线一区二区视频| 国产成人3p视频免费观看| 黄色国产精品视频| 国产欧美日韩另类一区| 中文字幕69页| 国产一区二区三区在线观看视频| 91伊人久久| 国产对白在线播放| 国产精品一级片| 日本午夜小视频| 亚洲欧洲在线免费| 免费一级欧美在线观看视频| 国产精品h视频| 国产精品99久久久久久有的能看| 九九热精品免费视频| 亚洲国产欧美一区二区三区久久| 水蜜桃在线视频| 一区二区日本伦理| 国产寡妇亲子伦一区二区| 日本三级2019| 国产亚洲美女精品久久久| 亚洲精品成a人ⅴ香蕉片| 2022中文字幕| 久久综合网色—综合色88| 综合久久中文字幕| 久久在线观看视频| 卡一精品卡二卡三网站乱码 | 久久久国产高清| 一区二区欧美久久| 日韩精品视频一区二区三区| 毛片在线视频播放| 国产精品国产三级国产aⅴ原创| 国产高清视频免费观看| 2019中文字幕在线免费观看| 成人羞羞视频在线看网址| 9191在线视频| 91久久久免费一区二区| 91精品久久| 色就是色欧美| 丁香激情综合国产| 自拍偷拍福利视频| 97高清免费视频| 99视频精品全国免费| 美女又爽又黄免费| 欧美精品亚洲一区二区在线播放| 888av在线视频| 一级二级三级欧美| 99国产精品久| 精品久久久中文字幕人妻| 国产不卡视频在线| 狠狠爱综合网| 中文国语毛片高清视频|