99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

STM32廚房安全監(jiān)測(cè)系統(tǒng):ESP01S+OneNET+小程序全鏈路實(shí)戰(zhàn)

STM32廚房安全監(jiān)測(cè)系統(tǒng):ESP01S+OneNET+小程序全鏈路實(shí)戰(zhàn) 做物聯(lián)網(wǎng)畢業(yè)設(shè)計(jì)或競(jìng)賽項(xiàng)目很多人不是卡在代碼難寫而是卡在“整條鏈路太長”。以廚房安全監(jiān)測(cè)系統(tǒng)為例你需要讓 STM32 采集溫濕度、煙霧濃度通過 ESP01S 將數(shù)據(jù)推到 OneNET 云平臺(tái)再在微信小程序里顯示并遠(yuǎn)程控制繼電器。單看任何一個(gè)節(jié)點(diǎn)網(wǎng)上都能找到教程一旦要求它們聯(lián)調(diào)跑通各種問題就冒出來了——串口亂碼、AT 指令不返回、MQTT 連接失敗、小程序收不到數(shù)據(jù)……這篇文章的目的很明確幫你把這條鏈路完整走通。我會(huì)從系統(tǒng)架構(gòu)、硬件選型、STM32 驅(qū)動(dòng)代碼、ESP01S 接入 OneNET、小程序?qū)?、PCB 設(shè)計(jì)到常見排錯(cuò)按真實(shí)開發(fā)順序講一遍。內(nèi)容以 STM32F103C8T6 ESP01S OneNET 這套主流方案為主線同樣適用于智能家居、環(huán)境監(jiān)測(cè)、宿舍安防等類似選題。1. 這個(gè)項(xiàng)目解決什么問題物聯(lián)網(wǎng)畢設(shè)的真正難點(diǎn)先說一個(gè)觀察很多做 STM32 畢設(shè)或競(jìng)賽項(xiàng)目的同學(xué)容易陷入“局部自嗨”的怪圈——傳感器讀取寫得滾瓜爛熟OLED 屏幕顯示也做得很好看但一提到上云就卡殼。為什么因?yàn)榍懊孢@些只是單片機(jī)基本功物聯(lián)網(wǎng)項(xiàng)目真正考核的是“端-云-應(yīng)用”三層鏈路的數(shù)據(jù)閉環(huán)。所謂“鏈路打通”指的是傳感器數(shù)據(jù)能被 MCU 正確采集MCU 能把數(shù)據(jù)通過串口交給 WiFi 模塊WiFi 模塊能連上路由器、能連上云平臺(tái)云平臺(tái)上能正確創(chuàng)建產(chǎn)品、設(shè)備、數(shù)據(jù)流小程序/APP 能通過云平臺(tái)接口讀到設(shè)備數(shù)據(jù)、下發(fā)控制指令。任何一環(huán)斷了整個(gè)項(xiàng)目都不算完成。這套基于 STM32 的廚房安全監(jiān)測(cè)系統(tǒng)適合的讀者包括物聯(lián)網(wǎng)、電子信息、計(jì)算機(jī)相關(guān)專業(yè)的畢業(yè)生正在挑畢設(shè)題目準(zhǔn)備參加電子設(shè)計(jì)競(jìng)賽、互聯(lián)網(wǎng)、挑戰(zhàn)杯的學(xué)生團(tuán)隊(duì)想完整掌握“STM32 云平臺(tái) 小程序”全鏈路開發(fā)但又缺乏項(xiàng)目經(jīng)驗(yàn)的開發(fā)者。項(xiàng)目完成后你的成果物不只是“一個(gè)能報(bào)警的設(shè)備”而是一整套可以演示、答辯、擴(kuò)展的方案一塊自研 PCB 底板集成了 STM32 最小系統(tǒng)、傳感器接口、繼電器驅(qū)動(dòng)、ESP01S 座子一套 STM32 標(biāo)準(zhǔn)庫工程包含傳感器驅(qū)動(dòng)、串口通信、AT 指令控制 WiFi 模塊的邏輯一個(gè) OneNET 云平臺(tái)設(shè)備實(shí)例能生成 APIKey、數(shù)據(jù)流、命令下發(fā)一個(gè)微信小程序界面能實(shí)時(shí)顯示溫度、濕度、煙霧濃度并遠(yuǎn)程觸發(fā)聲光報(bào)警或排風(fēng)扇。這套鏈路本身也是物聯(lián)網(wǎng)行業(yè)里非常通用的能力。做完這個(gè)項(xiàng)目你已經(jīng)摸清了嵌入式上云的基本方法后續(xù)換傳感器、換 WiFi 模塊、換云平臺(tái)都是同一套思路的遷移。2. 系統(tǒng)總體架構(gòu)與核心選型邏輯2.1 四層架構(gòu)從數(shù)據(jù)流的角度看系統(tǒng)分為四層層級(jí)作用本項(xiàng)目的具體實(shí)現(xiàn)感知層采集廚房環(huán)境數(shù)據(jù)DHT11 溫濕度、MQ-2 煙霧濃度、火焰?zhèn)鞲衅骺刂茖犹幚頂?shù)據(jù)、執(zhí)行本地邏輯STM32F103C8T6 主控、繼電器控制排風(fēng)扇/電磁閥平臺(tái)層數(shù)據(jù)中轉(zhuǎn)、存儲(chǔ)、API 輸出OneNET 云平臺(tái)通過 MQTT 協(xié)議接入應(yīng)用層用戶遠(yuǎn)程查看與控制微信小程序這四層不是孤立的。感知層把物理信號(hào)變成數(shù)字量控制層負(fù)責(zé)“本地判斷 遠(yuǎn)程上傳”平臺(tái)層負(fù)責(zé)把設(shè)備與小程序解耦應(yīng)用層則給用戶提供可視化界面。2.2 控制邏輯本地邏輯可以這樣設(shè)計(jì)STM32 每 2 秒采集一次溫度、濕度、煙霧濃度如果煙霧濃度或溫度超過閾值立即打開繼電器控制排風(fēng)扇或燃?xì)怆姶砰y并驅(qū)動(dòng)蜂鳴器報(bào)警無論是否報(bào)警數(shù)據(jù)都會(huì)通過 ESP01S 上傳到 OneNET。這個(gè)“本地閉環(huán)”設(shè)計(jì)非常重要。它保證即使 WiFi 斷開、云平臺(tái)不可用廚房的安全機(jī)制依然能工作。很多初學(xué)者容易忽略這一點(diǎn)把所有判斷都交給云端結(jié)果網(wǎng)絡(luò)一抖設(shè)備就“失靈”了。2.3 為什么用 ESP01S 而不是 ESP8266 開發(fā)板ESP01S 本質(zhì)上是 ESP8266 芯片的一個(gè)最小模組引出 8 個(gè)引腳其中可用 GPIO 只有 2 個(gè)。它沒有獨(dú)立的 USB 轉(zhuǎn)串口電路也沒有穩(wěn)壓和下載電路看起來對(duì)新手不太友好。但它有兩個(gè)明顯優(yōu)勢(shì)便宜單模塊成本低適合做產(chǎn)品化的 PCB出廠自帶 AT 固件不需要額外寫 ESP8266 的固件把它當(dāng)“串口轉(zhuǎn) WiFi 透明通道”來用就行。在畢設(shè)場(chǎng)景里ESP01S 是最省事的方案STM32 通過串口發(fā) AT 指令ESP01S 負(fù)責(zé) WiFi 連接與 MQTT 協(xié)議處理所有業(yè)務(wù)邏輯都在 STM32 上完成。如果你選用的是整塊 NodeMCU 開發(fā)板也不是不行但體積大、集成度低做 PCB 時(shí)不好安排位置。2.4 為什么選 OneNETOneNET 是中移物聯(lián)網(wǎng)的開放平臺(tái)對(duì)校園用戶和開發(fā)者比較友好。它的優(yōu)勢(shì)在于不需要自己買服務(wù)器、搭后端直接在平臺(tái)上創(chuàng)建設(shè)備生成鑒權(quán)信息提供 MQTT 接入方式兼容性好數(shù)據(jù)流和命令下發(fā)清晰適合展示畢設(shè)的“端到端”能力。相比自建 MQTT 服務(wù)器OneNET 明顯更適合課程設(shè)計(jì)和競(jìng)賽場(chǎng)景。它讓項(xiàng)目可以聚焦在“設(shè)備端怎么發(fā)數(shù)據(jù)、應(yīng)用端怎么讀數(shù)據(jù)”而不是花大量精力去維護(hù)服務(wù)器。3. 硬件設(shè)計(jì)與原理圖要點(diǎn)3.1 主控與核心器件本系統(tǒng)主控采用 STM32F103C8T6這是 STM32 家族里最常用的入門型號(hào)之一。它基于 Arm Cortex-M3 內(nèi)核主頻 72MHz內(nèi)置 64KB Flash、20KB SRAM擁有 3 個(gè) USART、2 個(gè) SPI、2 個(gè) I2C、多個(gè)定時(shí)器和 ADC。為什么夠用傳感器采集是模擬量 單總線協(xié)議PWM 或 ADC 就能解決與 ESP01S 通信只需要一個(gè)串口控制繼電器、蜂鳴器只需要 GPIO不需要跑操作系統(tǒng)裸機(jī)輪詢即可。其他核心器件包括器件作用備注DHT11采集溫度、濕度單總線協(xié)議3 根線MQ-2 煙霧傳感器檢測(cè)可燃?xì)怏w/煙霧濃度模擬量輸出接到 ADC火焰?zhèn)鞲衅鳈z測(cè)明火紅外光譜數(shù)字或模擬量輸出繼電器模塊控制排風(fēng)扇、電磁閥5V 或 3.3V 觸發(fā)注意驅(qū)動(dòng)電流蜂鳴器本地聲光報(bào)警有源蜂鳴器更簡單ESP01SWiFi 通信3.3V 供電注意電流需求3.2 傳感器選型邏輯廚房安全的核心是“燃?xì)庑孤焙汀皽囟犬惓!?。MQ-2 對(duì)液化氣、丙烷、氫氣等可燃?xì)怏w比較敏感而且價(jià)格低、資料多非常適合畢設(shè)演示。它輸出模擬電壓煙霧濃度越高電壓越大接 STM32 的 ADC 引腳即可讀取。DHT11 精度雖然不高但勝在協(xié)議簡單、驅(qū)動(dòng)例程到處都是用來做環(huán)境溫濕度采集完全夠用。如果你想讓項(xiàng)目更有“工程感”可以換成 DHT22 或 SHT30但這屬于后期優(yōu)化不影響整體架構(gòu)。火焰?zhèn)鞲衅髦饕袃煞N一種輸出數(shù)字量檢測(cè)到火焰時(shí)輸出低電平一種輸出模擬量可以判斷火焰強(qiáng)度。建議接 ADC 引腳這樣既能判斷“有火”也能看“火勢(shì)”。它的檢測(cè)距離有限實(shí)際擺放時(shí)要靠近灶臺(tái)區(qū)域。3.3 電源方案與繼電器控制整個(gè)系統(tǒng)的供電可以選擇 USB 5V 輸入也可以選擇 220V 轉(zhuǎn) 5V 的電源模塊。這里有一個(gè)關(guān)鍵點(diǎn)ESP01S 的工作電流瞬間可能達(dá)到 200mA 以上如果用 STM32 板載的 3.3V LDO 給它供電WiFi 連接瞬間大概率會(huì)復(fù)位??煽康淖龇ㄊ?V 輸入通過獨(dú)立的 AMS1117-3.3 穩(wěn)壓芯片給 ESP01S 供電STM32 的 3.3V 也建議單獨(dú)用一路 LDO。繼電器驅(qū)動(dòng)不要直接用 STM32 的 GPIO 去推。繼電器線圈屬于感性負(fù)載驅(qū)動(dòng)時(shí)需要三極管或 ULN2003并且線圈兩端要并聯(lián)續(xù)流二極管否則斷開瞬間的反向電動(dòng)勢(shì)可能損壞 GPIO。常用驅(qū)動(dòng)結(jié)構(gòu)GPIO 輸出高電平經(jīng)限流電阻接 NPN 三極管基極繼電器線圈接在三極管集電極與 5V 之間線圈兩端并聯(lián) 1N4007 二極管負(fù)極接 5V。3.4 電路設(shè)計(jì)要點(diǎn)原理圖設(shè)計(jì)需要注意幾個(gè)細(xì)節(jié)STM32F103C8T6 的 BOOT0 接 10K 電阻到 GND避免上電后意外進(jìn)入系統(tǒng)存儲(chǔ)器模式NRST 引腳接 100nF 電容到地VDD 每個(gè)引腳就近放一個(gè) 100nF 去耦電容8MHz 晶振的兩個(gè)負(fù)載電容通常選 22pF 左右但準(zhǔn)確值要根據(jù)芯片數(shù)據(jù)手冊(cè)中的負(fù)載電容參數(shù)計(jì)算公式是 CL (C1 * C2) / (C1 C2) 寄生電容ESP01S 的 VCC 引腳需要 3.3V且建議在模塊附近放一個(gè) 10uF 或 100uF 電解電容應(yīng)對(duì) WiFi 發(fā)射時(shí)的電流尖峰。如果你用的是立創(chuàng)EDA嘉立創(chuàng)EDA畫完原理圖后可以直接檢查 ERC、生成 PCB然后在線下單打樣整套流程對(duì)新手比較友好網(wǎng)上相關(guān)教程也很多。4. STM32 開發(fā)環(huán)境搭建4.1 開發(fā)工具鏈本文代碼基于 STM32 標(biāo)準(zhǔn)外設(shè)庫Standard Peripheral Library開發(fā)環(huán)境是 Keil MDK。這套組合雖然是“老配方”但資料多、社區(qū)成熟非常適合課程設(shè)計(jì)和競(jìng)賽快速推進(jìn)。需要準(zhǔn)備的工具工具說明Keil MDK 5.x編寫、編譯、下載代碼STM32F1xx 器件支持包在 Keil 中安裝包含芯片型號(hào)定義ST-Link 驅(qū)動(dòng) / J-Link 驅(qū)動(dòng)下載調(diào)試器驅(qū)動(dòng)STM32 標(biāo)準(zhǔn)庫提供外設(shè)驅(qū)動(dòng)源碼STM32 ST-LINK Utility用于連接異常時(shí)的芯片解鎖與燒錄串口調(diào)試助手查看 MCU 打印日志、調(diào)試 AT 指令4.2 Keil 安裝 C51 與 STM32 共存問題很多同學(xué)電腦上之前裝過 Keil C51再裝 Keil MDK 時(shí)兩個(gè)軟件會(huì)默認(rèn)裝到不同目錄。這里容易出的問題是打開一個(gè)項(xiàng)目時(shí)界面顯示沒有對(duì)應(yīng)的編譯器或芯片包。解決辦法如果以 C51 為主先安裝 Keil C51再安裝 Keil MDK并把 C51 的安裝目錄指定為 Keil 安裝目錄下的 UV4 文件夾這樣兩者可以共存在 MDK 中打開項(xiàng)目時(shí)需要在 Project 窗口右鍵選擇 Manage Project Items確認(rèn)編譯器版本是 ARM Compiler而不是 C51 編譯器下載報(bào)錯(cuò)Error: Flash Download failed - Cortex-M3通常是因?yàn)闆]有在 Options for Target 的 Debug 頁面配置 Flash Download或者芯片型號(hào)選錯(cuò)。這些問題的本質(zhì)是“兩個(gè)版本 Keil 的工程文件結(jié)構(gòu)不同 芯片支持包缺失”。排查時(shí)先看 Tools 菜單下的 Pack Installer確認(rèn)是否安裝了對(duì)應(yīng)的器件支持包。4.3 STM32 標(biāo)準(zhǔn)庫工程結(jié)構(gòu)標(biāo)準(zhǔn)庫工程的典型結(jié)構(gòu)如下Project/ ├── Core/ │ ├── inc/ │ └── src/ ├── HAL/ # 標(biāo)準(zhǔn)庫使用 SystemInit 啟動(dòng)文件 ├── STM32F10x_FWLib/ │ ├── inc/ │ └── src/ ├── User/ │ ├── main.c │ ├── stm32f10x_it.c │ └── system_stm32f10x.c └── MDK-ARM/新建工程時(shí)建議手動(dòng)建立以下幾個(gè)用戶文件bsp_usart.c/h串口初始化與重定向 printfbsp_dht11.c/hDHT11 驅(qū)動(dòng)bsp_adc.c/hADC 采集模擬量esp01s_at.c/h封裝 AT 指令發(fā)送與 MQTT 連接流程app_task.c/h主循環(huán)業(yè)務(wù)邏輯。這樣組織的好處是傳感器驅(qū)動(dòng)、WiFi 通信、業(yè)務(wù)邏輯相互獨(dú)立后期更換傳感器或云平臺(tái)時(shí)不用大面積改代碼。5. 傳感器驅(qū)動(dòng)與數(shù)據(jù)采集代碼5.1 DHT11 溫濕度讀取DHT11 是單總線器件通信時(shí)序相對(duì)固定主機(jī)先拉低總線至少 18ms再釋放總線然后讀取 40 位數(shù)據(jù)濕度整數(shù)、濕度小數(shù)、溫度整數(shù)、溫度小數(shù)、校驗(yàn)和。下面的代碼是一個(gè)簡化版示例重點(diǎn)看協(xié)議流程而不是追求完整產(chǎn)品級(jí)容錯(cuò)。// 文件路徑User/bsp_dht11.c #include bsp_dht11.h #include stm32f10x.h #define DHT11_GPIO_PORT GPIOB #define DHT11_GPIO_PIN GPIO_Pin_0 #define DHT11_RCC RCC_APB2Periph_GPIOB static uint8_t dht11_data[5]; static void DHT11_GPIO_Output(void) { GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin DHT11_GPIO_PIN; GPIO_InitStructure.GPIO_Mode GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed GPIO_Speed_50MHz; GPIO_Init(DHT11_GPIO_PORT, GPIO_InitStructure); } static void DHT11_GPIO_Input(void) { GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin DHT11_GPIO_PIN; GPIO_InitStructure.GPIO_Mode GPIO_Mode_IN_FLOATING; GPIO_Init(DHT11_GPIO_PORT, GPIO_InitStructure); } static uint8_t DHT11_ReadByte(void) { uint8_t i, byte 0; for (i 0; i 8; i) { while (GPIO_ReadInputDataBit(DHT11_GPIO_PORT, DHT11_GPIO_PIN) RESET); delay_us(40); if (GPIO_ReadInputDataBit(DHT11_GPIO_PORT, DHT11_GPIO_PIN) SET) { byte (byte 1) | 0x01; } else { byte (byte 1); } while (GPIO_ReadInputDataBit(DHT11_GPIO_PORT, DHT11_GPIO_PIN) SET); } return byte; } uint8_t DHT11_ReadData(float *temp, float *humi) { uint8_t i; DHT11_GPIO_Output(); GPIO_ResetBits(DHT11_GPIO_PORT, DHT11_GPIO_PIN); delay_ms(20); GPIO_SetBits(DHT11_GPIO_PORT, DHT11_GPIO_PIN); delay_us(30); DHT11_GPIO_Input(); while (GPIO_ReadInputDataBit(DHT11_GPIO_PORT, DHT11_GPIO_PIN) SET); while (GPIO_ReadInputDataBit(DHT11_GPIO_PORT, DHT11_GPIO_PIN) RESET); while (GPIO_ReadInputDataBit(DHT11_GPIO_PORT, DHT11_GPIO_PIN) SET); for (i 0; i 5; i) { dht11_data[i] DHT11_ReadByte(); } if ((dht11_data[0] dht11_data[1] dht11_data[2] dht11_data[3]) dht11_data[4]) { *humi (float)((dht11_data[0] 8 | dht11_data[1]) 8); *temp (float)((dht11_data[2] 8 | dht11_data[3]) 8); return 1; } return 0; }這里有幾個(gè)容易出錯(cuò)的地方起始信號(hào)的低電平時(shí)間必須足夠短了傳感器不響應(yīng)常見問題是時(shí)序函數(shù)延時(shí)不準(zhǔn)讀取每一位時(shí)40us 的判斷是區(qū)分“0”和“1”的關(guān)鍵不能死等校驗(yàn)和的判斷不能省否則干擾環(huán)境下會(huì)出現(xiàn)離譜數(shù)據(jù)。5.2 MQ-2 煙霧濃度采集MQ-2 輸出的是模擬電壓STM32 采集它只需要 ADC 外設(shè)。// 文件路徑User/bsp_adc.c #include bsp_adc.h #include stm32f10x.h void ADC_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; ADC_InitTypeDef ADC_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_ADC1, ENABLE); GPIO_InitStructure.GPIO_Pin GPIO_Pin_1; GPIO_InitStructure.GPIO_Mode GPIO_Mode_AIN; GPIO_Init(GPIOA, GPIO_InitStructure); ADC_InitStructure.ADC_Mode ADC_Mode_Independent; ADC_InitStructure.ADC_ScanConvMode DISABLE; ADC_InitStructure.ADC_ContinuousConvMode DISABLE; ADC_InitStructure.ADC_ExternalTrigConv ADC_ExternalTrigConv_None; ADC_InitStructure.ADC_DataAlign ADC_DataAlign_Right; ADC_InitStructure.ADC_NbrOfChannel 1; ADC_Init(ADC1, ADC_InitStructure); ADC_Cmd(ADC1, ENABLE); ADC_ResetCalibration(ADC1); while (ADC_GetResetCalibrationStatus(ADC1)); ADC_StartCalibration(ADC1); while (ADC_GetCalibrationStatus(ADC1)); } uint16_t MQ2_Read(void) { ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 1, ADC_SampleTime_55Cycles5); ADC_SoftwareStartConvCmd(ADC1, ENABLE); while (ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) RESET); return ADC_GetConversionValue(ADC1); }ADC 采樣值是一個(gè) 0 到 4095 的數(shù)字量對(duì)應(yīng) 0 到 3.3V。如果你需要電壓值可以折算float voltage (float)adc_value * 3.3f / 4095.0f;在實(shí)際項(xiàng)目里直接把原始 ADC 值作為“煙霧濃度指標(biāo)”也可以因?yàn)閳?bào)警閾值只需要一個(gè)相對(duì)量標(biāo)定好“正常環(huán)境下的基準(zhǔn)值”和“報(bào)警環(huán)境下的采樣值”在這個(gè)區(qū)間內(nèi)配置閾值即可。5.3 串口調(diào)試信息輸出調(diào)試離不開串口。推薦把 printf 重定向到串口 1這樣可以直接在串口助手看數(shù)據(jù)。// 文件路徑User/bsp_usart.c #include bsp_usart.h #include stm32f10x.h #include stdio.h void USART1_Init(uint32_t baudrate) { GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_USART1, ENABLE); GPIO_InitStructure.GPIO_Pin GPIO_Pin_9; GPIO_InitStructure.GPIO_Speed GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode GPIO_Mode_AF_PP; GPIO_Init(GPIOA, GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin GPIO_Pin_10; GPIO_InitStructure.GPIO_Mode GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOA, GPIO_InitStructure); USART_InitStructure.USART_BaudRate baudrate; USART_InitStructure.USART_WordLength USART_WordLength_8b; USART_InitStructure.USART_StopBits USART_StopBits_1; USART_InitStructure.USART_Parity USART_Parity_No; USART_InitStructure.USART_HardwareFlowControl USART_HardwareFlowControl_None; USART_InitStructure.USART_Mode USART_Mode_Rx | USART_Mode_Tx; USART_Init(USART1, USART_InitStructure); USART_Cmd(USART1, ENABLE); } int fputc(int ch, FILE *f) { while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) RESET); USART_SendData(USART1, (uint8_t)ch); return ch; }串口調(diào)試時(shí)建議保持固定波特率比如 115200。如果發(fā)現(xiàn)亂碼優(yōu)先檢查串口助手的波特率和單片機(jī)初始化參數(shù)是否一致。6. ESP01S 接入 OneNET 云平臺(tái)的完整實(shí)現(xiàn)6.1 ESP01S 出廠 AT 固件的使用前提ESP01S 出廠一般刷好了 AT 固件使用前先用 USB 轉(zhuǎn) TTL 模塊連接它確認(rèn)能收到AT回復(fù)OK。常見的 AT 固件版本不同指令集也有差異。這里用一個(gè)保守但穩(wěn)妥的說法ESP8266 官方 AT 指令集經(jīng)過了多個(gè)版本迭代支持 MQTT 的指令在不同版本中格式不完全一致。如果你的模塊不支持ATMQTTCONN這類指令可以先用串口助手把固件升級(jí)到支持 MQTT 的版本或者使用舊的 TCP 透?jìng)鞣绞竭B接 OneNET。無論固件版本如何調(diào)試順序都是固定的配置 WiFi 模式連接路由器建立 TCP 或 MQTT 連接發(fā)送/接收數(shù)據(jù)。6.2 先用串口助手手動(dòng)聯(lián)調(diào) AT 指令在寫 STM32 代碼之前強(qiáng)烈建議先用 USB 轉(zhuǎn) TTL 模塊把 ESP01S 接電腦用串口助手手動(dòng)敲一遍指令。這一步能幫你確認(rèn) ESP01S 的 AT 指令格式和 OneNET 接入?yún)?shù)避免后面代碼調(diào)試時(shí)分不清是“指令寫錯(cuò)”還是“網(wǎng)絡(luò)問題”。典型流程如下AT # 回復(fù) OK ATCWMODE1 # 回復(fù) OK設(shè)置為 STA 模式 ATCWJAP你的WiFi名,你的WiFi密碼 # 回復(fù) WIFI GOT IP # 連接 OneNET 服務(wù)器 ATMQTTUSERCFG0,1,clientId,username,password,0,0, ATMQTTCONN0,host地址,端口,1關(guān)于 OneNET 的接入?yún)?shù)這里需要特別注意。OneNET 平臺(tái)有多個(gè)接入版本舊版多協(xié)議接入的 MQTT 參數(shù)與新版 OneNET Studio 不完全相同舊版多協(xié)議接入時(shí)clientId、username、password 由平臺(tái)提供的設(shè)備信息生成新版 Studio 則更強(qiáng)調(diào)產(chǎn)品 ID、設(shè)備名稱、設(shè)備密鑰的組合關(guān)系不同版本的接入域名和端口也可能不同。所以我的建議是不要憑網(wǎng)上某篇文章里的 IP 和端口直接抄而是登錄 OneNET 控制臺(tái)找到“設(shè)備接入”或“MQTT 接入”頁面以平臺(tái)給出的實(shí)際接入點(diǎn)為準(zhǔn)。這個(gè)細(xì)節(jié)很多初學(xué)者會(huì)踩坑也是 ESP8266/ESP01S 連接 OneNET 失敗的高頻原因之一。6.3 STM32 通過串口控制 ESP01S 的代碼手動(dòng)調(diào)試通過后就可以把 AT 指令封裝到 STM32 代碼里。ESP01S 與 STM32 的接線方式STM32ESP01SPA2USART2 TXRXPA3USART2 RXTX3.3V獨(dú)立穩(wěn)壓VCCGNDGND10K 上拉電阻CH_PD/EN下面這段代碼演示了如何使用串口 2 發(fā)送 AT 指令并等待 ESP01S 返回指定關(guān)鍵字。// 文件路徑User/esp01s_at.c #include esp01s_at.h #include stm32f10x.h #include string.h #include stdio.h extern UART_HandleTypeDef huart2; // 標(biāo)準(zhǔn)庫項(xiàng)目請(qǐng)?zhí)鎿Q為 USART2 static uint8_t rx_buffer[512]; static uint16_t rx_len 0; void ESP01S_SendCmd(const char *cmd) { USART_SendString(USART2, (uint8_t *)cmd); } uint8_t ESP01S_WaitResponse(const char *keyword, uint16_t timeout) { // 簡化實(shí)現(xiàn)輪詢接收緩沖區(qū)判斷是否包含關(guān)鍵字 // 真實(shí)項(xiàng)目中建議使用狀態(tài)機(jī) 環(huán)形緩沖區(qū) } uint8_t ESP01S_ConnectWiFi(const char *ssid, const char *pwd) { char cmd[128]; sprintf(cmd, ATCWJAP\%s\,\%s\\r\n, ssid, pwd); ESP01S_SendCmd(cmd); return ESP01S_WaitResponse(OK, 10000); } uint8_t ESP01S_ConnectMQTT(const char *clientId, const char *username, const char *password, const char *host, int port) { char cmd[256]; sprintf(cmd, ATMQTTUSERCFG0,1,\%s\,\%s\,\%s\,0,0,\\\r\n, clientId, username, password); ESP01S_SendCmd(cmd); if (ESP01S_WaitResponse(OK, 3000)) { sprintf(cmd, ATMQTTCONN0,\%s\,%d,1\r\n, host, port); ESP01S_SendCmd(cmd); return ESP01S_WaitResponse(CONNACK, 10000); } return 0; } uint8_t ESP01S_PublishData(float temp, float humi, uint16_t gas) { char payload[128]; sprintf(payload, {\temperature\:%.1f,\humidity\:%.1f,\gas\:%d}, temp, humi, gas); char cmd[192]; sprintf(cmd, ATMQTTPUB0,\數(shù)據(jù)流主題名\,\%s\,0,0\r\n, payload); ESP01S_SendCmd(cmd); return ESP01S_WaitResponse(OK, 3000); }這段代碼里的USART_SendString和USART2在本示例中約定在bsp_usart.c中實(shí)現(xiàn)。標(biāo)準(zhǔn)庫環(huán)境下需要為串口 2 單獨(dú)寫初始化與串口 1 布局一致。實(shí)際應(yīng)用中AT 指令的響應(yīng)不是一次就發(fā)完的。最推薦的方案是串口接收中斷 環(huán)形緩沖區(qū)在主循環(huán)中解析緩沖區(qū)內(nèi)容。純阻塞式等待在局域網(wǎng)環(huán)境下問題不大但 Wi-Fi 環(huán)境不穩(wěn)定時(shí)一旦丟包程序就會(huì)卡死。6.4 OneNET 平臺(tái)配置與數(shù)據(jù)流OneNET 平臺(tái)側(cè)的操作大致是注冊(cè)賬號(hào)并登錄 OneNET 控制臺(tái)創(chuàng)建產(chǎn)品選擇 MQTT 協(xié)議在產(chǎn)品下添加設(shè)備記錄設(shè)備 ID、鑒權(quán)信息查看接入文檔確定 MQTT broker 地址、端口和 Topic 格式在一段時(shí)間內(nèi)收集設(shè)備上報(bào)的數(shù)據(jù)然后在平臺(tái)添加或確認(rèn)數(shù)據(jù)流模板。這里有幾個(gè)容易混淆的概念數(shù)據(jù)流Datastream描述一個(gè)設(shè)備的某一類數(shù)據(jù)比如 “temperature”數(shù)據(jù)點(diǎn)Datapoint某個(gè)時(shí)間點(diǎn)的具體數(shù)值命令/消息下發(fā)從云平臺(tái)或小程序向設(shè)備發(fā)送控制指令。聯(lián)動(dòng)小程序時(shí)上報(bào)數(shù)據(jù)可以直接按 JSON 格式打包平臺(tái)側(cè)根據(jù)數(shù)據(jù)流模板解析。如果平臺(tái)沒有預(yù)定義模板只要在發(fā)布時(shí)使用相同的 Topic 和字段名也能在設(shè)備日志里看到原始數(shù)據(jù)。6.5 ESP01S 發(fā)送 TCP 消息與手機(jī)接收熱搜詞里有“esp01s發(fā)送tcp消息 手機(jī)”這其實(shí)是 ESP01S 最基礎(chǔ)的用法通過ATCIPSTART建立 TCP 連接把數(shù)據(jù)發(fā)到某個(gè)服務(wù)器或手機(jī) App 監(jiān)聽端口。它在局域網(wǎng)里很容易驗(yàn)證比如用手機(jī)上的網(wǎng)絡(luò)調(diào)試助手工具監(jiān)聽端口ESP01S 就能把數(shù)據(jù)推過去。但在本項(xiàng)目里這種“點(diǎn)對(duì)點(diǎn) TCP”并不適合做完整畢設(shè)原因有二手機(jī)沒有公網(wǎng) IP 時(shí)無法直接接收局域網(wǎng)外的 ESP01S 數(shù)據(jù)TCP 透?jìng)鳑]有鑒權(quán)、沒有歷史存儲(chǔ)不夠“平臺(tái)化”。OneNET 的價(jià)值正是解決這兩個(gè)問題把數(shù)據(jù)存儲(chǔ)在云端小程序通過 API 訂閱設(shè)備側(cè)只維護(hù)一條 MQTT 長連接。7. 微信小程序控制端設(shè)計(jì)與對(duì)接思路7.1 小程序架構(gòu)微信小程序端有兩種常見做法直連 OneNET API通過 HTTP 請(qǐng)求獲取設(shè)備最新數(shù)據(jù)點(diǎn)再展示到頁面上。優(yōu)點(diǎn)是架構(gòu)簡單缺點(diǎn)是直接暴露平臺(tái)訪問密鑰到前端有安全風(fēng)險(xiǎn)。個(gè)人演示項(xiàng)目可以接受但正式項(xiàng)目不建議。自建后端中轉(zhuǎn)小程序請(qǐng)求自己的后端接口后端再與 OneNET 交互。更安全但需要一臺(tái)服務(wù)器或云函數(shù)。對(duì)課程設(shè)計(jì)和競(jìng)賽而言第一種方案演示速度最快。OneNET 的 API 一般支持按產(chǎn)品設(shè)備和數(shù)據(jù)流查詢最新數(shù)據(jù)返回 JSON 后在小程序里渲染即可。7.2 頁面與功能一個(gè)典型的廚房安全監(jiān)測(cè)小程序包含三個(gè)頁面數(shù)據(jù)總覽頁卡片式展示溫度、濕度、煙霧濃度設(shè)備控制頁排風(fēng)扇開關(guān)、報(bào)警復(fù)位按鈕設(shè)置頁上報(bào)閾值、WiFi 信息如果設(shè)備端支持遠(yuǎn)程配置。需要特別提醒小程序端必須處理“設(shè)備離線”狀態(tài)。如果 ESP01S 斷開連接OneNET 會(huì)標(biāo)記設(shè)備離線小程序顯示的數(shù)據(jù)可能是舊數(shù)據(jù)此時(shí)界面要提示“設(shè)備離線”而不是給用戶一個(gè)誤以為實(shí)時(shí)的數(shù)值。7.3 命令下發(fā)原理遠(yuǎn)程控制的本質(zhì)是“向設(shè)備發(fā)布一條消息”。在 OneNET 里這通常表現(xiàn)為云平臺(tái)向設(shè)備的訂閱 Topic 下發(fā)消息ESP01S 收到后通過串口發(fā)給 STM32STM32 解析后控制繼電器或蜂鳴器。因此STM32 端不僅要有“上報(bào)數(shù)據(jù)”的代碼還要有“接收下行消息”的解析邏輯。這需要用到串口接收中斷和消息隊(duì)列復(fù)雜度比單向上報(bào)高一些。做的時(shí)候先保證上報(bào)能通再擴(kuò)展下行控制不要一上來就同時(shí)做雙向通信。8. PCB 設(shè)計(jì)從原理圖到打板8.1 設(shè)計(jì)流程如果項(xiàng)目要出實(shí)物板推薦用嘉立創(chuàng)EDA立創(chuàng)EDA這類國產(chǎn)工具流程短、上手快而且可以直接對(duì)接打板服務(wù)。基本流程新建工程畫原理圖添加 STM32F103C8T6、晶振、復(fù)位、電源、傳感器接口、繼電器驅(qū)動(dòng)等器件進(jìn)行 ERC 電氣規(guī)則檢查修正未連接網(wǎng)絡(luò)生成 PCB先擺好核心器件位置再進(jìn)行布線鋪銅、添加絲印、檢查開路短路導(dǎo)出 Gerber 文件上傳打板也可以直接在 EDA 內(nèi)使用在線下單。8.2 PCB 布局與布線要點(diǎn)廚房安全監(jiān)測(cè)板屬于混合電路板既有 3.3V 數(shù)字電路又有繼電器這樣的功率電路。布局時(shí)最忌諱把大電流線路與敏感傳感器線攪在一起。幾個(gè)實(shí)用原則按模塊分區(qū)STM32 最小系統(tǒng)放中間ESP01S 放一側(cè)繼電器放另一側(cè)傳感器接口放邊緣電源走線加粗5V 和 GND 走線建議 30mil 以上繼電器控制線至少在 20mil 以上信號(hào)線 12mil 即可晶振盡量靠近 STM32 的 OSC 引腳走線要短且不要平行長距離走線模擬地和數(shù)字地可以先用磁珠或 0Ω 電阻連接重點(diǎn)保證 MQ-2 的 ADC 采樣穩(wěn)定絲印字號(hào)不要太小打板回來后要能看清接口標(biāo)識(shí)繼電器下方銅皮要留足必要時(shí)加開窗避免散熱和機(jī)械應(yīng)力導(dǎo)致焊盤脫落。8.3 常見 PCB 設(shè)計(jì)問題熱搜詞里有很多 PCB 相關(guān)問題比如“gerber 文件轉(zhuǎn)成 pcb 文件”“pcb 板廠鉆孔工序”“pcb 添加 ole 文件對(duì)象”等。站在新手角度最容易忽略的是下面幾個(gè)Gerber 文件是生產(chǎn)文件不是可以繼續(xù)編輯的 PCB 工程文件。需要修改板子時(shí)要回到 EDA 工程里改而不是去處理 Gerber打板時(shí)板廠會(huì)按廠商件和標(biāo)準(zhǔn)工藝區(qū)分最小線寬、線距、孔徑。下單前先查看所選工藝參數(shù)不能想畫多細(xì)都行鉆孔文件Drill通常和 Gerber 一起打包轉(zhuǎn)格式時(shí)不要把鉆孔文件漏掉否則板子無法打孔PCB 絲印模糊通常是因?yàn)樽煮w太小或線寬過細(xì)設(shè)計(jì)階段就要檢查絲印規(guī)則。9. 常見問題與排查思路整理一份完整排查表覆蓋這套系統(tǒng)從焊接、燒錄到上云過程中最高頻的問題問題現(xiàn)象可能原因排查方式解決方案error: no stm32 target found! if your product embeds debug authenticationST-Link 連接不穩(wěn)定、芯片鎖死、供電不足檢查 SWDIO/SWCLK 和 GND 接線測(cè) 3.3V 電壓按住復(fù)位再點(diǎn)下載用 STM32 ST-LINK Utility 連接按復(fù)位期間燒錄必要時(shí)設(shè)置 BOOT0 拉高Keil 編譯報(bào)錯(cuò)找不到器件未安裝 STM32F1 器件支持包打開 Pack Installer 確認(rèn)在 Pack Installer 中安裝 STM32F1xx 系列支持包Keil 打開 C51 項(xiàng)目后無法編譯 STM32編譯器版本不對(duì)查看 Options for Target 中的編譯器設(shè)置選擇 ARM Compiler確保工程文件是 MDK 工程串口打印亂碼波特率不匹配檢查串口助手和 MCU 初始化波特率統(tǒng)一為 115200ESP01S 上電后不響應(yīng) AT供電不足 或 CH_PD 未拉高測(cè)量 VCC 電壓是否穩(wěn)定 3.3V檢查 CH_PD 引腳使用獨(dú)立 3.3V 穩(wěn)壓CH_PD 接 10K 上拉ESP01S 連接 WiFi 失敗SSID/密碼錯(cuò)誤、路由器是 5GHz 或加密方式不支持檢查 AT 返回的 ERROR 碼使用 2.4GHz 路由器確認(rèn)賬號(hào)密碼必要時(shí)重置 WiFi 配置OneNET 連接失敗設(shè)備鑒權(quán)信息不對(duì)、接入地址端口錯(cuò)誤查看 MQTT CONNECT 返回碼以 OneNET 控制臺(tái)接入文檔的參數(shù)為準(zhǔn)不要照抄老教程數(shù)據(jù)上傳成功但平臺(tái)無數(shù)據(jù)Topic 或數(shù)據(jù)流字段名不一致在平臺(tái)查看設(shè)備日志和原始上報(bào)數(shù)據(jù)統(tǒng)一 Topic 與 JSON 字段名小程序設(shè)備離線ESP01S 掉線或網(wǎng)絡(luò)異常檢查 ESP01S 供電與 WiFi 信號(hào)增加斷線重連機(jī)制定時(shí)發(fā)送心跳繼電器不動(dòng)作GPIO 驅(qū)動(dòng)能力不足或三極管接線錯(cuò)誤測(cè)量繼電器控制端電壓使用三極管/ULN2003 驅(qū)動(dòng)并聯(lián)續(xù)流二極管PCB 下載程序時(shí)報(bào)芯片找不到焊接虛焊、BOOT0 未接地、晶振不起振檢查 STM32 最小系統(tǒng)焊接和供電重新焊接關(guān)鍵引腳檢查晶振和復(fù)位電路PCB 打樣回來后絲印看不清絲印線寬過細(xì)在 EDA 中檢查絲印層調(diào)整絲印最小線寬一般在 10mil 以上這里特別要提一下stm32 virtual com port 嘆號(hào)這個(gè)問題。很多 STM32 板子通過 USB 虛擬串口連接電腦時(shí)設(shè)備管理器里會(huì)出現(xiàn)黃色感嘆號(hào)本質(zhì)是缺少驅(qū)動(dòng)。遇到這種情況先裝 STM32 的 VCPVirtual COM Port驅(qū)動(dòng)再檢查 USB 線是否只供電沒有信號(hào)線。還有一種情況是板子的 USB D 上拉電阻沒有接好這種屬于硬件問題。10. 最佳實(shí)踐與工程建議10.1 代碼層面的工程化建議不要把所有邏輯都塞在 main 函數(shù)的 while 循環(huán)里。推薦至少拆成幾個(gè)模塊傳感器采集模塊負(fù)責(zé)讀取原始數(shù)據(jù)并校驗(yàn)數(shù)據(jù)上報(bào)模塊負(fù)責(zé)拼裝 JSON、通過串口發(fā)送 AT 指令控制模塊負(fù)責(zé)本地閾值判斷、繼電器和蜂鳴器動(dòng)作串口接收模塊負(fù)責(zé)處理 ESP01S 返回的下行數(shù)據(jù)。每個(gè)模塊之間通過結(jié)構(gòu)體或全局狀態(tài)機(jī)傳遞數(shù)據(jù)。這樣做的好處是調(diào)試時(shí)能快速定位問題也方便答辯時(shí)講清楚代碼結(jié)構(gòu)。另外一定要打開編譯器的 warning 提示盡量做到零 warning。很多人把 warning 當(dāng)回車鍵跳過結(jié)果上電才發(fā)現(xiàn)某個(gè)變量未初始化產(chǎn)生隨機(jī)值導(dǎo)致系統(tǒng)行為不可預(yù)期。10.2 安全邊界廚房安全系統(tǒng)的核心價(jià)值是“不安全時(shí)能報(bào)警”而不是“網(wǎng)絡(luò)通暢時(shí)才安全”。因此設(shè)計(jì)時(shí)要注意本地判斷優(yōu)先即使無法上云也要保證本地蜂鳴器和繼電器能響應(yīng)斷電恢復(fù)意外斷電后重新上電系統(tǒng)能自動(dòng)恢復(fù)初始化而不是停在異常狀態(tài)傳感器臟污處理MQ-2 長時(shí)間使用會(huì)漂移要定期校準(zhǔn)基準(zhǔn)值或加自動(dòng)標(biāo)定邏輯閾值可配置默認(rèn)閾值只是演示值正式使用要根據(jù)安裝環(huán)境重新標(biāo)定。10.3 不斷線重連ESP01S 在長時(shí)間運(yùn)行時(shí)可能掉線。工程上要有一個(gè)“連接狀態(tài)檢測(cè) 自動(dòng)重連”的機(jī)制定期檢查是否收到 OneNET 的響應(yīng)如果超過 N 秒沒有消息就重新執(zhí)行 WiFi 連接和 MQTT 連接流程。這里要注意反復(fù)快速重連可能會(huì)被路由器或云平臺(tái)臨時(shí)封禁所以重連間隔要加退避比如第一次 5 秒、第二次 10 秒、之后 30 秒。10.4 答辯與文檔準(zhǔn)備如果是畢業(yè)設(shè)計(jì)除了代碼跑通還要提前準(zhǔn)備好以下材料系統(tǒng)框圖、時(shí)序圖、狀態(tài)機(jī)圖關(guān)鍵模塊的測(cè)試記錄比如 AT 指令聯(lián)調(diào)日志、數(shù)據(jù)上報(bào)日志PCB 原理圖、Gerber 文件、BOM 清單小程序截圖和演示視頻。關(guān)鍵是講清楚“我為什么這么做”而不是只講“我做了什么”。比如為什么選擇 MQTT 而不是 HTTP為什么本地也要做判斷為什么電源要獨(dú)立穩(wěn)壓這些問題在答辯時(shí)被問到的概率極高。10.5 擴(kuò)展方向這套系統(tǒng)做完之后可擴(kuò)展的方向很多把 DHT11 換成 SHT30提高溫濕度精度加入 OLED 顯示屏本地可視化數(shù)據(jù)接入攝像頭實(shí)現(xiàn)遠(yuǎn)程廚房看護(hù)換成 4G 模塊如合宙 Air724 等擺脫 WiFi 依賴把 OneNET 換成自建 MQTT 服務(wù)器學(xué)習(xí)更底層的數(shù)據(jù)流轉(zhuǎn)過程。11. 總結(jié)STM32 廚房安全監(jiān)測(cè)系統(tǒng)不是一個(gè)“高大上”的選題但它非常典型它把單片機(jī)編程、傳感器接口、串口通信、WiFi 模塊 AT 指令、云平臺(tái) MQTT 接入、小程序 API 調(diào)用、PCB 設(shè)計(jì)這些物聯(lián)網(wǎng)核心技術(shù)點(diǎn)串成了一個(gè)完整閉環(huán)。真正值得你投入精力的不是背下某一條 AT 指令也不是記住某個(gè)平臺(tái)按鈕的位置而是理解“端-云-應(yīng)用”這條數(shù)據(jù)鏈路的連接方式。做完這個(gè)項(xiàng)目你手里就有一套可以遷移到很多物聯(lián)網(wǎng)場(chǎng)景的“骨架”。建議動(dòng)手順序也很明確先用最小舵機(jī)跑通單點(diǎn)上報(bào)再做本地控制最后接小程序和 PCB。這樣每一步都有可驗(yàn)證的產(chǎn)出不容易卡在最后聯(lián)調(diào)階段。建議把這篇文章收藏備用按章節(jié)逐步實(shí)踐。如果你遇到某個(gè)環(huán)節(jié)卡住優(yōu)先對(duì)照“常見問題與排查思路”表格絕大多數(shù)問題出在供電、接線、串口參數(shù)和平臺(tái)鑒權(quán)這四類原因上。祝你的廚房安全系統(tǒng)順利落地。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色综合中文色综合网| 中文字幕无码人妻少妇免费视频| 草了bav视频在线观看| 五月天婷婷五月| 国产精品人成A片一区二区| 亚洲色色图片| A片天天| 欧州色色| 五月丁香久久综合精品| 91人人网| 1769在线观看欧美国产| 国产亚洲成AV人片在线观黄桃| 熟女激情网| 97人人妻人人艹| 991国产精选视频在线播放下载| enecarbon-materials.com污K127封锁请涟系@wip1688 | 九九大香蕉黄色影院| 大香蕉在线99热| 熟女婷婷网站一婷婷五月一丁香婷婷一婷婷激情网| 亚洲av午夜精品一区二区| 五月天激情四射网站| 色波激情五月天| 久久丁香五月天| 天天爽天天做| 99热只有这里才是精品| 91久久综合亚洲鲁鲁五月天| 精品动漫 无码av| 丁香五月天激情综合| 性生活久久朋友人妻| 亚洲日本激情| 亚洲天堂亚洲色色色| 另类激情四射| 日本97在线| 天堂综合久| 亚洲成色综合网站免费观看| 天天狠天天狠| 秋霞三级色戒| 插插插丁香五月婷婷| 91在线看免费 九九九九| 国产精品99久久久久久久女警 | 丁香五月AV| 婷婷五月天开心激情网| 日日夜夜爽| 欧美色播综合在线观看| 欧美图片丁香五月天| 五月丁香久| 天天做天天爱天天玩夜夜爽| 婷婷五月天香蕉| 五月婷婷亚洲综合网| 99黄色性生活| 欧美天天五月丁香免费观看| 狠狠五月天婷婷| 怡红院 久久| 婷婷爱五月| 亚洲色图五月丁香五月婷婷| 亚洲天堂有码| 99久超碰| 婷婷五月天成人在线视频| 香蕉AV777XXX色综合一区| 婷婷色婷婷| 五月天婷婷中文字幕在线播放| 国产精品社区| 婷婷五月丁香啪啪| 99热思思在线观看| 99免费视频精品| 天天干天天日日| 国产成人AV在线播放| 婷婷中文综合网| 热91久| 777米奇影视第四色| 99无码| 五月婷婷av| 超碰在线国产| 色欲五月丁香| 日韩在线视频网站| 狠狠干天天内射| 日日夜夜青青草| 丁香五月婷婷亚洲综合精品在线| 翔田千里 50岁 无码| 深爱激情丁香| 99热这里精品| 五月精品99综合| 色久一| 五月丁香黄色| 婷婷六月激情啪啪| 99热99热不卡| 激情六月色| 碰97久久| 五月天丁香婷婷网| 91人人操.COM| 性生活久久人妻| 激情五月天无人视频在线| 96丁香六月婷婷蜜桃综合久久| 99热在线免费观看精品| AV人人操| BBWCUCKOLD精品熟妇| 成人精品免费在线观看| 日本色色色| 亚洲精品乱码久久久久99| 日本精品99| 99热这里只有精品21| 亚洲色 视频| 久久精品人妻| 人妻丰满精品一区二区A片| 综合五月激情| 婷婷成人综合免费视频| 色噜噜狠噜噜视频| 大色鬼综合| 五月婷中文娱乐综合| 丁香五月之久操视频| 日韩性爱无码| 九月婷婷丁香| 婷婷娌伦网| 人妻操日日| 久热 91| 五月天亚洲最大成人| 五月婷婷深深的爱| 五月天激情四射网站| 五月丁香六月欧美综合网站| www.sebowuyue| 99色丁香婷婷综合网| 五月丁香六月婷婷激情视频在线观看免费| 免费看欧美成人A片无码| 久久婷婷视频| 天天综合网91| 99久久精品国产色欲| 五月丁香影视| 色欲婷婷夜夜| 五月丁香综合在线| 五月丁香猫咪久久婷婷综合视频激情四射网入口| 丁香5月啪啪| 五月婷婷深深爱| 国产精品91抖高| 亚洲视频二区| 五月激情婷婷丁香| 成片免费播放| 国产 亚洲 在线| 九九99精品免费播放| 色综合色综合网| 99爱在线免费视频| 99免费在线视频| AV美美午夜| 日本人妻A片成人免费看片| 31色区视频免费看| 婷婷五月色播网| www.minyis.com【JT】实力收量可预付QQ2101460746 | 五月婷婷天天色| 大香线蕉伊人| VA色婷婷| 日日干天天爽| 熟女激情网| 激情五月婷婷五月丁香五月开心五月| 99久在线精品99re8热| 色播五月丁香综合| 色久丁香五| www.色色com| 狠狠爱综合| 五月天成人免费视频| 日B日潘金莲BB| 丁香五月婷婷丫| 色999五月色| 天堂A∨在线| 色婷婷A| 青青草原伊人网| 国内婷婷丁香社区在线播放| 开心五月网| 色色爽爽天天| 99色在线视频| 五月天婷婷深深爱| 六月婷婷最新网址| 九九99精品视频在线观看| 婷婷激情人妻| 97色色色色色| www好屌操| 国产古装妇女野外A片| 性爱五月丁香| 欧洲色色| 深爱激情五月婷婷| 人妻激情在线| 欧美精品99久久久| 丁香婷婷深情五月亚洲| 任你爽视频| 这里只有精品视频在线| 成 久久| 热99玖玖99玖玖99九九| 91九色在线视频| 日本三级黄色大片| 国产毛片操B| 天天天综合网| 99操视频| 狠狠色婷| 99久视频| 人人干人人看| 丁香五月日啪| www.综合久久.com| 男人天堂99| 九热视频| 久久丁香网| 久婷五月| 婷婷激情欧美| 丁香五月综合| 啪啪啪丁香五月| 99网99热| 欧美97p| 99精品成人无码A片观看金桔| 久久久99久久| 曰本久久女| 天天做天天爱天天爽| 六月丁香大香蕉| 亚洲AV成人在线| 丁香五月停停av| 色综合九九色综合88| 婷婷六月天| 色综合天天网| 超碰激情网| 国产精自产拍久久久久久蜜| 99re免费精品视频| 天天干狠狠| 亚洲欧洲另类| 天堂在线9| 大地资源色婷婷视频在线| 婷婷五月花免费视频在线| 亚洲中文字幕翔田千里| 日本va欧美va国产激情| 日韩AAAAA| 丁香婷婷激情综合五月激情| 人妻视频在线| 婷婷五月激情五月丁香五月| 国产精品99久久久久久久女警| 思思热99er在线视频| 人妻中文字幕精品| 91久久久久久久久久18| 六月丁香网| www.婷婷| 五月丁香六月综合激情无码软件亮点| 91九色小视频| 伊人狠狠色婷婷综合丁香一区| 五月丁香激情综合啪啪| 五月天色影院| 色吧五月婷婷| 婷婷精品性性性性性性性| 五月丁香六月婷婷,婷| 人人爽欧美婷婷久久久五月丁香 | 国产精品99久久久久久久女警 | 日本在线wwww| 久久婷婷超碰| ..真实国产乱子伦毛片| 激情五月色婷婷| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 99热地址| 26uuu精品国产| 久草热在线视频| 五月欧美色色五月| 五月婷婷色吧!| 五月丁香狠狠爱| 丁香六月婷婷综合啪啪| 久久久久久久久久久44| 精品欧美一区二区三区久久久| 人妻久久久久久久久久| 五月丁香花婷婷玉莉AV| 欧美婷婷综合| 丁香五月欧美午夜视频| 99久在线精品| 超碰在线国产| 五月丁香啪| 九九aV| 99热这里只是精品| 大地资源色婷婷视频在线| 都市激情蜜桃婷婷五月天 | 九九久久精品| 97人人射| 狠狠色丁香| 九九色99| 九九色色| 牛牛澡牛牛爽| 无码人妻少妇色欲AV一区二区| 五月天四色房丁香亭亭| 亚洲无码99| 夜夜爱网站| 99久久五月婷婷| 色婷婷亚洲六月婷婷中文字幕| 丁香五月,开心五月,成人婷婷| 日本偷拍九九九| 亚洲一二三网| 日本韩国视频在线观看社区免费的9| 久久亚洲激情五码| 性av| 人妻丰满精品一区二区A片| 麻豆AV一区二区三区| 国产偷人爽久久久久久老妇APP| 亚洲成人影视在线观看| 超碰v| 老妇六区| 玖玖在线视| 噜噜干日本| 99精品在线观看| 成人深爱丁香五月| 丁香六月婷婷一区二区三区| 99热偷拍| 五月天激情电影| 蜜桃人妻无码AV天堂三区| 五月天丁香婷婷久久九| av久热| 梁铮版蜘蛛女在线观看| 丁香婷婷基地| 日日夜夜天天| 久久色五月天| 中文字幕在线免费| 久久久久久丁香五月| 99热在线播放| 婷婷在线中文字幕| 欧美日韩123| 丁香五月激情宗合| 狠狠色综合精品视频在线| 天堂色婷婷| 久热9| 久久丁香五月天| 九九色婷婷| 丁香激情网| 色中色综合| 色五月成人在线| 开心五月天激情网| 5月丁香美女影院| 天天综合五月天| 五月天第四色开心色播| 99九九热在线观看| 九九伦子片| 亚州精品色情无码A片| 互月天综合| 亚洲AV综合在线观看| 日韩黄色中文字幕| 九九热99re8热免费观看| 六月丁香婷婷在线波多| 国产人妻人伦精品一区二区 | www.av视频xx999.com| 五月丁香无码| 中文字幕丰满孑伦无码专区| 亚洲人妻AV| 深情五月天| 婷婷五月色情| 久久青草国| 丁香五月婷婷姐| 91丨九色丨熟女丰满| 91 九色大美女| 国产精品久久久久久白浆色欲| 影音先锋按摩| 激情久久久久| 色欲五月婷婷| 天天色天天操天天射| 日日躁夜夜躁狠狠久久AV| 黄色国久久| 五月丁香久久| 99色在线| 日本精品在线噜噜噜| 中文字幕 久久9999| 亚洲av骚货| 大香蕉欧美在线| 亚洲色亚洲精品| 欧美成人精品三区综合A片| 99福利导航| 日日天天操| 婷婷五月色天| 婷婷激情五月天天天开心| 狠狠爱婷婷爱| 欧美va视频| 99视频只有这里精品| 亚州美女| 综合狠狠五月婷婷| 99视频在线9| http://www.lingjunshare.com/ | 丁香六月啪| 无码se| 日本熟女内射| 韩日另类| 激情六月日韩| 婷婷色基地在线看 | 丁香色情五月综合激情| 激情五月婷婷网| 欧美性生交xXxX久久久| www.开心激情| 五月婷婷色色网址| 五月丁香六月综合激情网| 国产精品久久久久久久久久免费 | 九九热视频思思| 五月婷A V在线| 久久 这里只有精品1| 黄色国久久| 激情五月天激情网| 色婷婷av综合网| 十月色综合| 91oumei| 开心五月激情网| 久久综合首页| 99久久综合网| 91操碰| 天天爽天天| 六月丁香婷婷尤物| 噼里啪啦在线观看免费完整版视频| 99久久97久久欧美综合网| 丁香五月影院| 全网最新网黄大秀直播高清,主播国产录屏在线| 99在线精品观看99| 欧美久草在线日本一级特黄大片做受9在线观看韩国电影《两个女人》未删减-毛片 | 操操天堂| 欧美激情综合五月色丁香| 婷婷五月天天天日日夜夜| 人妻体体内射精一区二区| 狠狠干青青草| 色婷婷天堂| 五月婷婷香| 婷婷五月天亚洲色| 91在线日本| 五月婷婷在线视频| 日韩五月丁香| 99日本黄站| 婷婷五月天激情开心网| 激情五月激情综合网一级丸片 | 久激情| 亚州色色色| 婷婷亚洲五月丁香综合在线 | 丁香五月伊人| 久久五月网| 性爱五月婷婷| 国产偷人爽久久久久久老妇APP| 国产伊人五月天| 99色综合| 狠狠操.COM| 二级黄色毛片| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 青青五月天婷婷| 大香蕉视频99| 国产人妻人伦精品一区二区| 99精品无码网站| 99九无网码| 熟妇无码乱子成人精品| 中文字幕永久免费| 久久久免费精彩视频| 五月亭亭六月色| 婷婷丁香综合网| 久久丁香五月婷婷| 99热这里有精品| 婷婷色在线播放| 九九99免费视频| 99免费综合网| 丁香五月婷婷AV| 日韩久久系列| 欧美性色A片免费免费观看的| 人妻在线中文字幕久久| WWW,色五月| 97操| 国产小精品| 五月熟妇婷婷久久| 天天肏视频| av人人操| 成人在线免费网址| 久久密臀婷婷| 丁香五月婷婷啪啪视频| 国内一级片| 色香欲综合| 99热免费精品| 午夜成人天堂久久无码日韩久久| 婷婷色香六月综合激情| 人人色人人摸人人看| 日韩成人精品中文字幕电影| 少妇2做爰HD韩国电影| 久久综合中文| 久久婷综合| 婷婷丁香九月| 婷香五月| 五月激情小说| 视频一二区| xxx.色婷婷| 五月天激情国产综合婷婷婷就去爱| 熟妇无码乱子成人精品| 狠狠穞A片一區二區三區| 综合色色色| 色色综合网站| 激情综合网五月婷婷| www.99热这里只有精品| 激情六月婷婷| 激情六月丁香| 播播网色播播| 久久婷婷五月综合色欧美| 一本大道嫩草AV无码专区| 五月色网| 欧美亚洲色色色色| 日韩有码一区| 婷婷五月网图片区| 婷婷伊人网| 天天操夜夜爽天天操| 六月丁香婷婷五月天| 精品99这里有| 狠狠狠狠操| 免费五月婷婷网| 婷五月天| 丁香色婷婷五月天| 97色婷婷| 久久婷婷草| 天天操天天曰天天射| 极品人妻VIDEOSSS人妻| 激情五月天婷婷丁香| 欧美熟妇一区二区三区| 99色婷婷视频| 国产超碰在线| 思思99热这里只有精品6| www.亭亭五月天| 少妇性按摩无码中文A片| 99九九热在线观看| 五月婷婷香| 日本熟妇乱妇熟色A片蜜桃| 99久久综合狠狠综合久久| 激情色情五月天| 成熟妇人A片免费看网站| 国内精品免费一区二区2009| 91久久99久久91熟女精品| 麻豆AV一区二区三区| 久草丁香婷婷1024| 成人无码精品1区2区3区免费看| 99热这里是精品| 91丨九色丨东北熟女| 亚洲精级| 久久这里精彩免费在线观看| 亚洲色A| www.9797国产| 性爱激情五月| Www.Av网9| 亚洲av成人在线| http://www.lingjunshare.com/| 五月丁香综合伦理片| 99色精品| 在线理论片| 99九九在线视频| 97人人操人人干| 五月天婷婷五月| 5月色婷婷| 99热费观看| 久久五月天网| 婷婷五月激情四射手| 五月婷婷婷综合网| 婷婷激情五月天视频在线| 久久免片| 91精品国产综合久久久不卡电影| 中文字幕成人日韩| 狠狠色丁婷婷日日,伊人激情综合网 | 狠狠综合| 可以免费看av网站| 欧美色色色色色| 亚洲丁香婷婷| 精品久久99码| 六月婷婷八月丁香| 久久99大| 我爱婷婷五月天综合88| AAA久久| 99riAV国产精品视频| 五月开心深深爱激情综合| 能看的AV| 成人欧美一区二区三区在线观看| 五月草视频| http:色情日本com| 五月丁香六月婷婷免费视频| 公的粗大挺进了我的密道| 啪啪五月婷婷| 五月丁香亚洲综合网| 色五月天婷婷| 狠狠色狠狠色综合日日91| 美女婷婷六月色| 99热免| 91疯狂操操操操| 激情婷婷五月女| 思思热在线视频99| 精品一二三区久久AAA片| 狠狠操狠狠插| 婷婷五月AV| 五月天久久丁香| 成人龟情网丁香五月| 精品无码av丁香五月激情| 99自拍视频在线观看| 91精品国产99久久久久久天美| 久久黄色免费视频| 丁香五月天社区| 91啦丨九色丨刺激中文| 久久机热/这里只有精品| 九久久九精品视频| 日本在线va| 99在线热视频| wwwss在线观看| 婷婷五月丁香综合亚洲 | 91日视频| 看黄的网站18禁| 99精品在线观看| 色色色色av777| 久久久潮喷-久久久九九-成人AV| xfplayav在线| 色婷婷AⅤ| 在线观看免费狠狠色丁香香综合| 91AV视频| 天天做天天爱天天爽| 丁香激情合作五月| 久热婷婷在线视频| www.99视频| 久久五月天激情视频| 亚洲日本三级片| 能看的AV| 综合xx网| 日本毛片内射| 色婷婷成人做爰A片免费看网站| 91精品婷婷国产综合久久| 丁香六月综合激情| 婷婷综合激情| 99热久久这里只有精品| 丁香五月天堂网AV| 中文字幕网伦射乱中文| 国产精品人人妻人人爽| 做爱夜夜干天天操| WWW.久久久久久久久久久久久| 99色免费视频| jiqingtaose五月天| 五月丁香婷婷钟和色图| 丁香婷婷色五月| 亚洲va欧美va国产综合久久久| 99在线视频操999| 久久五月天视频| 狠狠色狠狠鲁| 超碰在线免费| 一区无码| 日本一级黄色电影| 日本三级中文字幕| 人人草人人爱手机视频看看| 久99热| 自拍视频99| www.久久| 操逼棍操逼| 日韩欧美一级大黄网站| 久久精品五月| 丁香五月激情久久麻豆| 五月丁香综合| www.99婷婷| 精品无码99| www久久五月com| 色情五月天。| 婷婷丁香五月天欧美| 国产avapp 网| 亚洲久艹| 五月停亭久久电影| 三级片AAA久久久AAA久久久AAA| 天天干天天 亚洲| 中美日韩成人在线| 在线视频99| 五月婷无码| 无码少妇高潮喷水A片免费| 久操综合| 91日日日| 日本九九网| 99亚洲无码| 67194成I人在线观看线路1| 日韩AV中文字幕在线| 丁香88AV五月婷婷| 国产精品久久久久久久久久| 丰满人妻一区二区三区| 99亚州综合精品成人网| 玖玖资源站蜜臀| 婷婷深爱五月亚洲综合| 99这里的视频都是精品| 五月天天天操天天爽夜夜操| 婷婷五月小说色综合| www色五月| 人人干99| 丁香激情网| 99九九视频精彩在线| 免费看片操逼| 嫩草视频观看| 婷婷婷久久久| 丁香九九九九| 97色在线| 五月婷婷激情四季| 91丨九色丨熟女丰满| 五月天AV大香蕉| 超碰成人AV| 婷婷天堂视频| 久久五月激情综合| 色综合色色| 五月6香色婷婷视频| 欧美日本VA| 色狠狠激情五月| 操国产人妻| 人人色AV| 激情www| 91人操人人人操人| 91碰碰| 婷婷性爱| 婷婷色综合网日韩国产| 一操久久| 超碰狠狠操| 色丁香在线视频| 99色一| 性综合网| 99爱视频免费| 不卡在线超碰| 五月婷婷黄色毛片| 国产成人+综合亚洲+天堂| www久久五月com| 99久久综合网| 狠狠干激情五月| 五月天婷婷无码视频| 久久婷婷五月天激情四射| 色日本五月天| 永久精品| 九九色中文| 91黄址| 婷婷丁香午夜综合影视| www.狠狠艹| 人妻自慰高清合集| 色色综合网站| 国产又色又爽又黄又免费| 9色在线视频精品观看| 大香网伊人久久综合| 99er在线观看| 操逼五月天| 五月丁香婷婷久久| 久色网五月| 丁香六月啪啪啪| 影音先锋男人女人| 玖玖综合色| 五月丁香另类网| 综合99综合久久久久久久| 国产99久久久国产精品免费看| 日本综合久久| 超色欲天天| 91精品熟女| 99视频久久| 国产精品涩涩涩视频网站| 51XX嘿嘿午夜无码| 插少妇综合网| 六月激情婷婷| 九热视频精品| 色丁香婷婷美女视频网站| 丁香激情久久| 99re久热| 久热 91| 激情宗合哪里能看| 亚洲欧洲午夜成人精品av| 欧美性生交XXXXX无码小说| 丁香五月天久久| 天天色综和网| 99亚洲视频| 亲子乱AV-区二区三区| 色丁香五月婷婷婷| 九九色热视频| 亚洲精品又粗又大又爽A片| 五月婷无码| 国产成人VA| 婷婷五月天激情网| 哇嘎成人久久| 人人爽欧美婷婷久久久五月丁香| 99在线视频资源| 激情五月婷色| 这里只有精品视频一区| 人妻体体内射精一区二区| 狠狠综合| 九久9精品| 2017人人操| 天天爽天天爽视频| 91碰碰视频在线观看| 五月永久激情| 五月天婷婷綜合院| 九九人人看| 精品无吗va视频免费观看| seuuu婷婷| 激情婷婷五月黑人| 国外亚洲成AV人片在线观看| 色色色99韩| 色噜噜综合网| 99色最新在线视频| 久热大香蕉| 免费的日逼视频| 色婷婷五月综合| 中文字幕婷婷五月天| 九月丁香| 天天色天天搡| 五月天成人综合| 激情五月五月五月婷婷| 伊人丁香五月| 中文字幕在线免费看线人| 亚洲性爱干干| 五月丁香综合激情| 超碰无码318604| 玖玖爱综合网| 欲求不满的人妻| 五月天婷婷无码视频| 亚洲第一影院高清无码网站| 天天做天天爱| 久久女人天堂| 丁香五月综合高清在线| 深爱激情五月婷婷| 情欲综合网| 午夜伊人大香蕉| 日韩在线五月天婷婷| 99久久五月婷婷| 天天色天天日| 色婷婷亚洲婷婷| 婷婷五月天av| 亚洲激情区| 亚洲电影中文字幕| 激情婷婷丁香五月天| 开心五月婷婷激情| 少妇人妻人伦A片| 久热播这里只有精品| 国产精品岛国片在线观看免费| 亚洲va欧美va国产综合久久久| 中文字幕网伦射乱中文| 深爱五月婷| 4399人妻无码久久久| 狠狠搞狠狠操| 丁香五月婷婷欧美成人色图| 婷婷久久影院| 天天插天天插天天插天天插| 五月丁香人人婷婷在线观看| 超碰五月婷婷五月天| 色偷偷色婷婷| 激情五月婷婷伊人| 九九九九九九毛片| 九九精品免费| 99无码黄色视频| 中文字幕视频在线播放| 99噜噜噜在线播放| 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 依人大香蕉| 影音先锋秋秋五月婷婷| 99热新网址| 伊人五月久久| 日韩在线99| 99久久国产宗和精品1上映| 噜噜噜久久| 伊人久久婷婷五月天激情四射| 久久久天堂国产精品女人| 综合激情视频| 日本在线免费中文com.| a在线免费v| 无遮羞AV| 啪啪一区| 九九热在线99| 欧美日韩大黄| 九九干视频| 99精品偷自拍| 伊人久久艹| 色欲久久久久| 秋霞三级影视资源| 一月婷婷色色| 九九无毛| 激情综合五月天| www色五月| 色五月丁香伊人| 五月激情婷婷开心五月| 成人网站免费在线播放| 操逼视频网址| 中文成人在线| 五月天激情小说| 天天插天天日| 亚洲狠狠狠| 五月天婷婷六月激情网| 超碰人人91| 久久久久99精品成人片| 91人妻色色网| 黄网在线免费播放| 亚洲另类AV| WWW色五月| 丁香网站| 狠狠搞狠狠操| 亚洲AV成人片无码网站| 婷婷久久色| 激情五月天婷婷免费观看| www.91婷婷| 极品九九九九九九| 第四色色色色色丁香五月天| 国产精品A成V人在线播放| 婷婷六月综合激情| 91九色精品熟女内射| 天天插天天射| 五月天激情久久| 婷婷五月丁香六月伊人网| 亚洲丁香花色| www,久久久| 丁香五月在线自慰| 日韩AV在线免费观看| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 99热在线里有精品| 99热情这里只有精品在线播放| 永久天堂日本| 大香蕉丁香五月| 香港九九六区八区99| 五月天操逼激情| 综合色在线| 综合久久婷婷99| 婷婷操无码| 丁香五月婷婷老师网站| 丁香五月伊人| 久久9热综合| 婷婷五月天毛片| 久久亚洲天堂| 久久视9精| 亚洲av另类在线观看| 波多婷婷久久| 99色在线视频观看| 光棍影院日韩精品| 五月丁香婷草| 五月丁香亚洲校园欧美| 亚洲色激婷| 五月丁香欧美综合免费视频| 久色五月| 99热这里只有精品青草| 人人操97| 久久99综合| av大片在线| 五月色亭丁香| 丁香花社区av| 五月丁香中文婷婷中文| 六月婷婷七月丁香| 色999亚洲人成色| 色婷婷六月激情| 天天做 天天爱| 无码色| 99热6精品| 亚洲乱码日产精品BD| 色天使久久综合| 大香蕉欧美在线| 成人av免费观看| 狠狠色性| 夜夜爱网站| 26uuu精品国产| 99人妻碰碰久久久禁片| 婷婷丁香www视频日本韩国| 中文字幕在线免费| 婷婷区日本| 五月天婷婷网站| 丁香五月激情啪啪| av色色国产| 成人AV片播放| www.99婷婷| 婷婷狠狠五月综合| 亚洲午夜一区二区| 六月色婷婷| 夜夜操,天天撸| 99综合免费视频| 99综合色色色| 91色噜噜狠狠狠狠色综合| 再次出发二| 欧美色婷婷| 99久热| 99九九热视频| 天天噜天天爱| 五月天综合网| AA片在线观看视频在线播放| 色婷婷情片| 九九九午夜影院成人| 久久五月婷婷丁香| 99原创自拍视频在线观看| 操逼视频一区| 97色色色视频| 日本丁香五月| 五月婷婷六月丁香玖玖玫瑰91| 8区视频在线| 色六月视频| 人人爱人人草| 天堂久久丁香| 久热这里只精品| 婷婷色导航| 丁香8月手机综合| 东京热免费视频| 日本高清综合网五月丁香| 五月婷婷六月激情| 色综合综合色| 午夜性爱影视一区77| 99精品一二三四视频| 色色丁香婷婷五月天| 丁香五月婷婷少妇| www超碰| 99超碰人人| 日日狠狠久久偷偷四色综合免费| 五月 激情视频| 精品9久| 丁香六月色情| 可以直接看的av| 五月激情在线| 大香蕉99| 精品人妻伦一二三区久久| 色九九中文字幕| 99热综合色图| 草婷婷在线| 可以免费观看的AV| 亚洲五月婷婷| 五月停停色色丁香| 丁香六月激情毛片| 亚洲狠狠干| 五月激情综合婷婷| Va另类视频| 99色干| 久碰婷婷视频| 亚洲无码yw| 久久久五月天网站| 婷婷五月天久久| 2005天天干天天1| 激情五月天激情综合网| 婷婷97色| 婷婷五月天亚洲综合网| 国外亚洲成AV人片在线观看| 日日操夜夜爽白洁| 五月婷婷丁香六月| 五月天日日操夜夜操 | 亚洲另类AV| 丁香涩涩爱| 亚洲情欲久久| 婷婷五月激情五月激情| 九九久99免费视频| 99热精品在线播放| 九九热99久久99| 九九久久网| 99在线视频女女视频| 国产成人亚洲综合A∨婷婷| 久久人五月| 日本WWW九九九| 九九99九九99九九99视频网| 色综合久久88色综合天天99| 五月刺激丁香月综合| 久久久妻人人人| 性爱综合网| 日韩AV色色色| 超级久久久| 97se视频在线| 日韩另类| 亚洲欧洲另类| 激情二色月| 日本97在线观看| 噜一噜在线| 91狠狠综合久久| 国产精品第一国产精品| 操逼在线视频| 日本不卡一区二区三区| 天天爽综合| 九九99男女视频在线观看| 五月色婷婷影院| 日日夜夜狠狠婷婷色| 亚洲字幕AV一区二区三区四区| 噜噜色五月| 激情亚洲五月| 99热在线播放| 婷婷五月激情的图片| 国产亚洲成AV人片在线观黄桃| 五月激情六月| 大香蕉220| 亚洲精品成人片在线播| 另类A片| 亚洲精品操一操、噜一噜、摸一摸、爽 | 日 日干 日日做| 色色五月丁香| 久久综合激情婷婷激情| www.91在线观看| 欧美成人精品A片免费一区99| AA丁香综合激情| 免费黄网不卡AV| 综合色播| 成人深爱丁香五月| 99精品久久久久久久久| 色噜噜婷婷| 人人操大| 青青草五月天| 超碰熟女拍拍| 成人va在线观看视频| 99re视频在线精品| 亚洲色网络| 五月开心深爱激情网| 草综合网| 超碰京东热av男人的天堂| 久久HD| 成人精品亚洲性爱| 色欲婷婷夜夜| 亚洲精品久久久久久久久久吃药| 青青草视频福利| 99re视频在线播放| 99精品视频免费观看近期发布| 色狠狠色综合| 五月丁香久久综合| 神马欧美精| 九月丁香八月婷婷加勒比| 狠狠xx| 色的色综合| 9l视频自拍9l视频自拍九色学生| 国产激情综合| 天干夜夜操| 婷婷五月天天| 狠狠综合| av无码电影| 中文字幕91,综合| 99在线观看| 丁香五月综合婷婷| 久热视频这里只有精品| 色吧五月婷婷六月丁香| 操操国产| 久久婷婷五| 操碰色一区就去操| 久久激情五月| 久久色区| 色色色综合网| 日本猛少妇色XXXXX猛叫| 婷婷五月天首页| 国产精品操| 丁香五月综合激情久久潮喷| 色99在线视频| 婷婷六月天激情| 欧美啄木乌丝袜人妻系列| 婷婷久久免费看| 超碰色女人| 99操网站| 9色资源在线| 国产露脸150部国语对白| 26uuu欧美| 久久久久久性爱视频| 五月丁香久久激情网| 激情99。| 99爱在线| www.狠狠操.co m| 久99视频| 婷婷无码视频| 欧洲综合视频| 另类图片激情五月| 97极品在线| 亚洲熟女乱色综合亚洲网站| 久久99免费视屏| 日韩久久日| 色综合女人99| 国产人人操| 婷综合六月| 美女91一起草| 小泽玛利亚视频一区二区| 久久大香免费| 伊人大香蕉在线视频| 美女伊人久久| 九九精品99久久久| 久久9久久| AV在线免费网站| 九热视频| 国产99热在线看| 色播五月婷婷综合| 深爱网深爱综合网| 99热99精品在线观看| 五月天色婷婷基地| 丁香婷婷免费| 99热在线中文字幕| 五月婷婷激情中心| 国产日韩亚洲欧美在线观看| 色色色9| 丁香五月开心亚洲| 亚洲欧美综合7777色婷婷| 99热精品在线播放| 欧洲色色| 超碰97在线观看免费| 禁片二区| 色色五月天网站| 五月婷婷黄色| 五月社区婷婷激情| 五月婷婷综合潮喷| 五月丁香人人婷婷在线观看| 99re最新地址| 激情 婷婷| 色五月婷婷在线| 丰满人妻妇伦又伦精品国产| 丁香婷婷五月综合欧美另类| 欧美毛卡| 伊人久久婷婷| 情五月亚洲婷婷| 五月婷婷丁香网| 伊人www22综合色| 丁香五月婷婷基地| 久久性都花花世界成人免费视频| 夜夜嗨一区二区三区直播内容 | 婷婷五月在线观看| 射婷婷中文字幕| 色站9/| 91综合国免费久入| 俺五月| 99热综合色图| 五月天激情小说| 婷婷五月乱交换| 99热老网站| 热99国产精品| 影音先锋人妻出差| 国产操碰| 亚洲综合五月天婷婷| www。五月,com| 爆乳熟妇一区二区三区爆乳照片| 大香蕉久| 丁香婷婷色五月天| 26uuu欧美宗合| 九九热在线视频观看| 99A片| 五月天社区| www色婷婷com| 欧美激情综合| 色婷婷先锋| www.婷婷,com| 激情综合亚洲| 99久久婷婷国产综合亚洲| 99色区| 99精品亚洲| 中国女人做爰A片| 超碰cap| 久久99热这里只有| 五月丁香六月欧美综合网站| 婷婷丁香18| 91丨九色熟女丨首页| 无码人妻激情| 婷婷五月视屏| 极品人妻VIDEOSSS人妻| 久久精品综合色| 日本五月视频| 99热网站| 亚洲综合婷婷五月| 五月婷六月婷婷| 丁香五月天色综合| 色婷婷超碰| 丁香五月伊人| 国产99久久久| 99热免费在线| 天天激情站| 91精品电影18T| 91 九色 熟女| 天天综合网~91综合网| 大地资源色婷婷视频在线| 天天插天天干| 一级片sese片.COM| 91婷婷丁香五月| 9久久网| 五月婷婷激情四月| 国产看真人毛片爱做A片| 丁香六月婷婷综合色| 玖玖婷婷五月天| xxxx久| 99热免费| 久久婷婷五月综合色欧美| 色欲Av五月天| 开心深爱激情网| √天堂资源在线人妻熟女| 久久久久人妻| 最新日韩久热免费视频看看| 婷婷六月视频| 亚洲AV日韩在线观看| 天天干天天操天天爱| 少妇搡BBBB搡BBB搡毛茸茸| 亚洲视频丁香网va| 99热免费| 丁香五月视频在线观看| 色爱综合网| 色激情综合狠狠婷婷| 亚洲综合在线视频| 色五月涩涩婷婷蜜桃| 操人91| 婷婷久久婷婷色五月| 天天插天天射| 亚洲婷婷丁香五月在线| 五月亭亭开心网| 综合亚洲六月婷婷在线| 夜夜爱网站| 久久性爱视频免费| 北京熟妇搡BBBB搡BBBB| 3p日韩网站视频| 色五月综合激情网| 五月开心深爱激情网|