色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

STM32智能臺(tái)燈設(shè)計(jì):光感采集、WiFi通信與云平臺(tái)控制完整解析

STM32智能臺(tái)燈設(shè)計(jì):光感采集、WiFi通信與云平臺(tái)控制完整解析 STM32智能臺(tái)燈這個(gè)題目說新不新說舊也不算舊。但我在幫人審過幾十套類似畢業(yè)設(shè)計(jì)或者競(jìng)賽方案之后發(fā)現(xiàn)真正能把“光感”“WiFi”“云平臺(tái)”三條線擰成一股繩、而且每一環(huán)都經(jīng)得起追問的項(xiàng)目其實(shí)不多。大部分方案要么是本地PWM調(diào)光做得不錯(cuò)云平臺(tái)只是個(gè)擺設(shè)要么是APP能亮能滅但光照采集和自動(dòng)控制邏輯一塌糊涂。這篇文章就從這個(gè)經(jīng)典題目出發(fā)把我認(rèn)為一套合格的“STM32智能臺(tái)燈光感WiFi云平臺(tái)控制系統(tǒng)”該有的設(shè)計(jì)思路、硬件選型、通信協(xié)議、核心代碼和踩坑經(jīng)驗(yàn)完整拆開來講。內(nèi)容更適合正在做課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)或者想拿一個(gè)完整物聯(lián)網(wǎng)項(xiàng)目練手的嵌入式初學(xué)者。我不會(huì)只羅列原理圖也不會(huì)直接甩給你一堆源碼而是盡量把每個(gè)關(guān)鍵選擇背后的“為什么”講清楚。1. 項(xiàng)目整體設(shè)計(jì)與思路拆解1.1 這套系統(tǒng)到底解決什么問題先別急著寫代碼想明白產(chǎn)品需求比什么都重要。所謂智能臺(tái)燈表面上要解決的是“自動(dòng)開關(guān)”和“自動(dòng)調(diào)亮度”的問題但做一個(gè)帶云平臺(tái)的項(xiàng)目需求其實(shí)可以拆成三個(gè)層次。第一層是本地自動(dòng)控制。臺(tái)燈根據(jù)環(huán)境光照強(qiáng)度自動(dòng)調(diào)節(jié)LED亮度環(huán)境光暗了燈就亮起來環(huán)境光充足時(shí)燈自動(dòng)降低亮度甚至關(guān)燈。這個(gè)層次只需要單片機(jī)、光敏傳感器和LED驅(qū)動(dòng)電路就能完成也是整個(gè)系統(tǒng)最底層、最核心的功能。第二層是遠(yuǎn)程手動(dòng)控制。用戶不在家或者躺在床上不想動(dòng)可以通過手機(jī)APP或者網(wǎng)頁遠(yuǎn)程開關(guān)臺(tái)燈、調(diào)節(jié)亮度。這一層要在本地自動(dòng)控制之上引入WiFi模塊和云平臺(tái)實(shí)現(xiàn)設(shè)備聯(lián)網(wǎng)、指令下發(fā)。第三層是狀態(tài)監(jiān)控與場(chǎng)景聯(lián)動(dòng)。臺(tái)燈定時(shí)上報(bào)當(dāng)前的光照強(qiáng)度和燈的狀態(tài)云平臺(tái)端可以記錄歷史數(shù)據(jù)、繪制趨勢(shì)曲線。更進(jìn)一步還可以設(shè)定定時(shí)任務(wù)比如每天早上7點(diǎn)自動(dòng)開燈或者讓燈根據(jù)外界光照變化實(shí)時(shí)調(diào)整亮度。把這三個(gè)層次拆開之后你會(huì)發(fā)現(xiàn)這個(gè)項(xiàng)目表面上是做一盞燈實(shí)際上是從“感知層—網(wǎng)絡(luò)層—平臺(tái)層—應(yīng)用層”完整走了一遍物聯(lián)網(wǎng)的經(jīng)典架構(gòu)。所以它非常適合作為嵌入式物聯(lián)網(wǎng)方向的學(xué)習(xí)項(xiàng)目技術(shù)棧覆蓋了傳感器采集、嵌入式控制、無線通信、云平臺(tái)接入、APP開發(fā)等多個(gè)環(huán)節(jié)。1.2 為什么選STM32而不是51、Arduino或者ESP32這是我在知乎和CSDN后臺(tái)被問得最多的問題。先說結(jié)論如果你是為了快速做個(gè)demoArduino或者ESP32確實(shí)更省事但如果是為了系統(tǒng)學(xué)習(xí)嵌入式、或者按畢業(yè)設(shè)計(jì)的標(biāo)準(zhǔn)來做STM32仍然是更合適的平臺(tái)。STM32的優(yōu)勢(shì)在于它的資源對(duì)于這個(gè)項(xiàng)目來說“剛剛好”。以最常用的STM32F103C8T6為例64KB Flash、20KB RAM主頻72MHz片上集成12位ADC、多路定時(shí)器、多路USART、I2C、SPI。實(shí)現(xiàn)光敏采樣、PWM調(diào)光、串口通信、按鍵掃描、狀態(tài)機(jī)管理這些資源綽綽有余。相比51單片機(jī)STM32的性能余量讓你可以跑RTOS、做復(fù)雜的濾波算法而不必在資源邊緣瘋狂試探。有人可能覺得ESP32自帶WiFi和藍(lán)牙直接一把梭不更香嗎這個(gè)說法在工程上確實(shí)有道理但從學(xué)習(xí)和練手的角度看會(huì)丟掉兩個(gè)關(guān)鍵技能點(diǎn)一是MCU通過串口AT指令控制WiFi模塊的經(jīng)典物聯(lián)網(wǎng)架構(gòu)二是主控與外設(shè)模塊分離時(shí)的調(diào)試能力。你現(xiàn)在用STM32ESP8266把AT指令這套流程走通了之后工作中遇到任何不帶協(xié)議棧的通信模組都能很快上手。1.3 三種整體架構(gòu)方案對(duì)比我在設(shè)計(jì)這套系統(tǒng)時(shí)在頂層架構(gòu)上其實(shí)糾結(jié)過幾個(gè)方案這里一并列出來供參考。第一種是“STM32 光敏電阻 ESP8266 云平臺(tái)”這也是我最終采用的方案。光敏電阻通過ADC采樣得到光照強(qiáng)度STM32根據(jù)光照數(shù)據(jù)自動(dòng)調(diào)節(jié)PWM占空比控制LED同時(shí)通過ESP8266以MQTT協(xié)議接入云平臺(tái)。這個(gè)方案兼顧了硬件成本和教學(xué)價(jià)值每一步都看得見摸得著非常適合教學(xué)和畢設(shè)展示。第二種是“STM32 BH1750數(shù)字光感 ESP8266 云平臺(tái)”。與第一種的區(qū)別在于BH1750通過I2C接口直接輸出數(shù)字光照值單位是勒克斯lux精度更高也省去了ADC校準(zhǔn)的麻煩。但相應(yīng)地I2C調(diào)試和驅(qū)動(dòng)代碼會(huì)比讀一個(gè)ADC值復(fù)雜一些。如果你的題目要求里明確提到要顯示具體光照度數(shù)值建議優(yōu)先考慮這個(gè)方案。第三種是“ESP32/ESP8266直驅(qū) 云平臺(tái)”。省掉STM32直接用ESP32的ADC采集光照、用PWM驅(qū)動(dòng)LEDWiFi也內(nèi)建了一套芯片搞定所有事情。優(yōu)點(diǎn)是成本最低、開發(fā)最快缺點(diǎn)是整個(gè)系統(tǒng)的“嵌入式含量”變低了在畢業(yè)設(shè)計(jì)答辯時(shí)容易被質(zhì)疑技術(shù)深度不夠。三種方案沒有絕對(duì)的好壞關(guān)鍵看你手上有什么器件、題目要求什么深度。如果已經(jīng)買了這塊板子那塊板子就按手頭的資源來定。下面全部內(nèi)容默認(rèn)按照“STM32F103C8T6 光敏電阻 ESP8266 云平臺(tái)”的方案來展開。2. 硬件選型與電路設(shè)計(jì)要點(diǎn)2.1 主控最小系統(tǒng)與引腳規(guī)劃STM32F103C8T6這顆芯片現(xiàn)在已經(jīng)是國內(nèi)嵌入式圈子的“國民MCU”了價(jià)格便宜、資料海量、開發(fā)板遍地都是。我做這個(gè)項(xiàng)目時(shí)直接用手頭的核心板因?yàn)闆]有必要自己畫最小系統(tǒng)板核心板集成了晶振、復(fù)位電路、USB轉(zhuǎn)串口、LED指示燈拿過來就能用。在引腳規(guī)劃上建議把功能模塊分開布局避免相互干擾。我的分配方案是這樣的PB0-PB1光敏電阻分壓電路經(jīng)ADC1的通道8和通道9采樣。PB0做環(huán)境光采樣PB1留作備用通道可以接一個(gè)手動(dòng)電位器模擬“手動(dòng)設(shè)定亮度”的場(chǎng)景。PA8TIM1的CH1輸出PWM用于驅(qū)動(dòng)LED。用高級(jí)定時(shí)器TIM1是因?yàn)樗腜WM分辨率和穩(wěn)定性都比較好實(shí)測(cè)在1kHz的頻率下調(diào)光無閃爍。PA9-PA10USART1接ESP8266模塊PA9為TX、PA10為RX。串口波特率在調(diào)試期用115200穩(wěn)定運(yùn)行后也可以降到9600以減少干擾。PA0-PA3接3個(gè)獨(dú)立按鍵分別實(shí)現(xiàn)手動(dòng)開關(guān)、亮度加、亮度減。上拉輸入模式利用GPIO的片上上拉電阻省掉外部上拉。PB12-PB15預(yù)留的一組SPI/I2C引腳如果后續(xù)要把光敏電阻換成BH1750數(shù)字傳感器可以直接掛在這組引腳上。電源方面核心板通常自帶3.3V穩(wěn)壓芯片輸出電流大概在300mA級(jí)別。STM32本身功耗不大但ESP8266在WiFi發(fā)射瞬間電流可以達(dá)到200-300mA如果直接從核心板的3.3V引腳取電容易造成電壓跌落導(dǎo)致重啟。我當(dāng)時(shí)實(shí)測(cè)了好幾次都是這個(gè)原因后來改成獨(dú)立供電才徹底解決。這部分我在“常見問題”里會(huì)專門說。2.2 光照檢測(cè)光敏電阻還是數(shù)字光感這個(gè)選擇直接決定你的數(shù)據(jù)質(zhì)量。我默認(rèn)方案用的是光敏電阻也就是光敏電阻與固定電阻串聯(lián)分壓中間節(jié)點(diǎn)接到STM32的ADC引腳。電路連接其實(shí)很簡(jiǎn)單。光敏電阻一端接3.3V另一端與一個(gè)10kΩ電阻串聯(lián)到GND兩個(gè)電阻連接點(diǎn)引出到ADC引腳。光照越強(qiáng)光敏電阻阻值越低ADC采到的電壓就越低所以ADC數(shù)值與光照強(qiáng)度是反比關(guān)系。這里有一個(gè)很多新手會(huì)忽略的細(xì)節(jié)光敏電阻的阻值范圍非常大暗態(tài)下可能到1MΩ以上強(qiáng)光下可能只有幾百歐姆如果用10kΩ固定電阻去分壓在暗態(tài)環(huán)境下輸出電壓變化非常平緩分辨率很差。比較合理的做法是先測(cè)一下你手頭光敏電阻在“暗”和“亮”兩種場(chǎng)景下的實(shí)際阻值然后選擇中間阻值附近的固定電阻。比如測(cè)到暗態(tài)200kΩ、亮態(tài)2kΩ那么固定電阻選10kΩ到20kΩ之間的值會(huì)比較合適。當(dāng)然因?yàn)楣饷綦娮璞旧硪恢滦圆?、響?yīng)曲線非線性它只適合做“相對(duì)光照強(qiáng)度”檢測(cè)不適合直接換算成勒克斯單位的絕對(duì)照度。如果你要精確的照度數(shù)值建議直接用BH1750模塊。這顆傳感器是I2C接口測(cè)量范圍1-65535 lux分辨率最高能到1 lux直接讀出數(shù)值不用校準(zhǔn)不需要換算價(jià)格也就幾塊錢。我在后面的代碼部分會(huì)給一套適用于BH1750的驅(qū)動(dòng)思路你把I2C讀寫函數(shù)配好就能用。2.3 LED驅(qū)動(dòng)與PWM調(diào)光方式LED驅(qū)動(dòng)我見過最省事的接法是把LED和限流電阻直接串在GPIO上但這樣有兩個(gè)問題一是GPIO驅(qū)動(dòng)能力有限帶不動(dòng)大功率LED二是無法做PWM調(diào)光只能開關(guān)。所以推薦用三極管或者M(jìn)OS管驅(qū)動(dòng)。我用的是一顆S8050三極管做低端驅(qū)動(dòng)。具體接法是LED正極接5VLED負(fù)極串一個(gè)限流電阻然后接到三極管的集電極三極管發(fā)射極接GND基極通過1kΩ電阻接STM32的PA8引腳。這樣STM32輸出PWM波控制三極管的導(dǎo)通程度從而控制LED的平均電流實(shí)現(xiàn)亮度調(diào)節(jié)。限流電阻的選擇要根據(jù)LED的額定電流來算。比如LED最大額定電流是20mA5V供電減去LED壓降約3V再減去三極管飽和壓降約0.2V那么限流電阻就是(5-3-0.2)/0.02 90Ω取標(biāo)準(zhǔn)值100Ω。如果LED比較亮刺眼實(shí)際PWM占空比上限也不要給到100%80%左右足夠還留了余量。我實(shí)際用的時(shí)候發(fā)現(xiàn)PWM頻率低于1kHz時(shí)LED在低亮度檔位能明顯感覺到頻閃尤其是在手機(jī)攝像頭下看更明顯。所以我默認(rèn)把PWM頻率設(shè)在1kHz以上。系統(tǒng)里做了10級(jí)亮度調(diào)節(jié)每一級(jí)對(duì)應(yīng)10%的占空比步進(jìn)夠用且體感平滑。2.4 WiFi模塊選型與供電注意事項(xiàng)WiFi模塊的選擇我建議直接用ESP8266系列的ESP-01S或者ESP-12F。ESP-01S便宜、體積小、引腳少適合做AT指令控制ESP-12F引腳更多如果以后想刷NodeMCU固件或者直接寫MicroPython擴(kuò)展性更強(qiáng)。兩個(gè)模塊的AT指令集基本通用代碼不用大改。這里鄭重提醒一個(gè)電源問題ESP8266的瞬態(tài)功耗非常大。你可以拿示波器測(cè)一下它啟動(dòng)瞬間的電流波形峰值到300mA很正常。USB轉(zhuǎn)串口的3.3V輸出通常撐不住所以最穩(wěn)妥的做法是用AMS1117-3.3從5V降壓給ESP8266單獨(dú)供電。要注意的是AMS1117的輸入輸出壓差必須大于1V5V輸入完全沒問題但3.3V輸入再降3.3V就廢了。在ESP8266的VCC和GND之間加一個(gè)470μF的電解電容和0.1μF的陶瓷電容并聯(lián)用于緩解瞬態(tài)電流沖擊。STM32核心板與ESP8266模塊之間的串口要共地不然信號(hào)電平參考點(diǎn)不一致通信必然亂碼。另外需要留意電平匹配問題。STM32F103的IO口是5V容忍的但作為輸出時(shí)高電平是3.3VESP8266的UART RX引腳也是3.3V邏輯所以兩者之間不需要額外的電平轉(zhuǎn)換電路。不過反過來如果ESP8266的TX輸出高電平也是3.3V直接進(jìn)STM32的RX沒有問題。好在這兩個(gè)芯片在電平上天然兼容省了轉(zhuǎn)接板。3. 云平臺(tái)接入與通信協(xié)議設(shè)計(jì)3.1 平臺(tái)選型OneNET / 巴法云 / 阿里云IoT云平臺(tái)是這個(gè)項(xiàng)目的“第三只眼”也是讓評(píng)分老師眼前一亮的部分。市面上可選的平臺(tái)很多我在不同項(xiàng)目里用過OneNET、巴法云、阿里云IoT和騰訊云IoT這里說說選型心得。如果你的目的是快速跑通整個(gè)鏈路優(yōu)先考慮巴法云。它的優(yōu)點(diǎn)是接入極其簡(jiǎn)單不需要復(fù)雜的設(shè)備模型定義MQTT連接只需要服務(wù)器地址、端口、topic和設(shè)備ID就能通信。APP端可以用微信小程序快速搭一個(gè)控制界面整個(gè)聯(lián)調(diào)過程基本不需要看長篇文檔社區(qū)資料也很多。如果你想做得更規(guī)范、有數(shù)據(jù)可視化和歷史曲線功能OneNET是比較好的選擇。OneNET的多協(xié)議接入文檔很詳細(xì)有完整的產(chǎn)品、設(shè)備、數(shù)據(jù)流、觸發(fā)器體系。它的數(shù)據(jù)流可以自動(dòng)保存最近一定量的歷史點(diǎn)配合平臺(tái)的圖表組件可以展示光照趨勢(shì)曲線。我記得有些省份的畢業(yè)設(shè)計(jì)題目就要求“基于OneNET平臺(tái)”說明它已經(jīng)被廣泛認(rèn)可。阿里云IoT平臺(tái)在設(shè)備管理、權(quán)限控制、規(guī)則引擎方面做得最成熟但配置流程也最繁瑣要?jiǎng)?chuàng)建產(chǎn)品、定義物模型、生成設(shè)備證書、配置規(guī)則引擎寫設(shè)備端代碼時(shí)還要按照Alink JSON格式封裝報(bào)文。如果項(xiàng)目周期緊不建議第一次做就選阿里云容易在配置上花掉大量時(shí)間。我現(xiàn)在之所以平時(shí)喜歡用OneNET就是因?yàn)樗凇耙?guī)范”和“效率”之間取得了平衡夠用又不復(fù)雜。3.2 MQTT協(xié)議為什么物聯(lián)網(wǎng)設(shè)備幾乎都在用它這個(gè)項(xiàng)目里STM32與云平臺(tái)之間走的是MQTT協(xié)議。MQTT是一種輕量級(jí)發(fā)布/訂閱消息傳輸協(xié)議專為低帶寬、高延遲、網(wǎng)絡(luò)不穩(wěn)定的物聯(lián)網(wǎng)環(huán)境設(shè)計(jì)。理解MQTT只需要抓住三個(gè)關(guān)鍵詞broker、topic、payload。broker就是消息服務(wù)器它負(fù)責(zé)接收所有客戶端發(fā)來的消息并轉(zhuǎn)發(fā)給訂閱者。在OneNET平臺(tái)里broker地址是183.230.40.39端口1883。STM32通過ESP8266建立TCP連接后就可以在這個(gè)broker上進(jìn)行發(fā)布和訂閱操作。topic是消息的主題可以理解為一個(gè)“頻道”。設(shè)備發(fā)布消息到某個(gè)topic所有訂閱了這個(gè)topic的設(shè)備或應(yīng)用都能收到消息。在OneNET的MQTT接入中topic格式一般是類似這樣$dp用于上傳數(shù)據(jù)點(diǎn)下行指令則走$sys/{pid}/{device-name}/dp/post/json這類系統(tǒng)主題。為了讓代碼可讀性更強(qiáng)我通常自己再定義兩個(gè)業(yè)務(wù)主題/device/status用于上報(bào)狀態(tài)/device/command用于接收云端指令。payload就是消息內(nèi)容本身。我統(tǒng)一用JSON格式封裝因?yàn)樵谠破脚_(tái)上處理與轉(zhuǎn)發(fā)JSON最方便APP端解析也不費(fèi)力。比如上報(bào)一個(gè)數(shù)據(jù)點(diǎn)的payload長這樣{datastreams:[{id:light,datapoints:[{value:325}]}]}這個(gè)格式是OneNET數(shù)據(jù)流的標(biāo)準(zhǔn)寫法APP端拿到之后按固定字段解析即可。3.3 一鍵配網(wǎng)SmartConfig還是手工輸入WiFi信息對(duì)于這種單設(shè)備項(xiàng)目最省事的聯(lián)網(wǎng)方式是在STM32的代碼里寫死WiFi的SSID和密碼然后ESP8266上電自動(dòng)連接。缺點(diǎn)很明顯換一個(gè)WiFi環(huán)境就要重新燒錄固件極其麻煩。稍微高級(jí)一點(diǎn)的做法是用ESP8266的SmartConfig功能也叫做一鍵配網(wǎng)。手機(jī)APP把WiFi的SSID和密碼通過UDP廣播發(fā)送出去ESP8266在混雜模式下監(jiān)聽并解析出這些信息然后自動(dòng)連接到路由器。這個(gè)功能在ESP8266的官方AT指令里有現(xiàn)成支持指令是ATCWSTARTSMART。我在實(shí)際項(xiàng)目里最終用了“Airkiss”方式也就是OneNET平臺(tái)配套的配網(wǎng)方案。整體流程是ESP8266進(jìn)入配網(wǎng)模式后用手機(jī)上的OneNET APP發(fā)送WiFi賬號(hào)密碼模塊自動(dòng)解析并連接路由器然后主動(dòng)上報(bào)自己的設(shè)備ID到平臺(tái)。這樣整個(gè)系統(tǒng)就實(shí)現(xiàn)了“去串口化”任何環(huán)境下都能獨(dú)立部署演示場(chǎng)景下尤其加分。我不建議在這個(gè)環(huán)節(jié)做得太復(fù)雜比如用按鍵組合進(jìn)入配網(wǎng)模式再配合狀態(tài)指示燈提示。這些功能是產(chǎn)品化的方向但對(duì)畢設(shè)來說不是必須項(xiàng)。有一鍵配網(wǎng)能演示就足夠了把時(shí)間留給更核心的調(diào)光邏輯和云平臺(tái)功能。3.4 云平臺(tái)設(shè)備注冊(cè)與數(shù)據(jù)流設(shè)計(jì)以O(shè)neNET為例創(chuàng)建一個(gè)接入MQTT協(xié)議的設(shè)備需要幾個(gè)步驟。第一步注冊(cè)賬號(hào)并登錄開發(fā)者中心創(chuàng)建一個(gè)產(chǎn)品。產(chǎn)品類型選“智能家居”聯(lián)網(wǎng)方式選“移動(dòng)網(wǎng)絡(luò)”或“WiFi”這里技術(shù)參數(shù)隨便選都行影響不大。關(guān)鍵是記下產(chǎn)品ID。第二步在產(chǎn)品下添加設(shè)備填寫設(shè)備名稱和設(shè)備編號(hào)。設(shè)備編號(hào)通常是自定義字符串比如“smart_lamp_01”。創(chuàng)建后平臺(tái)會(huì)生成APIKey和設(shè)備IDAPIKey是后續(xù)APP端或腳本調(diào)用HTTP接口時(shí)用的鑒權(quán)憑證設(shè)備ID是MQTT連接時(shí)的用戶名。MQTT連接時(shí)密碼通常填A(yù)PIKey。第三步定義數(shù)據(jù)流。在設(shè)備詳情頁可以添加數(shù)據(jù)流模板我這里定義了三個(gè)數(shù)據(jù)流light光照強(qiáng)度原始ADC值范圍0-4095dim當(dāng)前PWM占空比百分比范圍0-100switch燈開關(guān)狀態(tài)0或1這三個(gè)數(shù)據(jù)流基本覆蓋了系統(tǒng)的所有狀態(tài)。云端和APP端展示數(shù)據(jù)都從這三個(gè)流里取不需要額外設(shè)計(jì)復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。MQTT連接參數(shù)的格式是固定的注意這里的password有時(shí)不是APIKey本身而是APIKey的完整形式。建議先去平臺(tái)控制臺(tái)找一個(gè)能跑通的示例或者直接用MQTT客戶端軟件測(cè)試一下能否連接成功再回來調(diào)STM32側(cè)代碼。我在做這個(gè)項(xiàng)目時(shí)很多通信問題都是先用PC端的MQTT客戶端調(diào)試排除了平臺(tái)問題后才回來查設(shè)備端這樣能省很多時(shí)間。4. 核心代碼實(shí)現(xiàn)剖析4.1 光照采集與滑動(dòng)平均濾波光敏電阻采樣看起來簡(jiǎn)單就是ADC讀一個(gè)值但裸讀出來的數(shù)據(jù)在真實(shí)環(huán)境里跳動(dòng)非常大。因?yàn)槭覂?nèi)燈光大多使用50Hz交流供電燈具亮度本身就有100Hz的脈動(dòng)光敏電阻對(duì)這種脈動(dòng)很敏感ADC采樣值直接讀出來是在一個(gè)范圍內(nèi)來回跳的。我采用的方案是“定時(shí)采樣滑動(dòng)平均濾波”。起一個(gè)1ms的定時(shí)器中斷每中斷一次就觸發(fā)一次ADC采樣實(shí)際上可以放寬到每10ms采一次然后把最近10次采樣值存入環(huán)形緩沖區(qū)每次計(jì)算平均后作為當(dāng)前光照值。這樣既能濾掉100Hz的脈動(dòng)噪聲又不會(huì)因?yàn)槠骄翱谶^大而讓系統(tǒng)的響應(yīng)變遲鈍。核心代碼結(jié)構(gòu)大概是這樣#define FILTER_SIZE 10 uint16_t adc_buf[FILTER_SIZE]; uint8_t adc_index 0; uint32_t adc_sum 0; void ADC_Sample_Handler(void) { // 減去將要覆蓋的舊值 adc_sum - adc_buf[adc_index]; // 采樣新值 adc_buf[adc_index] ADC_GetValue(); // 加上新值 adc_sum adc_buf[adc_index]; // 更新環(huán)形索引 adc_index (adc_index 1) % FILTER_SIZE; } uint16_t ADC_GetAverage(void) { return (uint16_t)(adc_sum / FILTER_SIZE); }這段代碼的關(guān)鍵在于“加減法維護(hù)總和”而不是每次重新遍歷累加。省掉了大量for循環(huán)在低主頻MCU上也能跑得很輕。4.2 自動(dòng)調(diào)光控制邏輯從閾值比較到遲滯比較硬件層采集上來了光照數(shù)據(jù)接下來要解決“怎么根據(jù)光照值決定燈的亮度”這個(gè)核心算法問題。最簡(jiǎn)單的是閾值比較光照值低于某個(gè)閾值就開燈高于某個(gè)閾值就關(guān)燈。但這種寫法有一個(gè)致命問題——在閾值附近光照稍微波動(dòng)燈就會(huì)在亮滅之間反復(fù)切換體驗(yàn)非常差。就像家用空調(diào)溫度設(shè)在26度室溫在26度附近波動(dòng)壓縮機(jī)就會(huì)頻繁啟停既費(fèi)電又傷機(jī)器。解決辦法是加入“遲滯比較”或者說“滯回比較”的思想。設(shè)置兩個(gè)閾值一個(gè)開燈閾值和一個(gè)關(guān)燈閾值開燈閾值低于關(guān)燈閾值。舉個(gè)例子環(huán)境光照ADC值在0最暗到4095最亮之間我設(shè)LIGHT_ON_THRESHOLD 800LIGHT_OFF_THRESHOLD 1500。當(dāng)光照值從暗變亮、超過1500時(shí)才關(guān)燈當(dāng)光照值從亮變暗、低于800時(shí)才開燈。因?yàn)橹虚g有700的差值緩沖光照值在邊界附近小范圍波動(dòng)時(shí)燈的狀態(tài)不會(huì)抖動(dòng)了。如果需要自動(dòng)連續(xù)調(diào)光可以用線性映射。把環(huán)境光照映射到目標(biāo)PWM占空比大概思路是// 環(huán)境越暗target_pwm越高 if (avg_light 800) target_pwm 100; else if (avg_light 2000) target_pwm 0; else target_pwm (uint8_t)((2000 - avg_light) * 100 / 1200);但這里有個(gè)陷阱直接讓實(shí)際PWM瞬間跳到目標(biāo)值燈光的突變會(huì)讓人感覺很突兀尤其是環(huán)境光緩慢變化時(shí)燈會(huì)“一格一格地跳”。所以我在目標(biāo)PWM和實(shí)際PWM之間加了一個(gè)簡(jiǎn)單的一階慣性環(huán)節(jié)也就是每次控制周期只向目標(biāo)值逼近一小步類似于軟件上的“軟啟動(dòng)”。// 每100ms執(zhí)行一次 if (current_pwm target_pwm) current_pwm 2; else if (current_pwm target_pwm) current_pwm - 2;這樣亮度變化就是平滑漸變的觀感好了很多。這里的步進(jìn)值2和周期100ms可以根據(jù)實(shí)際效果調(diào)整。系統(tǒng)默認(rèn)有10級(jí)亮度每一級(jí)對(duì)應(yīng)10%的PWM一個(gè)漸變過程大概500ms左右完成不會(huì)太慢也不會(huì)跳變。4.3 ESP8266串口處理與AT指令狀態(tài)機(jī)ESP8266的AT指令處理是整個(gè)項(xiàng)目里最容易寫爛的部分。很多人直接在主循環(huán)里阻塞等待串口返回一旦數(shù)據(jù)延遲或者返回格式變化整個(gè)系統(tǒng)就卡死了。正確做法是搭一個(gè)狀態(tài)機(jī)把“發(fā)送指令—等待應(yīng)答—超時(shí)重試—進(jìn)入下一步”這個(gè)流程管理起來。先初始化串口接收用中斷方式把ESP8266返回的數(shù)據(jù)逐字節(jié)存入接收緩沖區(qū)。然后在主循環(huán)里輪詢緩沖區(qū)根據(jù)當(dāng)前狀態(tài)判斷是否收到期待的應(yīng)答。比如連接WiFi的AT指令流程typedef enum { WIFI_STATE_RESET, WIFI_STATE_SET_MODE, WIFI_STATE_JOIN_AP, WIFI_STATE_CONNECT_MQTT, WIFI_STATE_ONLINE } wifi_state_t; wifi_state_t wifi_state WIFI_STATE_RESET; void WiFi_Task(void) { static uint32_t last_cmd_time 0; static uint32_t timeout_cnt 0; switch (wifi_state) { case WIFI_STATE_RESET: ESP8266_SendCmd(ATRST\r\n); wifi_state WIFI_STATE_SET_MODE; last_cmd_time HAL_GetTick(); break; case WIFI_STATE_SET_MODE: if (ESP8266_CheckResponse(ready)) { // 等復(fù)位完成后設(shè)置Station模式 ESP8266_SendCmd(ATCWMODE1\r\n); wifi_state WIFI_STATE_JOIN_AP; last_cmd_time HAL_GetTick(); } break; case WIFI_STATE_JOIN_AP: if (ESP8266_CheckResponse(WIFI CONNECTED)) { ESP8266_SendCmd(ATCIPSTART\TCP\,\183.230.40.39\,1883\r\n); wifi_state WIFI_STATE_CONNECT_MQTT; } break; default: break; } // 超時(shí)判斷 if (HAL_GetTick() - last_cmd_time 5000) { // 超時(shí)未收到預(yù)期應(yīng)答重發(fā)當(dāng)前指令 wifi_state WIFI_STATE_RESET; } }這個(gè)狀態(tài)機(jī)的精髓是一個(gè)全局“超時(shí)重置”機(jī)制只要5秒沒有等到期望的應(yīng)答就把WiFi模塊復(fù)位重來。這在調(diào)試和演示場(chǎng)景下非常有用因?yàn)閃iFi模塊偶爾抽風(fēng)是很正常的事有這套機(jī)制設(shè)備就能自恢復(fù)不用反復(fù)斷電重啟。判斷應(yīng)答的函數(shù)ESP8266_CheckResponse做的事情也不復(fù)雜在接收緩沖區(qū)里用字符串查找函數(shù)匹配關(guān)鍵詞比如“OK”“WIFI CONNECTED”“MQTTCONNECTED”等匹配成功就返回1并清空緩沖區(qū)。這樣做比grep整行文本要穩(wěn)因?yàn)锳T固件版本不同返回格式也會(huì)有差異匹配關(guān)鍵詞更通用。4.4 數(shù)據(jù)上報(bào)與指令下發(fā)雙向通信的代碼結(jié)構(gòu)設(shè)備與云平臺(tái)的雙向通信是MQTT最大的價(jià)值。STM32側(cè)要做兩件事定時(shí)上報(bào)狀態(tài)實(shí)時(shí)處理云端指令。上報(bào)邏輯放在主循環(huán)里用一個(gè)計(jì)時(shí)器控制周期。我設(shè)置的是每5秒上報(bào)一次。如果云平臺(tái)只是用于展示5秒足夠了頻率太高浪費(fèi)流量也沒有意義。void MQTT_Report_Status(void) { static uint32_t last_report_time 0; char buf[128]; uint16_t light_value ADC_GetAverage(); if (HAL_GetTick() - last_report_time 5000) { sprintf(buf, ATMQTTPUB0,\$dp\,1,0,\{\\\datastreams\\\:[{\\\id\\\:\\\light\\\,\\\datapoints\\\:[{\\\value\\\:%d}]}]}\\r\n, light_value); ESP8266_SendCmd(buf); last_report_time HAL_GetTick(); } }ESP8266的MQTT AT指令中ATMQTTPUB后面的參數(shù)依次是連接ID、主題名、QoS、retain標(biāo)志、消息長度和消息內(nèi)容。轉(zhuǎn)義引號(hào)很容易寫錯(cuò)我建議先在串口助手里面把要發(fā)送的完整指令測(cè)一遍確認(rèn)返回OK之后再寫進(jìn)代碼里。下行指令的處理稍微復(fù)雜一點(diǎn)。當(dāng)APP端下發(fā)指令時(shí)ESP8266會(huì)先收到MQTTSUBRECV: 連接ID, 主題名, 消息長度\r\n緊接著下一行才是具體的消息內(nèi)容。所以代碼里的處理要分兩步先識(shí)別MQTTSUBRECV前綴提取消息長度然后等后續(xù)數(shù)據(jù)進(jìn)入緩沖區(qū)。void MQTT_Parse_Command(void) { char *p ESP8266_GetBuffer(); if (p NULL) return; if (strstr(p, MQTTSUBRECV) ! NULL) { // 提取消息正文通常緊跟兩行后出現(xiàn) char *body strstr(p, {); if (body ! NULL) { if (strstr(body, \dim\:80)) { current_pwm 80; } else if (strstr(body, \switch\:1)) { lamp_on 1; } else if (strstr(body, \switch\:0)) { lamp_on 0; } } ESP8266_ClearBuffer(); } }4.5 按鍵與手動(dòng)模式的狀態(tài)管理云平臺(tái)是方便但實(shí)體按鍵不能砍。我在系統(tǒng)里加入了一個(gè)“自動(dòng)/手動(dòng)模式”的切換邏輯。默認(rèn)上電是自動(dòng)模式臺(tái)燈根據(jù)光照自己決定亮度。此時(shí)按一下手動(dòng)按鍵就切換到手動(dòng)模式之后亮度檔位完全由按鍵控制。此時(shí)如果APP下發(fā)指令也按手動(dòng)指令處理。再按一次模式鍵回到自動(dòng)模式。這個(gè)邏輯聽起來簡(jiǎn)單但狀態(tài)管理上有個(gè)細(xì)節(jié)值得注意。由于需要同時(shí)處理本地按鍵、云端指令、自動(dòng)調(diào)光三種“亮度來源”我在代碼里定義了一個(gè)變量mode值為MODE_AUTO或MODE_MANUAL所有亮度變更邏輯都在統(tǒng)一的入口函數(shù)里先檢查模式再?zèng)Q定是否執(zhí)行。凡是寫入PWM寄存器的代碼都必須經(jīng)過這個(gè)入口避免出現(xiàn)“自動(dòng)模式剛把PWM調(diào)到100手動(dòng)模式的指令又來改PWM”這類互相打架的問題。void Lamp_SetPWM(uint8_t duty, uint8_t source) { if (source SOURCE_AUTO mode MODE_MANUAL) return; // 手動(dòng)模式下忽略自動(dòng)調(diào)光 if (source SOURCE_CMD mode MODE_AUTO) { // 云端指令在自動(dòng)模式下是否生效這里看產(chǎn)品需求 // 我的做法是云端指令優(yōu)先并切換到手動(dòng)模式 } TIM1-CCR1 duty; }在這個(gè)項(xiàng)目里我采取的策略是云端遠(yuǎn)程指令具有最高優(yōu)先級(jí)一旦收到云端控制指令就自動(dòng)切入“手動(dòng)模式”直到用戶在本地按模式鍵切回“自動(dòng)模式”。這種設(shè)計(jì)更貼合真實(shí)用戶的使用習(xí)慣——我在手機(jī)上都點(diǎn)了一鍵開燈了你臺(tái)燈還在那邊自動(dòng)判斷說“環(huán)境光夠亮不開燈”那不太符合直覺。5. 常見問題排查與避坑實(shí)錄5.1 經(jīng)典故障現(xiàn)象速查表這部分是干貨中的干貨。我結(jié)合自己和身邊人做類似項(xiàng)目時(shí)踩過的坑整理成了一個(gè)診斷表。現(xiàn)象可能原因排查與解決ESP8266不響應(yīng)AT指令供電不足或串口接線錯(cuò)誤先檢查VCC和GND電壓必須在3.0-3.6V之間再確認(rèn)TXRX交叉連接最后用USB轉(zhuǎn)串口單獨(dú)測(cè)試模塊串口輸出亂碼波特率不匹配或共地失敗確認(rèn)ESP8266與STM32波特率一致檢查兩地是否可靠連接ADC采集值一直為4095引腳浮空未接好用萬用表量引腳電壓確認(rèn)分壓電路連接正確PWM輸出為0但LED常亮三極管驅(qū)動(dòng)方式接錯(cuò)檢查LED是否接在集電極而非發(fā)射極確認(rèn)GPIO模式為推挽輸出云平臺(tái)收不到數(shù)據(jù)設(shè)備ID或APIKey錯(cuò)誤在PC上用MQTT客戶端測(cè)試連接確認(rèn)主題名與數(shù)據(jù)流定義一致設(shè)備連上WiFi但MQTT連不上服務(wù)器端口或設(shè)備鑒權(quán)有問題確認(rèn)TCP連接地址和端口正確OneNET用1883檢查MQTT用戶名密碼與產(chǎn)品設(shè)備對(duì)應(yīng)掉線后無法自動(dòng)重連狀態(tài)機(jī)缺少超時(shí)重置機(jī)制加入5秒超時(shí)重置邏輯如上文所述5.2 燒錄和調(diào)試時(shí)的第二個(gè)常見問題ADC參考電壓噪聲這個(gè)坑非常隱蔽當(dāng)時(shí)讓我排查了很久?,F(xiàn)象是這樣的光感數(shù)據(jù)在屏幕上像心電圖一樣跳動(dòng)濾波算法加了好幾層都?jí)翰蛔?。后來用萬用表量STM32的3.3V供電發(fā)現(xiàn)紋波達(dá)到了200mV以上。因?yàn)镋SP8266的瞬態(tài)電流導(dǎo)致供電電壓波動(dòng)而STM32內(nèi)部ADC的參考電壓VREF在F103芯片上是直接接在VDDA上的供電電壓一跳ADC采集值自然跟著跳。解決方案有兩個(gè)。硬件上在STM32核心板的3.3V和GND之間加一個(gè)100μF的電解電容和0.1μF的陶瓷電容穩(wěn)住電源紋波軟件上用內(nèi)部參考電壓通道做校準(zhǔn)。如果項(xiàng)目對(duì)測(cè)量精度有更高要求建議外部單獨(dú)用一顆高精度基準(zhǔn)源比如TL431給VDDA供電或者選用帶獨(dú)立VREF引腳的STM32型號(hào)。就本項(xiàng)目的精度需求來說把電源穩(wěn)住就夠用了。5.3 WiFi模塊坑192.168.x.x連不上云平臺(tái)這個(gè)情況很多人剛做的時(shí)候都會(huì)遇到。ESP8266連接路由器成功了但TCP連接云平臺(tái)服務(wù)器一直超時(shí)。這個(gè)時(shí)候要先排查是不是路由器開了“AP隔離”功能。很多公共場(chǎng)所或者部分家用路由器默認(rèn)會(huì)開啟AP隔離使得同一WiFi下的設(shè)備之間無法互通。具體表現(xiàn)就是手機(jī)能上網(wǎng)但手機(jī)連不上局域網(wǎng)里的ESP8266或者ESP8266連不上外網(wǎng)服務(wù)器。排查方法很簡(jiǎn)單用電腦連同一個(gè)WiFi命令行ping一下云平臺(tái)的服務(wù)器IP能通再查TCP層。還有一種情況是路由器啟用了“僅允許已綁定設(shè)備上網(wǎng)”的白名單功能新設(shè)備的MAC地址不在白名單里就算拿到了IP也上不了外網(wǎng)。這時(shí)候去路由器管理頁面把ESP8266的MAC地址加進(jìn)去就好了。還有一個(gè)小細(xì)節(jié)值得提一下如果你的云平臺(tái)服務(wù)器用的不是默認(rèn)端口1883需要在路由器上確認(rèn)一下是否放行了該端口。個(gè)別校園網(wǎng)或者公司網(wǎng)會(huì)封鎖非常用端口導(dǎo)致本地調(diào)試一切正常一上現(xiàn)場(chǎng)網(wǎng)絡(luò)就失敗。所以做演示之前最好先確認(rèn)現(xiàn)場(chǎng)網(wǎng)絡(luò)的策略。5.4 實(shí)測(cè)數(shù)據(jù)與波形調(diào)優(yōu)記錄在項(xiàng)目收尾階段我用邏輯分析儀抓了一組PWM波形來做調(diào)優(yōu)。分別記錄占空比10%、50%、90%三組觀察三極管驅(qū)動(dòng)LED的波形上升沿和下降沿。實(shí)測(cè)在10%占空比時(shí)LED亮度已經(jīng)能夠明顯感知到但用手機(jī)攝像頭看仍然有輕微頻閃50%時(shí)波形光滑占空比誤差在1%以內(nèi)90%時(shí)三極管有輕微發(fā)熱但溫度穩(wěn)定在45度左右。這個(gè)結(jié)果說明1kHz的PWM頻率配S8050三極管完全夠用。我還測(cè)過光敏電阻在不同環(huán)境下的ADC讀數(shù)。室內(nèi)日光燈下約1500-2000室外陰天約2800-3200用手完全遮住約50-200。這些數(shù)據(jù)對(duì)后續(xù)設(shè)定閾值很有參考價(jià)值。不同批次的光敏電阻參數(shù)差異挺大的所以每個(gè)人的閾值都需要根據(jù)自己實(shí)測(cè)數(shù)據(jù)重新標(biāo)定不要直接照抄別人的參數(shù)。寫在最后的一點(diǎn)心得整套系統(tǒng)做下來最大的體會(huì)是這個(gè)項(xiàng)目真正的難點(diǎn)不在STM32本身也不在ESP8266怎么用AT指令而在于把“采集—控制—聯(lián)網(wǎng)—上云—應(yīng)用端展示”這整條鏈路串起來之后任何一個(gè)環(huán)節(jié)的故障都可能讓系統(tǒng)表現(xiàn)得很“玄學(xué)”。沒有示波器就看PWM波形沒有邏輯分析儀就看串口日志一步步縮小排查范圍比一次性把全部代碼寫完更重要。另外分享一個(gè)小技巧云平臺(tái)的“設(shè)備影子”功能非常值得用。OneNET和阿里云都有類似機(jī)制可以在設(shè)備離線時(shí)緩存云端下發(fā)的指令等設(shè)備上線后自動(dòng)同步。如果項(xiàng)目有時(shí)間余量建議在APP端和云平臺(tái)規(guī)則引擎上稍微折騰一下做個(gè)定時(shí)開關(guān)燈功能答辯演示效果會(huì)比單純的點(diǎn)亮關(guān)燈好很多。做系統(tǒng)設(shè)計(jì)時(shí)留好擴(kuò)展位這個(gè)項(xiàng)目的上限其實(shí)比你想的要高。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
黄污污污污| 91中文精品日韩欧美在线| 国产久久一区二区三区野外在线| 久久精品国产亚洲av水密被窝| 老司机天天操| 久久久999网站| 中国91AV| 亚洲日韩精品在线播放| 好爽视频在线观看| 午夜福利免费精品视频| 免费9 1久久| 大JI巴好深好爽又大又粗视频| 黄色小视频日本txt| 久久亚码| 国产乱人伦AVA麻豆软件.| 人妻精品4K4K4K4K4| 屁股久久久久久| 97电影院超碰| 青草地一本线一区二区三区| 亚洲欧洲综合视频在线| 欧美一区二区三熟女剧情| 亚洲中文字幕精品一区| 日本淫色网| 精品久| 色狠狠色| 大香蕉99999| 青青草视频久久| 96精品久久| 天天欧美欧美亚洲网| www.男人的天堂| 蜜臀少妇一区二区| 亚洲欧洲成人在线电影| 久久久性爱视频| 亚洲激情在线观看一区| 污污污8888| 在线可观看的黄色网址| 激情小说图片亚洲首页| 高清肉丝中文无码| 国产女人91精品嗷嗷嗷嗷| 久9爱精品| 国产久久一区二区三区野外在线| 久久国产精品熟女人妻| 色婷视频| 欧美色老汉| 日韩av在线免费网站| 91久久婷婷| 国产精品国产拍高清AV| 欧美日韩婷婷中文| 97精品网站| 色色色日本| 人妻久久| 久久久久国产精品人妻aⅴ天堂| 日韩免费大片一级播放| 亚洲中文sv| 久久侵犯人妻爽爽爽| 国产精品日本无码A片| 麻豆 亚洲 97| 97超级久久强资源| 国产日韩欧美亚洲精品95| 丰满熟妇大乳做爰| 亚洲国产剧情少妇激情| 在线观看日韩av不卡| 欧美资源| 欧美亚洲清纯| 诱惑人妻欧美一区在线播放| www.久久久久| 人妻中文字幕精品无码| 清纯唯美亚洲综合| 99只有精品| 欧美.亚洲.另类.丝袜.制服.诱惑| 9国产超碰| 日韩不卡一二三四| 色婷婷成人综合| 人妻日日干| 中欧人妻丝袜中文字幕| 可乐操亚洲蜜911| 国产亚洲欧洲在线观看| 人妻AV 中文字幕的| 强奸乱伦Av网| 一区二区三区高清天码| 亚洲性爱乱操x| 91亚洲网站| 亚洲污污网站| 亚洲揄拍网| 福利风月五月天影院| 国产小u女在线观看| 人人操人人爽人人操人人| 妇女乱色二区| 男人的天堂久久狠| 欧洲精品一二三在线| 亚洲夜色在线| 欧美中文字幕男人天堂久久精品 | 五月天色图影视| 亚欧性爱无码| 乱伦av麻豆| 天天射日日干| 日天天九九天堂666| 嗯嗯啊啊的视频| 久久骚少妇| 视频在线观看一二三区| 久久久工口| 九九人人操| 青草青草久热| 国产精品久久久久久久毛片1| 亚洲巨爆乳一区二区三区四季网| 丝袜足交视频| 风韵犹存大大大大香蕉| 天美传媒精品一区二区| 在线免费观看日韩一区| 久久久久人妻二区精品叶可怜| 视频国产成人精品日本亚洲18| 日日躁夜夜躁狠狠躁超爽| 超碰在线在公开超碰在线在公开| 51一区二区三区| 快播久久人人aV| 另类老少妇| 欧洲站一级二级三级h| 中文字幕精品久久久久人妻红杏ⅰ| 综合激情97| 国产午夜福利视频在线| 久久久久久久久久久999| 成人综合网 欧美| 欧美AB在线观看| 欧美成不卡网| 校园春色宗合网| 色欧洲97| 精…码一二三区| 青青在线视频日韩欧美| 一区操逼| 丁香婷婷大香蕉| 成人自拍三级在线观看| 岛国黄| 五码视频在线观看| 中文精品一区二去| 欧美在线观看综合国产| 亚洲天堂一区二区久久| 日本123区操B视频| 美女刺激久久国产欧美| 老熟女91av| 久久一区,青青青青草视频在线播放| 91老司机在线视频免费观看| 天美精品一区二区三区四区在线观看| 91AV天堂| 亚州男人天堂| ..日韩av毛片精品久久久| 91处女在线观看| 精品人妻中文字幕高清| 黑人白女精品一区| 日本在线不卡v二区| 无码精品蜜桃一区二区三区ww| 成年人性爱日韩| 67194国产| 狠狠干综合| oumeizonghese,www| 日韩精品大香蕉伊人在线| 大香蕉在线SuP| 欧美人妻少妇| 久久精品国产亚洲AV无码做| 91国产精品在线看| 欧洲一区二区三区免费| 亚洲91综合| 外站AV在线| 天天操天天干一区二区| 99久久e免费热视| 国产毛片精品一区二区色欲黄A片| 日韩一999精品| 国产丰满熟夫69mpp| 夜夜免费视频| 无码人妻一区二区三区色欲aⅴ | 色爱天堂| 黄色网址在线免费观看| 亚洲熟女中文字幕在线| 97久久精品不卡| 96精品久久| 在线观看成人性爱免费小视频| 日本熟女中文| 日日黄色三级网站| 久久久久97| 黄色免费网页无码| 久久夜夜夜夜| 麻豆久久一区二区三区| 丁香六月婷婷综合| 青青草色插素人| 日韩欧视频| 久久国产热视频97电影| 日欧美色| 久久精品国产亚洲5555| 国产自偷自拍一区| 日韩综合97P| AAAA欧美日韩| 欧美日不卡| 国产精品乱码久久久、久久| 日本黄色精品专区网站| 成人丁香五月| 96精品久久久| 欧日a| 啊啊啊97视频| 亚州免费啪啪视频| 女人的天堂大香蕉网| 激情五月天中文字幕色| 发朗少妇买婬全视频中文| 五月天亚洲网| 婷婷亚洲五月***久久| 精品人妻一区二区免费蜜桃| 久久人妻| 澳门成人网站久国产日韩| 人妻熟女一区二区三区视频| 欧美第一页性| 久久AV无码AV| 综精品久久久aaaa| 97色97干| 欧美综合区| 岛国人妻少妇av在线观看| 超碰色图| 激情综合婷婷| 欧美极品少妇| 国产精品久久久久无码A√| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 欧美A√综合网| 理论久久婷婷网8| 高清无码在线播放网站| 久久久久一本一区二区青青蜜月| 乱码熟妇人妻久久久| 91精品网站| 成人精品在线| 成人天天爽| 欧美一级黄片视频在线| 一级黄色牲爱A级片| 中文字幕日韩精品一区二区三区| 国产精品嫩草影院免费| 偷拍亚洲视频一区二区三区四区| 久综合网| 97Ai亚洲| 天美传媒AV国产在线| 成人一道本免费视频| 久草综合视频| 国产一区二区三区影片| 13小男生GAY自慰脱裤子| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 熟妇熟女一区二三区| 国产高清自拍视频| 久久內射| 人人考人人摸人人干| 老熟乱一区二区三区四区| 激情综合五月天| 视频不卡中文字幕| 国产乱青青草久久| 九九综合色| 亚洲少妇在线观看| 啊啊啊好舒服好爽啊啊啊视频| 美国精品国产精品| 久久有码视频| 99爱久久视频频| 日韩人妻播放| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 欧美黄色大香蕉一区二区| 欧美色综合网| 青青草成人视频在线观看二区 | 黄页网站成人免费| 欧美一区二区日韩传媒搭讪精品| 久久精品亚洲成a人天堂| 亚洲精品欧洲色| 黄色二级片网站| 日本性爱网址| WWW操逼| 男人的天堂久久| 91欧美美女日韩国产婷婷| 日韩中文字幕视频在线观看| 国产精品久久久久久亚洲色欲| 新精精品久久精品| 欧美日综合| 精品亚洲国产成人精品| 青娱乐福利99| 91天天综合日韩欧美| 一区二区三区色综合| 天天色香欲综合网| 久久99综合| 国产曰批免费观看久久久| 日日超碰亚洲| 97国产精品一区| 韩国嫰模上门援交视频| 国产美女口爆吞精| 天综合网| 欧美另类色图片| 操逼操操操91| 黄页视频网站野外| 91久久精品中文字幕| 欧美色图片| 天天射天天色成人| 美女丝袜激情小说| 青青青草伊人精品| 91天天爱| 婷婷美人网| 人妻夜夜爽天天爽麻豆三区网站 | 中文字幕丰满人妻日本| 日本黄页视频在线观看| 人人操人人摸人| 97综合| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 香蕉免费一区二区三区不读| 国产又色又爽又舒服的三级视频| 国产美女口爆吞精视频| 国产自偷| 天天日天天屌天天操| 九色婷婷| 亚洲成人性| av天堂电影网| 久草电影网| 欧美激情内射| 肉丝中文无码高清| 久久精品中文| 97天天爽| 亚洲成人免费在线| 国产99久久99热这里只有精品15 | 青青草视频这里只有精品| 亚洲日韩国产欧美综合v| 亚洲aV无码成人在线观看| 日韩精品在线观看网站| 亚洲欧美国产其他二区| 亚洲五月婷| 免费一级毛片在线视频观看| 日韩人妻大香蕉| 久久国产99精品72福利 | 尤物视频视频官网| 另类TS人妖一区二区三区| 日韩性爱免费观看视频| 插穴性爱视频在线观看| 久久‘黄片视频| 国产亚洲99久久精品| 亚洲91极品| 亚洲毛片一级带毛片基地| 精品无码久久久久| 超碰97人人乐| 欧美亚洲特P| 在线亚洲欧美| 日韩欧美大片免费高清啪啪| 日韩AV无码中文一区二区| 操人无码| 亚洲AV高潮| 综合激情一一91| 果冻传媒A片麻豆熟妇人妻| 亚洲情欲| 999亚洲国产视频| 女人高潮大叫一级毛片| 九九英色视频| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 久久国产乱子伦精品免费女,网站| 欧美日韩中文视频播放| 日日摸夜夜夜夜爽| 超踫中文字幕| 天天插夜夜爽| 91观看 国产白丝| 国产 亚洲 一二三四| 国产色呦呦| 另类图片五月| 天操天操夜操夜月操月年年操操| 国产熟妇 码视频户外直播| 亚洲蜜乳av| 五月激情天| 日韩精品99久久久久久中文字幕| 久久久久久久少妇| 屌逼传媒| 国产精品久久久久久9999| 亚洲乱妇p22| 黑人操一区二区| 亚洲免费人妻在| 美女91在线观看| 亚洲少妇视频| 日韩去日本高清在| 欧美情色贴图| 超碰78| 国产又爽又黄| 性交一区二区在线播放| 女同女同恋久久级三级| 亚洲中文字幕av| 99热日| 国产在线视频午夜精华在| 亚欧无码在线| 1二区9| 久久久九九九| 9九九九九视频在线观看| 四虎在线观看网站| 伊人久久综合影院| 97色婷婷| 日韩欧美女求操每天更新| 可以在线观看AV的网站| 操死我了嗯嗯嗯| 亚洲精品一区二区日本| 裸体美女免费看网站青草| 久久久精品九| 中文字幕精品资源在线| 日韩欧美中文字| 99re国产精品视频| 97超碰亚洲| 中文乱码字字幕在线第5页| 婷婷五月激情综合| www.91视频网| 夜夜操狠狠操| 欧美日韩精品久久久久久久久东北老熟妇 | 亚洲色图加勒比| 久久久久亚洲| 久九干| 懂色av一区二区三区天美传媒| 在线日韩视频| 97免费视频在线| 色999五月色| 五月天日日操夜夜操| 在线中文字幕极品av| 日本999精品| 精品人妻一区二区视频| 久久精品国产精品| 色色婷婷丁香| 国产三级片在线观看| 欧美一级做a爰片免费视频| 98超碰欧美| 天天色播| 蜜臀久久99精品久久久久| 大香蕉伊人亚洲| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 国产精品极品美女视频| 婷婷15月天青娱乐| 无码人妻精品一区二区中文| 色婷婷aV一区二区三区麻豆综合| 日本媚薬中文字幕在线| 九九毛片这里只有精品| 激情综合网亚洲| 久久久久国产亚洲一区欧美色图日韩| 日韩无码一区二区三区| 精品免费1| 精品日韩中文在线| 亚洲精品乱码久久久久久蜜桃麻豆| 免费的黄片有限公司| 艾草av| 97在线观看播放视频| 天天欧美欧美亚洲网| 亚洲欧美另类激情小说| 亚洲成人av色网| 操B视频日韩无码| 啊啊啊啊好疼视频| 秋霞男人网| ji熟女.com| 日本超碰97日韩精品人妻| 欧美黑人精品一区二区| 亚洲欧美日韩中文播放| 天天综合网1| 大地资源在线观看中文第二页| 欧美最大综合网| 91蜜臀熟女| 福利在线黄片| 欧美日韩97| 伊人网在线视频| 五月综合色| 日韩A优精品在线观看| 久久视频少妇美女| 91久久免费视频互動交流| 97AV爱| 操逼逼一区视频| 久久中文字幕女同性恋一区| 国内毛片无码一级毛片| 男人的天堂1024| 成人夜夜爽| 麻豆久久精品亚洲精品88| 亚洲色图久久成人| 日韩欧美成人性爱在线| 啪啪一区| 日韩黄片视频试看| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 日韩欧美性吧婷婷乱伦大香蕉| 蜜臀99久久精品久久久久久| 欧美激情亚洲情色| 色99久草| 啪啪啪亚欧美视频| 欧美国产精品久久九九| 欧 美 自 拍 偷 拍| 粉嫩av在线| 大香蕉中文在线| 精品久操| 青青草综合在线| 无毛精品| 9久久久久久| 热热色国产一二区AV| 在线亚洲精品久久久| 午夜天堂精品久久| 日韩影片中文字幕一区二区三区| 天天摸夜夜摸| 97精品综合久久网| 国产精品天干天干综合网麻豆| 成人无码专区精品视频| 亚洲不卡av在线| 亚洲偷91色| 久久久无码视频| 强奸国产精品视频| 午夜福利免费精品视频| 五月开心久久AV官网| 亚洲影视综合网| 久久ww| 欧美人妻久久精品二区三区| 日韩综合成人免费视频| 无码137片内射在线影院| 天堂8在线新版官网| 久久精品人体| 秋霞鲁丝午夜无码一区二区三| 超碰在线综合97| 精品97久久| 日韩在线欧美精品一区二区| 99色色网| 久久爽爽精品| 福利在线观看一区二区| 久久一区,青青青青草视频在线播放| 欧美亚性天堂| 目产99999久久999| 加勒比伊人综合| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊 | 欧美精品偷拍| 国内成人圈中文字幕无码视频 | 91亚洲网| 午夜啪啪片| 久久精品国产亚洲AV成人直播| 人妻乱仑一区二区三区| 亚洲成人在线播放| 婷婷色香| 午夜视频好爽啊| 日韩无码嘿咻黑热久| 大香网站| 亚洲图片欧美91N| 大香蕉一线视频| 五月激情影院| 亚洲激情综合另类男同| 5252色欧美在线| 日韩无码视频黄色| 欧美视频激情久久久久久| 超碰97护士| 久草综合京东| 国产欧美日本亚洲精品| 超碰在线人妻| 欧美少妇色综合| 国产精品播放| 一区二区三区四区免费视频| 素人美腿视频网站| 天天热精品| 国产无码精品成人| 丁香五月天激情综合| 国产白丝在线| 91殴美| 狠狠色噜噜狠狠狠狠狠色综合久久 | 日韩熟女无码| 少妇高潮喷水无套久久久久久| 噜噜噜在线视频| 综合久久少妇中文字幕| 嗯嗯嗯啊啊啊操的我好爽| 久久人妻熟女一区二区 | 亚洲国产另类在线中文| 久久99精品九九久久久婷婷| 五月丁香婷婷啪啪| 人人摸人人干| 亚洲熟妇A V黑人| 91超级碰碰| 天天操妹子| 男人的天堂不卡一区二区| 疯操AV| 久久久 国产精品| 欧美综合中文| 亚洲清纯唯美| 精品一级毛片在线观看| 中国一区二区亚洲人妻| 97玖玖人妻| 少妇一级无码精品| 欧美日韩资源在线| 人妻丝袜一区二区三区在线| 六月丁丁香| 一区二区三区一亚洲中文字幕、综合区灬 | 美女网站91| 五月婷婷激情| 老女人综合网| 中文字幕加勒比海高清无码免费视频| 人妻偷拍一区二区三区| 久久精品99| 婷婷五月综合在线| 国产精品视频自拍在线| 亚洲系列欧美| 免费的av网| 国产精品久久久久久久AV大片| 亚洲人91| 97se综合网| 乱伦av麻豆| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 天天干一区二区| 国产网红精品| 另类图片天天影视| 亚洲蜜臀精品视频久久| 久久精品人妻一区二区| 亚洲国产精品乱码在线观看| AV污污污污| AV乱伦国产| 淫穴高潮色图| 狠狠2050在线观看| 99热精品在线| 性爱视频啪啪啪啪| 黄色香蕉视频网站一区| 午夜男人的天堂| 亚洲色图8| 国产人妻精品一区二区三区秋霞| 日欧毛片久久| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 加勒比大香蕉视频在线| 亚洲古典另类欧美在线| 操操逼视频| 3PAV乱伦视频| 亚洲网站一区二区在线| se吧提供国产乱老熟视频胖女人| 三级日本一区二区三区| 国内毛片无遮挡国产| 日韩99精品视频综合区| 免费一级精品啪啪视频| 高清无码一区二区三区| 日本欧美韩国国产在线| 爽极品影院| 日韩探花精品在线视频| 99久久精品国产高潮| 97人人模人人爽人人| 午夜丁香| baisiav| 欧美少妇内射| 天堂精品一区| 日韩中文字幕精品一二三事国产精品| 无码人妻毛片丰满熟妇精品区| 亚州九九九精品视频| 无码人妻毛片丰满熟妇精品区| 99re99在线视频| 欧美裸体美女日麻屄| 欧美性爱日韩高清| www.人人cao| 男人的天堂2019AV| 97AV在线免费观看| 亚洲黄色| 视频黄色国产一级| 五月天伊人| 91日日| 性感美女啊啊啊在线| 精品久9| 日本成人A片网站| 国产最火爆久久国产网站网站| 午夜精品久久久久久久久久蜜桃 | 欧美性巨大╳╳╳╳╳高跟鞋| 秋霞久久亚洲精品成人| 亚洲人妻av| 嗯啊啊啊轻点视频| 热久久无毒不卡| 看免费的黄片| 99精品网| 精品无码一区二区三区| 八戒午夜福利理论片| 久久久久婷婷| 久久成人精品| 久久精品中文字幕观看| 嗯嗯,啊啊,国产精品| 国模久久在线| 国产一区在线观看无码AV| 国产乱码久久| 密臀在线视频| 亚洲欧美国产其他二区| 欧美夜夜骑视频| 欧美十八禁视频| 超碰亚洲97| 天天爱天天操| 精品国产乱码久久久久久久久1| 91精品少妇搡搡搡| 777奇米影视777四色| 丰满精品人妻少妇久久字幕| 中文字幕中文字幕一区二区| 久久久性爱视频| 日韩性爱1级片视频| 久久亚洲熟妇在线视频| 久久久国产av美女私房| 色老牛| 放黄片放3级黄片没穿衣服| 九久久九精品视频| 东京热视频网| 国产少妇内射| 精品少妇一区二区三区免费观看| 久久久久久九九九九九| 欧亚性爱在线视频| 高清肉丝中文无码| 久久美女福利是上海美女| 男人天堂网手机版婷婷| 婷婷五月色| 又大又大又大又粗爽高潮观看 | 人人操人人射人人干| 欧美日韩国内不卡| A级在线视频| 四虎免费看黄| 日韩去日本高清在| 蜜臀99久| 精品然女一区二区| 伊人激情| 日本在线伊人啪啪| laoshunv91| 午夜黄色免费在线观看| 国产日韩精品suv| 天美传媒精品一区二区三区| 黄色二级片网站| 亚洲欧美国产日本一区二区三区| 麻豆精品天美| 91精品人妻一区二区三区蜜桃臀| 欧美成人性爱视频大全| 人人妻人射| 欧美成年人性爱视频免费观看| 中文字幕在线2| 神马久久久久久久久久| 澳门成人网站久国产日韩| 丁香五月性| 国产精品蜜臀久久久久无码AV| 99黄页网站| 熟妇艹鸡八| 日本一区二区三区欧美日韩中文字幕| 久久久久久精品免费看A级| 岛国免费视频在线| 老司机香蕉久久久久| 中文子幕一二三| 九九九九九九视频| juliaann丝袜大战黑鬼| 国产免费内射视频| 亚州国产精品乱| 久久久国产三级黄色片| 777奇米影视777四色| 乱欲一区二区| 日本肉体xxxx裸交| 日亚韩精品视频二区三| 香蕉在线一区二区三区| 久久久影院| 免费作爱一级视频| 亚洲熟女av日韩熟女| 亚洲AV无码国产成人| 欧美性爱精品一区二区| 亚洲黄片免费在线播放| 秋霞蝌科网日本一区| 日本精品不卡一二三区| 六月丁香网| h在线看免费版在线看| 日本91白丝| 欧美 传媒 麻豆 日韩 偷拍| 欧美性爱网97| 国产精品久久久久999| 国产精品久久久九九九| 呦女网站| 国产福利一区二| 人妻一区视频| 夜夜夜久久| 91色碰| 色婷婷成人综合| 欧美中字二区| 大香蕉狠狠爱| 成人无遮挡毛片免费看| 再深点灬舒服灬太大了添视频| 夜夜爽77777| 亚洲揄拍网| 久久风骚城市| 91精品国产91久久久久久久久久久久| 青春草莓视频在线观看网址| 婷婷导航| 亚洲丝袜色图| 久久午夜色播影院免费高清| 国产AV高清AV无码| 亚洲日韩久久精品一区| 亚洲啪AⅤ永久无码| 制服乱伦| 快播久久人人aV| 二男一女成人A片| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 久久久少妇| 婷婷久久网| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 七月婷婷综合| 99热超碰| 国产视频大全| 欧美另类综合久久| 国产精品在线一区二区| 日本一级二级三级网站| 劲爆欧美人妖三区91| 伊人久久大香线蕉无码| 夜夜爽爽夜夜精品视频| 国产人妖视频一区在线观看| 日韩精品大香蕉伊人在线| 国产9 9在线 | 亚洲| 五月丁香狠狠爱| 台湾佬大香蕉| 先锋精品av色鲁| 国产后入| 日本男人插女人的逼黄色| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 久久精品夜色国产亚洲AV| 国产精品一区二区a| 97亚洲一区| 99亚洲国产精品色一区二区三区| 欧美大香蕉97| 91狠狠色丁香婷婷综合久久精品| 91偷拍欧美亚洲| 日韩AV无码中文一区二区| 四虎av在线| 欧美亚洲丝袜美女电影| 亚洲国产成人精品久久久国产成人一区二区三. | 亚州高清色综合| 超碰成人最新最好看| 情色大香蕉| 96爱综合| www.色五月| 26uuu偷拍亚洲欧洲综合| 好爽要喷了| 婷婷综合网| 九九九免费视频| 极品一区二区三区免费| 熟妇熟女视频一区二区三区| 国产精品原创巨作?v网站| 大香蕉2017| juliaann丝袜大战黑鬼| 久久黄黄| 在线v中文字幕一区二区三区| 久久精品黄色| 四虎精品永久在线观看| 日韩美女,国产传媒,视频一区| 久操操| 国产男人又猛又粗又爽| 欧美日韩性爱电影在线| 成人精品在线免费视频| 久久久偷拍| 国产夫妻性生活视频| 蜜臀AV一区二区三区激情综合| 91成人在线免费视频| 久夜视频| 老司机香蕉| 国产夜夜艹| 五月天婷婷欧美三区| 99久久综合网| 美女被艹尤物视频| 美女刺激久久国产欧美| 欧美综合站| 大鸡吧尹人在线| 久草资源欧美在线视频| 成人久久精品| 色五月激情AV在线| KK色在线影院| 美女啊啊啊啊啊| 超碰97人妻在线| 日韩电影免费网站麻豆视频| 后入福利| 国产精品久久久久婷婷二区次| 夜夜高潮夜夜爽夜夜爱爱一区 | 欧美爱爱97| 欧美性爱伊人| 啊啊啊啊二区好大| 久草综合网| 男女做爰猛烈动高潮A片免费应用| 樱花蜜乳av| 天天爽爽爽爽| 国产高清自拍视频| 最新中文字幕在线亚洲| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 色爱综合网欧美| 青青草原av| 国产无马视频| 少妇被玩视频二三区| 欧美图片校园春色| 国产精品久久久久中文字幕| 男人的天堂2018东京热啪啪啪| 涩涩久久精品| a片自拍直播视频| 亚洲国产日韩欧美熟妇在线| 九草在线大香蕉| 精品九九九九九九| 26uuu国产| 天天综合91入口| 亚洲国产午夜真人一级片中文字幕精品黄网站| 啊嗯好大视频在线观看| 欧美999| 日本福利社| 91天天综合| 国内精品不卡无毒99999| 超碰九7免费| 久视频在线观看| 国产AAAAAABBBBB| 亚洲国产精品久久久男人的天堂| 国产精品久久久久久亚洲色欲| 日本精品人妻少妇一区二区| 亚洲欧美天堂| 99国产精品久久久久久久成人热| 日韩av不卡在线看| 后入福利| 亚洲 图片 综合91| 另类小说综合网| 久久久成人免费av电影| 屌色在线97视频| 91av一区二区在线观看| 肉丝中文无码高清| 无套内射性感少妇视频| 久久久久久久97| 91欧美美女日韩国产婷婷| 精品久久久久久中文| 99久久99九九99九九九| 超碰 另类 欧美 | 国产一区二区三区久久久精品| 亚洲美女 晚间男人天堂 | 久久久久久夜夜夜夜夜| 色色色色日本| 亚洲一区二区中文字幕| 大香蕉伊人一区在线观看| 日韩免费大片一级播放| 日本三级精品| 噜噜噜久久亚洲精品色情| 国产超碰人人操| 国产精品视频91久久| 麻豆一区二区AV天美| 久久久久ab| 亚码激情| 天天色综亚洲91污| 一级乱伦网站| 78超碰| 国产丸一视频| 中文字幕88av在线| 嗯啊不要在线| 天天躁日日躁XXXXYY| www.亚洲成人一区| 欲香欲色| 国产精品一区二区密臀| 女人天堂网| 国产久久男人天堂| 牛牛久久国产精品视频一二三| 中文字幕在线观看丝袜| 韩国黄色片精品久久久| 最近2019中文字幕国语免费版| 琪琪精品免费一区二区三区| 国产捆绑一区| 精品国产Av无码久久久伦古装| 综合亚州欧美| 久久久无码精品人妻二区| 精品成人女人久久| 视频黄站| 夜夜高潮夜夜爽夜夜爱爱一区| 久久精品国产亚洲粉嫩| 久久东京热久久| 欧差乱伦二三| 国产精品嫩草影院午夜两性| 日韩图区 偷拍| 久久精品亚洲成a人天堂| 黄色高清无码无码破解免费暗网| 少妇干B| 三级三级三级日本99| 久久发布国产伦子伦精品| 欧美性爱一区| 欧美一区二区| 无码国产Av| 中文字幕二区日韩天堂| 成人女人国产| 久久人体一区二区| 97九色| 日韩黄片视频试看| 日韩激情啪啪| 九九玖玖精品| 亚洲国产精品久久久久婷婷老年| 中文 人妻 制服| 久久久精品中文字幕爱豆| 91人人臊| 欧美综合色站| 精产品久久| 国产97视频免费观看| 台欧久久精品视频| 小电影欧美91| 波多野结衣一级视频| 日本一区二区三区欧美日韩中文字幕| WWW美腿丝袜香蕉中文| 亚洲不卡三级手机播放| 狠狠操综合| 欧美性五月| 天天干夜夜一操| 蘋果手機免費看成人Av| 精品高潮| 五月天婷婷欧美三区| 日韩无码服务区| 一本一道vs波多野结衣| 福利一级版子| 三级日韩一区二区三区| 禁片 高清 在线观看视频网站| 精品国产乱码久久久久久日本公司| av无线看| 一区二区三区色综合| 伊人精品久久网站| 成人熟女区| 中日亚韩免费视频| 日本久久999| 丝袜美腿制服人妻二区中文字幕 | 极品另类| 色婷婷婷五月天激情四射| 无码一区免费在线不卡| 91N五十路| 欧美真人抽搐一进一出gif| 麻豆福利视频导航| 一本大道不卡一二三区| 蜜臀久久精品久久久久视频| 九九色热| 在线αⅴ| 中出91视频| 色好看av| 亚欧韩av| 黄色片A级一区二区三区| 九热大香蕉| 首页中文字幕中文字幕免费| 久久九九97| 久久久久国产亚洲一区欧美色图日韩| 婷婷色综合欧美日韩| 秋霞午夜视频一区二区| 午夜福利成人免费视频| 四虎精品一区二区| 国产丰满少妇久久久精品影院| 99久久综合网| 日本性爱欧美性爱| 人妻一区二区三区熟女| 亚洲国产青青| 97亚洲一区| 亚洲乱熟女一区二区三区大香蕉| 大JI巴好深好爽又大又粗视频| 国产白丝在线| 怡红院视频在线| 大色综合网| 国产最火爆久久国产网站网站| 亚洲中文字幕熟女少妇一区二区| 色偷综合| 九九国产热| 欧美日韩国产电影| 久久亚州高清| 久久久九97| 亚洲精品男人的天堂| 粉嫩绯色AV一区二区在线| 97色97好| 亚洲国产第一页综合视频| 色官网色综合| 1级黄色夫妻对换性交免费看| 亚洲一区二区中文字幕| 不卡六六在线91| 人妻免费观看| 欧美日韩电影一区二区| 亚洲国产剧情少妇激情| 青青国产精品在线| 精品91摸| 色老汉色| 日韩av色图| 懂色av中文字幕| 黑人性暴力毛片| 男女一进一出视频久久| 国产女人视频三四五区| 欧美少妇色图| 超碰97久久| 一道α片欧美| 免费啪啪一级视频| 久久久久久久久久8888| www.色婷婷色综合| 九九热视频在线观看| oumeisetu综合| 久久久性爱视频| 欧美,日韩,中文,另类| 熟女探花啪啪| 青青操综合网| 花野真衣| 欧美色图片欧美色图| 好爽视频在线观看视频| 秋霞一集毛片观看| 隔壁邻居波多野结衣中文字幕| 欧美成人一级免费电影| 男人天堂一区二区| 精品一久久久| 成人无码欧美一级A片狼牙直播| 91成人无码| 亚洲av综合色区图片亚洲| a久久| 日本五区不卡| 国产在线视频二区| 91国产精品在线看| 国产吹潮女在线观看| 97精品网| 欧美日韩第一页| 日日夜夜草草草| 亚洲欧美第一页| 久操不卡视频| 久草男人天堂| 操www| 超碰人妻中文在线| 被男人吃奶很爽的毛片| 日韩AV片| 蜜屁av| 大香蕉九九| 丝袜美腿丝袜| WWW黄片COM| 人妻激情视频| 国产热RE99久久6国产精品首 | 国产AB视频| 国产剧情AV不卡在线观看| 96免费视频在线| 久久国产AⅤ| 不卡码视频| 久久久久久久九九九九九九| av婷婷色网| se吧提供91精品国产91久久久久久| 亚洲成人av色网| 国产激情视频一区区三区| 91老司机在线视频免费观看 | 熟女熟妇一区二区三四区| 久操婷婷| 精品一区二区三区国产| 久久久精品国产亚洲伊人| 干少妇视频| 亚洲熟女综合网| 久久婷婷色综合一区二区三区| 久久超碰国产一区二区三区| 天天综合欧美综合| 国产女人操逼视频| 一本色道久久综合狠狠操| 九九色婷婷| 国产精品不卡一区二区三区av| 天天干天天日天天射黄色大片| 日本熟女免费視颖| 欧美在线亚洲| 麻豆福利视频导航| 九九综合久久| 久操凹凸视频| 午夜操一视频一区| 黄色二级片网站| 91 在线亚洲| 婷婷香蕉欧美在线一区二区三区| 夜夜青青无码影院| julia ann久久| 好色美女九七第一页| 黄色片A级一区二区三区| 国产精品岛国片在线观看| 日本天天操| 日韩性爱网址| 超碰人人妻| 麻豆AV一区二区| 97超级欧美| 天堂亚洲精品久久老牛| 中文字幕一区日韩精| 老子午夜伦不卡影院| 秋霞一级鲁丝片A片| 国产丝袜啪啪| 国产后入清纯| 欧美色图下一页| 中文有码第五页| 欧美一级三级| 97天天搞在线| 97AV爱| 精品妇女一区二区三区| 婷婷色五月激情| 欧美精品四区| av情色影音| 污到发麻的视频 国产| 欧美熟女少妇| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 最新加勒比丝袜在线| 色av中文字| 伊人久久大香线综合无码| 有码人妻系列| 久久人爽| 欧美后入式|