久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

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

STM32廚房安全監(jiān)測系統(tǒng):ESP01S+OneNET+小程序全鏈路實戰(zhàn) 做物聯(lián)網(wǎng)畢業(yè)設計或競賽項目很多人不是卡在代碼難寫而是卡在“整條鏈路太長”。以廚房安全監(jiān)測系統(tǒng)為例你需要讓 STM32 采集溫濕度、煙霧濃度通過 ESP01S 將數(shù)據(jù)推到 OneNET 云平臺再在微信小程序里顯示并遠程控制繼電器。單看任何一個節(jié)點網(wǎng)上都能找到教程一旦要求它們聯(lián)調(diào)跑通各種問題就冒出來了——串口亂碼、AT 指令不返回、MQTT 連接失敗、小程序收不到數(shù)據(jù)……這篇文章的目的很明確幫你把這條鏈路完整走通。我會從系統(tǒng)架構(gòu)、硬件選型、STM32 驅(qū)動代碼、ESP01S 接入 OneNET、小程序?qū)?、PCB 設計到常見排錯按真實開發(fā)順序講一遍。內(nèi)容以 STM32F103C8T6 ESP01S OneNET 這套主流方案為主線同樣適用于智能家居、環(huán)境監(jiān)測、宿舍安防等類似選題。1. 這個項目解決什么問題物聯(lián)網(wǎng)畢設的真正難點先說一個觀察很多做 STM32 畢設或競賽項目的同學容易陷入“局部自嗨”的怪圈——傳感器讀取寫得滾瓜爛熟OLED 屏幕顯示也做得很好看但一提到上云就卡殼。為什么因為前面這些只是單片機基本功物聯(lián)網(wǎng)項目真正考核的是“端-云-應用”三層鏈路的數(shù)據(jù)閉環(huán)。所謂“鏈路打通”指的是傳感器數(shù)據(jù)能被 MCU 正確采集MCU 能把數(shù)據(jù)通過串口交給 WiFi 模塊WiFi 模塊能連上路由器、能連上云平臺云平臺上能正確創(chuàng)建產(chǎn)品、設備、數(shù)據(jù)流小程序/APP 能通過云平臺接口讀到設備數(shù)據(jù)、下發(fā)控制指令。任何一環(huán)斷了整個項目都不算完成。這套基于 STM32 的廚房安全監(jiān)測系統(tǒng)適合的讀者包括物聯(lián)網(wǎng)、電子信息、計算機相關(guān)專業(yè)的畢業(yè)生正在挑畢設題目準備參加電子設計競賽、互聯(lián)網(wǎng)、挑戰(zhàn)杯的學生團隊想完整掌握“STM32 云平臺 小程序”全鏈路開發(fā)但又缺乏項目經(jīng)驗的開發(fā)者。項目完成后你的成果物不只是“一個能報警的設備”而是一整套可以演示、答辯、擴展的方案一塊自研 PCB 底板集成了 STM32 最小系統(tǒng)、傳感器接口、繼電器驅(qū)動、ESP01S 座子一套 STM32 標準庫工程包含傳感器驅(qū)動、串口通信、AT 指令控制 WiFi 模塊的邏輯一個 OneNET 云平臺設備實例能生成 APIKey、數(shù)據(jù)流、命令下發(fā)一個微信小程序界面能實時顯示溫度、濕度、煙霧濃度并遠程觸發(fā)聲光報警或排風扇。這套鏈路本身也是物聯(lián)網(wǎng)行業(yè)里非常通用的能力。做完這個項目你已經(jīng)摸清了嵌入式上云的基本方法后續(xù)換傳感器、換 WiFi 模塊、換云平臺都是同一套思路的遷移。2. 系統(tǒng)總體架構(gòu)與核心選型邏輯2.1 四層架構(gòu)從數(shù)據(jù)流的角度看系統(tǒng)分為四層層級作用本項目的具體實現(xiàn)感知層采集廚房環(huán)境數(shù)據(jù)DHT11 溫濕度、MQ-2 煙霧濃度、火焰?zhèn)鞲衅骺刂茖犹幚頂?shù)據(jù)、執(zhí)行本地邏輯STM32F103C8T6 主控、繼電器控制排風扇/電磁閥平臺層數(shù)據(jù)中轉(zhuǎn)、存儲、API 輸出OneNET 云平臺通過 MQTT 協(xié)議接入應用層用戶遠程查看與控制微信小程序這四層不是孤立的。感知層把物理信號變成數(shù)字量控制層負責“本地判斷 遠程上傳”平臺層負責把設備與小程序解耦應用層則給用戶提供可視化界面。2.2 控制邏輯本地邏輯可以這樣設計STM32 每 2 秒采集一次溫度、濕度、煙霧濃度如果煙霧濃度或溫度超過閾值立即打開繼電器控制排風扇或燃氣電磁閥并驅(qū)動蜂鳴器報警無論是否報警數(shù)據(jù)都會通過 ESP01S 上傳到 OneNET。這個“本地閉環(huán)”設計非常重要。它保證即使 WiFi 斷開、云平臺不可用廚房的安全機制依然能工作。很多初學者容易忽略這一點把所有判斷都交給云端結(jié)果網(wǎng)絡一抖設備就“失靈”了。2.3 為什么用 ESP01S 而不是 ESP8266 開發(fā)板ESP01S 本質(zhì)上是 ESP8266 芯片的一個最小模組引出 8 個引腳其中可用 GPIO 只有 2 個。它沒有獨立的 USB 轉(zhuǎn)串口電路也沒有穩(wěn)壓和下載電路看起來對新手不太友好。但它有兩個明顯優(yōu)勢便宜單模塊成本低適合做產(chǎn)品化的 PCB出廠自帶 AT 固件不需要額外寫 ESP8266 的固件把它當“串口轉(zhuǎn) WiFi 透明通道”來用就行。在畢設場景里ESP01S 是最省事的方案STM32 通過串口發(fā) AT 指令ESP01S 負責 WiFi 連接與 MQTT 協(xié)議處理所有業(yè)務邏輯都在 STM32 上完成。如果你選用的是整塊 NodeMCU 開發(fā)板也不是不行但體積大、集成度低做 PCB 時不好安排位置。2.4 為什么選 OneNETOneNET 是中移物聯(lián)網(wǎng)的開放平臺對校園用戶和開發(fā)者比較友好。它的優(yōu)勢在于不需要自己買服務器、搭后端直接在平臺上創(chuàng)建設備生成鑒權(quán)信息提供 MQTT 接入方式兼容性好數(shù)據(jù)流和命令下發(fā)清晰適合展示畢設的“端到端”能力。相比自建 MQTT 服務器OneNET 明顯更適合課程設計和競賽場景。它讓項目可以聚焦在“設備端怎么發(fā)數(shù)據(jù)、應用端怎么讀數(shù)據(jù)”而不是花大量精力去維護服務器。3. 硬件設計與原理圖要點3.1 主控與核心器件本系統(tǒng)主控采用 STM32F103C8T6這是 STM32 家族里最常用的入門型號之一。它基于 Arm Cortex-M3 內(nèi)核主頻 72MHz內(nèi)置 64KB Flash、20KB SRAM擁有 3 個 USART、2 個 SPI、2 個 I2C、多個定時器和 ADC。為什么夠用傳感器采集是模擬量 單總線協(xié)議PWM 或 ADC 就能解決與 ESP01S 通信只需要一個串口控制繼電器、蜂鳴器只需要 GPIO不需要跑操作系統(tǒng)裸機輪詢即可。其他核心器件包括器件作用備注DHT11采集溫度、濕度單總線協(xié)議3 根線MQ-2 煙霧傳感器檢測可燃氣體/煙霧濃度模擬量輸出接到 ADC火焰?zhèn)鞲衅鳈z測明火紅外光譜數(shù)字或模擬量輸出繼電器模塊控制排風扇、電磁閥5V 或 3.3V 觸發(fā)注意驅(qū)動電流蜂鳴器本地聲光報警有源蜂鳴器更簡單ESP01SWiFi 通信3.3V 供電注意電流需求3.2 傳感器選型邏輯廚房安全的核心是“燃氣泄漏”和“溫度異?!?。MQ-2 對液化氣、丙烷、氫氣等可燃氣體比較敏感而且價格低、資料多非常適合畢設演示。它輸出模擬電壓煙霧濃度越高電壓越大接 STM32 的 ADC 引腳即可讀取。DHT11 精度雖然不高但勝在協(xié)議簡單、驅(qū)動例程到處都是用來做環(huán)境溫濕度采集完全夠用。如果你想讓項目更有“工程感”可以換成 DHT22 或 SHT30但這屬于后期優(yōu)化不影響整體架構(gòu)?;鹧?zhèn)鞲衅髦饕袃煞N一種輸出數(shù)字量檢測到火焰時輸出低電平一種輸出模擬量可以判斷火焰強度。建議接 ADC 引腳這樣既能判斷“有火”也能看“火勢”。它的檢測距離有限實際擺放時要靠近灶臺區(qū)域。3.3 電源方案與繼電器控制整個系統(tǒng)的供電可以選擇 USB 5V 輸入也可以選擇 220V 轉(zhuǎn) 5V 的電源模塊。這里有一個關(guān)鍵點ESP01S 的工作電流瞬間可能達到 200mA 以上如果用 STM32 板載的 3.3V LDO 給它供電WiFi 連接瞬間大概率會復位??煽康淖龇ㄊ?V 輸入通過獨立的 AMS1117-3.3 穩(wěn)壓芯片給 ESP01S 供電STM32 的 3.3V 也建議單獨用一路 LDO。繼電器驅(qū)動不要直接用 STM32 的 GPIO 去推。繼電器線圈屬于感性負載驅(qū)動時需要三極管或 ULN2003并且線圈兩端要并聯(lián)續(xù)流二極管否則斷開瞬間的反向電動勢可能損壞 GPIO。常用驅(qū)動結(jié)構(gòu)GPIO 輸出高電平經(jīng)限流電阻接 NPN 三極管基極繼電器線圈接在三極管集電極與 5V 之間線圈兩端并聯(lián) 1N4007 二極管負極接 5V。3.4 電路設計要點原理圖設計需要注意幾個細節(jié)STM32F103C8T6 的 BOOT0 接 10K 電阻到 GND避免上電后意外進入系統(tǒng)存儲器模式NRST 引腳接 100nF 電容到地VDD 每個引腳就近放一個 100nF 去耦電容8MHz 晶振的兩個負載電容通常選 22pF 左右但準確值要根據(jù)芯片數(shù)據(jù)手冊中的負載電容參數(shù)計算公式是 CL (C1 * C2) / (C1 C2) 寄生電容ESP01S 的 VCC 引腳需要 3.3V且建議在模塊附近放一個 10uF 或 100uF 電解電容應對 WiFi 發(fā)射時的電流尖峰。如果你用的是立創(chuàng)EDA嘉立創(chuàng)EDA畫完原理圖后可以直接檢查 ERC、生成 PCB然后在線下單打樣整套流程對新手比較友好網(wǎng)上相關(guān)教程也很多。4. STM32 開發(fā)環(huán)境搭建4.1 開發(fā)工具鏈本文代碼基于 STM32 標準外設庫Standard Peripheral Library開發(fā)環(huán)境是 Keil MDK。這套組合雖然是“老配方”但資料多、社區(qū)成熟非常適合課程設計和競賽快速推進。需要準備的工具工具說明Keil MDK 5.x編寫、編譯、下載代碼STM32F1xx 器件支持包在 Keil 中安裝包含芯片型號定義ST-Link 驅(qū)動 / J-Link 驅(qū)動下載調(diào)試器驅(qū)動STM32 標準庫提供外設驅(qū)動源碼STM32 ST-LINK Utility用于連接異常時的芯片解鎖與燒錄串口調(diào)試助手查看 MCU 打印日志、調(diào)試 AT 指令4.2 Keil 安裝 C51 與 STM32 共存問題很多同學電腦上之前裝過 Keil C51再裝 Keil MDK 時兩個軟件會默認裝到不同目錄。這里容易出的問題是打開一個項目時界面顯示沒有對應的編譯器或芯片包。解決辦法如果以 C51 為主先安裝 Keil C51再安裝 Keil MDK并把 C51 的安裝目錄指定為 Keil 安裝目錄下的 UV4 文件夾這樣兩者可以共存在 MDK 中打開項目時需要在 Project 窗口右鍵選擇 Manage Project Items確認編譯器版本是 ARM Compiler而不是 C51 編譯器下載報錯Error: Flash Download failed - Cortex-M3通常是因為沒有在 Options for Target 的 Debug 頁面配置 Flash Download或者芯片型號選錯。這些問題的本質(zhì)是“兩個版本 Keil 的工程文件結(jié)構(gòu)不同 芯片支持包缺失”。排查時先看 Tools 菜單下的 Pack Installer確認是否安裝了對應的器件支持包。4.3 STM32 標準庫工程結(jié)構(gòu)標準庫工程的典型結(jié)構(gòu)如下Project/ ├── Core/ │ ├── inc/ │ └── src/ ├── HAL/ # 標準庫使用 SystemInit 啟動文件 ├── STM32F10x_FWLib/ │ ├── inc/ │ └── src/ ├── User/ │ ├── main.c │ ├── stm32f10x_it.c │ └── system_stm32f10x.c └── MDK-ARM/新建工程時建議手動建立以下幾個用戶文件bsp_usart.c/h串口初始化與重定向 printfbsp_dht11.c/hDHT11 驅(qū)動bsp_adc.c/hADC 采集模擬量esp01s_at.c/h封裝 AT 指令發(fā)送與 MQTT 連接流程app_task.c/h主循環(huán)業(yè)務邏輯。這樣組織的好處是傳感器驅(qū)動、WiFi 通信、業(yè)務邏輯相互獨立后期更換傳感器或云平臺時不用大面積改代碼。5. 傳感器驅(qū)動與數(shù)據(jù)采集代碼5.1 DHT11 溫濕度讀取DHT11 是單總線器件通信時序相對固定主機先拉低總線至少 18ms再釋放總線然后讀取 40 位數(shù)據(jù)濕度整數(shù)、濕度小數(shù)、溫度整數(shù)、溫度小數(shù)、校驗和。下面的代碼是一個簡化版示例重點看協(xié)議流程而不是追求完整產(chǎn)品級容錯。// 文件路徑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; }這里有幾個容易出錯的地方起始信號的低電平時間必須足夠短了傳感器不響應常見問題是時序函數(shù)延時不準讀取每一位時40us 的判斷是區(qū)分“0”和“1”的關(guān)鍵不能死等校驗和的判斷不能省否則干擾環(huán)境下會出現(xiàn)離譜數(shù)據(jù)。5.2 MQ-2 煙霧濃度采集MQ-2 輸出的是模擬電壓STM32 采集它只需要 ADC 外設。// 文件路徑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 采樣值是一個 0 到 4095 的數(shù)字量對應 0 到 3.3V。如果你需要電壓值可以折算float voltage (float)adc_value * 3.3f / 4095.0f;在實際項目里直接把原始 ADC 值作為“煙霧濃度指標”也可以因為報警閾值只需要一個相對量標定好“正常環(huán)境下的基準值”和“報警環(huán)境下的采樣值”在這個區(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)試時建議保持固定波特率比如 115200。如果發(fā)現(xiàn)亂碼優(yōu)先檢查串口助手的波特率和單片機初始化參數(shù)是否一致。6. ESP01S 接入 OneNET 云平臺的完整實現(xiàn)6.1 ESP01S 出廠 AT 固件的使用前提ESP01S 出廠一般刷好了 AT 固件使用前先用 USB 轉(zhuǎn) TTL 模塊連接它確認能收到AT回復OK。常見的 AT 固件版本不同指令集也有差異。這里用一個保守但穩(wěn)妥的說法ESP8266 官方 AT 指令集經(jīng)過了多個版本迭代支持 MQTT 的指令在不同版本中格式不完全一致。如果你的模塊不支持ATMQTTCONN這類指令可以先用串口助手把固件升級到支持 MQTT 的版本或者使用舊的 TCP 透傳方式連接 OneNET。無論固件版本如何調(diào)試順序都是固定的配置 WiFi 模式連接路由器建立 TCP 或 MQTT 連接發(fā)送/接收數(shù)據(jù)。6.2 先用串口助手手動聯(lián)調(diào) AT 指令在寫 STM32 代碼之前強烈建議先用 USB 轉(zhuǎn) TTL 模塊把 ESP01S 接電腦用串口助手手動敲一遍指令。這一步能幫你確認 ESP01S 的 AT 指令格式和 OneNET 接入?yún)?shù)避免后面代碼調(diào)試時分不清是“指令寫錯”還是“網(wǎng)絡問題”。典型流程如下AT # 回復 OK ATCWMODE1 # 回復 OK設置為 STA 模式 ATCWJAP你的WiFi名,你的WiFi密碼 # 回復 WIFI GOT IP # 連接 OneNET 服務器 ATMQTTUSERCFG0,1,clientId,username,password,0,0, ATMQTTCONN0,host地址,端口,1關(guān)于 OneNET 的接入?yún)?shù)這里需要特別注意。OneNET 平臺有多個接入版本舊版多協(xié)議接入的 MQTT 參數(shù)與新版 OneNET Studio 不完全相同舊版多協(xié)議接入時clientId、username、password 由平臺提供的設備信息生成新版 Studio 則更強調(diào)產(chǎn)品 ID、設備名稱、設備密鑰的組合關(guān)系不同版本的接入域名和端口也可能不同。所以我的建議是不要憑網(wǎng)上某篇文章里的 IP 和端口直接抄而是登錄 OneNET 控制臺找到“設備接入”或“MQTT 接入”頁面以平臺給出的實際接入點為準。這個細節(jié)很多初學者會踩坑也是 ESP8266/ESP01S 連接 OneNET 失敗的高頻原因之一。6.3 STM32 通過串口控制 ESP01S 的代碼手動調(diào)試通過后就可以把 AT 指令封裝到 STM32 代碼里。ESP01S 與 STM32 的接線方式STM32ESP01SPA2USART2 TXRXPA3USART2 RXTX3.3V獨立穩(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; // 標準庫項目請?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) { // 簡化實現(xiàn)輪詢接收緩沖區(qū)判斷是否包含關(guān)鍵字 // 真實項目中建議使用狀態(tài)機 環(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中實現(xiàn)。標準庫環(huán)境下需要為串口 2 單獨寫初始化與串口 1 布局一致。實際應用中AT 指令的響應不是一次就發(fā)完的。最推薦的方案是串口接收中斷 環(huán)形緩沖區(qū)在主循環(huán)中解析緩沖區(qū)內(nèi)容。純阻塞式等待在局域網(wǎng)環(huán)境下問題不大但 Wi-Fi 環(huán)境不穩(wěn)定時一旦丟包程序就會卡死。6.4 OneNET 平臺配置與數(shù)據(jù)流OneNET 平臺側(cè)的操作大致是注冊賬號并登錄 OneNET 控制臺創(chuàng)建產(chǎn)品選擇 MQTT 協(xié)議在產(chǎn)品下添加設備記錄設備 ID、鑒權(quán)信息查看接入文檔確定 MQTT broker 地址、端口和 Topic 格式在一段時間內(nèi)收集設備上報的數(shù)據(jù)然后在平臺添加或確認數(shù)據(jù)流模板。這里有幾個容易混淆的概念數(shù)據(jù)流Datastream描述一個設備的某一類數(shù)據(jù)比如 “temperature”數(shù)據(jù)點Datapoint某個時間點的具體數(shù)值命令/消息下發(fā)從云平臺或小程序向設備發(fā)送控制指令。聯(lián)動小程序時上報數(shù)據(jù)可以直接按 JSON 格式打包平臺側(cè)根據(jù)數(shù)據(jù)流模板解析。如果平臺沒有預定義模板只要在發(fā)布時使用相同的 Topic 和字段名也能在設備日志里看到原始數(shù)據(jù)。6.5 ESP01S 發(fā)送 TCP 消息與手機接收熱搜詞里有“esp01s發(fā)送tcp消息 手機”這其實是 ESP01S 最基礎(chǔ)的用法通過ATCIPSTART建立 TCP 連接把數(shù)據(jù)發(fā)到某個服務器或手機 App 監(jiān)聽端口。它在局域網(wǎng)里很容易驗證比如用手機上的網(wǎng)絡調(diào)試助手工具監(jiān)聽端口ESP01S 就能把數(shù)據(jù)推過去。但在本項目里這種“點對點 TCP”并不適合做完整畢設原因有二手機沒有公網(wǎng) IP 時無法直接接收局域網(wǎng)外的 ESP01S 數(shù)據(jù)TCP 透傳沒有鑒權(quán)、沒有歷史存儲不夠“平臺化”。OneNET 的價值正是解決這兩個問題把數(shù)據(jù)存儲在云端小程序通過 API 訂閱設備側(cè)只維護一條 MQTT 長連接。7. 微信小程序控制端設計與對接思路7.1 小程序架構(gòu)微信小程序端有兩種常見做法直連 OneNET API通過 HTTP 請求獲取設備最新數(shù)據(jù)點再展示到頁面上。優(yōu)點是架構(gòu)簡單缺點是直接暴露平臺訪問密鑰到前端有安全風險。個人演示項目可以接受但正式項目不建議。自建后端中轉(zhuǎn)小程序請求自己的后端接口后端再與 OneNET 交互。更安全但需要一臺服務器或云函數(shù)。對課程設計和競賽而言第一種方案演示速度最快。OneNET 的 API 一般支持按產(chǎn)品設備和數(shù)據(jù)流查詢最新數(shù)據(jù)返回 JSON 后在小程序里渲染即可。7.2 頁面與功能一個典型的廚房安全監(jiān)測小程序包含三個頁面數(shù)據(jù)總覽頁卡片式展示溫度、濕度、煙霧濃度設備控制頁排風扇開關(guān)、報警復位按鈕設置頁上報閾值、WiFi 信息如果設備端支持遠程配置。需要特別提醒小程序端必須處理“設備離線”狀態(tài)。如果 ESP01S 斷開連接OneNET 會標記設備離線小程序顯示的數(shù)據(jù)可能是舊數(shù)據(jù)此時界面要提示“設備離線”而不是給用戶一個誤以為實時的數(shù)值。7.3 命令下發(fā)原理遠程控制的本質(zhì)是“向設備發(fā)布一條消息”。在 OneNET 里這通常表現(xiàn)為云平臺向設備的訂閱 Topic 下發(fā)消息ESP01S 收到后通過串口發(fā)給 STM32STM32 解析后控制繼電器或蜂鳴器。因此STM32 端不僅要有“上報數(shù)據(jù)”的代碼還要有“接收下行消息”的解析邏輯。這需要用到串口接收中斷和消息隊列復雜度比單向上報高一些。做的時候先保證上報能通再擴展下行控制不要一上來就同時做雙向通信。8. PCB 設計從原理圖到打板8.1 設計流程如果項目要出實物板推薦用嘉立創(chuàng)EDA立創(chuàng)EDA這類國產(chǎn)工具流程短、上手快而且可以直接對接打板服務?;玖鞒绦陆üこ坍嬙韴D添加 STM32F103C8T6、晶振、復位、電源、傳感器接口、繼電器驅(qū)動等器件進行 ERC 電氣規(guī)則檢查修正未連接網(wǎng)絡生成 PCB先擺好核心器件位置再進行布線鋪銅、添加絲印、檢查開路短路導出 Gerber 文件上傳打板也可以直接在 EDA 內(nèi)使用在線下單。8.2 PCB 布局與布線要點廚房安全監(jiān)測板屬于混合電路板既有 3.3V 數(shù)字電路又有繼電器這樣的功率電路。布局時最忌諱把大電流線路與敏感傳感器線攪在一起。幾個實用原則按模塊分區(qū)STM32 最小系統(tǒng)放中間ESP01S 放一側(cè)繼電器放另一側(cè)傳感器接口放邊緣電源走線加粗5V 和 GND 走線建議 30mil 以上繼電器控制線至少在 20mil 以上信號線 12mil 即可晶振盡量靠近 STM32 的 OSC 引腳走線要短且不要平行長距離走線模擬地和數(shù)字地可以先用磁珠或 0Ω 電阻連接重點保證 MQ-2 的 ADC 采樣穩(wěn)定絲印字號不要太小打板回來后要能看清接口標識繼電器下方銅皮要留足必要時加開窗避免散熱和機械應力導致焊盤脫落。8.3 常見 PCB 設計問題熱搜詞里有很多 PCB 相關(guān)問題比如“gerber 文件轉(zhuǎn)成 pcb 文件”“pcb 板廠鉆孔工序”“pcb 添加 ole 文件對象”等。站在新手角度最容易忽略的是下面幾個Gerber 文件是生產(chǎn)文件不是可以繼續(xù)編輯的 PCB 工程文件。需要修改板子時要回到 EDA 工程里改而不是去處理 Gerber打板時板廠會按廠商件和標準工藝區(qū)分最小線寬、線距、孔徑。下單前先查看所選工藝參數(shù)不能想畫多細都行鉆孔文件Drill通常和 Gerber 一起打包轉(zhuǎn)格式時不要把鉆孔文件漏掉否則板子無法打孔PCB 絲印模糊通常是因為字體太小或線寬過細設計階段就要檢查絲印規(guī)則。9. 常見問題與排查思路整理一份完整排查表覆蓋這套系統(tǒng)從焊接、燒錄到上云過程中最高頻的問題問題現(xiàn)象可能原因排查方式解決方案error: no stm32 target found! if your product embeds debug authenticationST-Link 連接不穩(wěn)定、芯片鎖死、供電不足檢查 SWDIO/SWCLK 和 GND 接線測 3.3V 電壓按住復位再點下載用 STM32 ST-LINK Utility 連接按復位期間燒錄必要時設置 BOOT0 拉高Keil 編譯報錯找不到器件未安裝 STM32F1 器件支持包打開 Pack Installer 確認在 Pack Installer 中安裝 STM32F1xx 系列支持包Keil 打開 C51 項目后無法編譯 STM32編譯器版本不對查看 Options for Target 中的編譯器設置選擇 ARM Compiler確保工程文件是 MDK 工程串口打印亂碼波特率不匹配檢查串口助手和 MCU 初始化波特率統(tǒng)一為 115200ESP01S 上電后不響應 AT供電不足 或 CH_PD 未拉高測量 VCC 電壓是否穩(wěn)定 3.3V檢查 CH_PD 引腳使用獨立 3.3V 穩(wěn)壓CH_PD 接 10K 上拉ESP01S 連接 WiFi 失敗SSID/密碼錯誤、路由器是 5GHz 或加密方式不支持檢查 AT 返回的 ERROR 碼使用 2.4GHz 路由器確認賬號密碼必要時重置 WiFi 配置OneNET 連接失敗設備鑒權(quán)信息不對、接入地址端口錯誤查看 MQTT CONNECT 返回碼以 OneNET 控制臺接入文檔的參數(shù)為準不要照抄老教程數(shù)據(jù)上傳成功但平臺無數(shù)據(jù)Topic 或數(shù)據(jù)流字段名不一致在平臺查看設備日志和原始上報數(shù)據(jù)統(tǒng)一 Topic 與 JSON 字段名小程序設備離線ESP01S 掉線或網(wǎng)絡異常檢查 ESP01S 供電與 WiFi 信號增加斷線重連機制定時發(fā)送心跳繼電器不動作GPIO 驅(qū)動能力不足或三極管接線錯誤測量繼電器控制端電壓使用三極管/ULN2003 驅(qū)動并聯(lián)續(xù)流二極管PCB 下載程序時報芯片找不到焊接虛焊、BOOT0 未接地、晶振不起振檢查 STM32 最小系統(tǒng)焊接和供電重新焊接關(guān)鍵引腳檢查晶振和復位電路PCB 打樣回來后絲印看不清絲印線寬過細在 EDA 中檢查絲印層調(diào)整絲印最小線寬一般在 10mil 以上這里特別要提一下stm32 virtual com port 嘆號這個問題。很多 STM32 板子通過 USB 虛擬串口連接電腦時設備管理器里會出現(xiàn)黃色感嘆號本質(zhì)是缺少驅(qū)動。遇到這種情況先裝 STM32 的 VCPVirtual COM Port驅(qū)動再檢查 USB 線是否只供電沒有信號線。還有一種情況是板子的 USB D 上拉電阻沒有接好這種屬于硬件問題。10. 最佳實踐與工程建議10.1 代碼層面的工程化建議不要把所有邏輯都塞在 main 函數(shù)的 while 循環(huán)里。推薦至少拆成幾個模塊傳感器采集模塊負責讀取原始數(shù)據(jù)并校驗數(shù)據(jù)上報模塊負責拼裝 JSON、通過串口發(fā)送 AT 指令控制模塊負責本地閾值判斷、繼電器和蜂鳴器動作串口接收模塊負責處理 ESP01S 返回的下行數(shù)據(jù)。每個模塊之間通過結(jié)構(gòu)體或全局狀態(tài)機傳遞數(shù)據(jù)。這樣做的好處是調(diào)試時能快速定位問題也方便答辯時講清楚代碼結(jié)構(gòu)。另外一定要打開編譯器的 warning 提示盡量做到零 warning。很多人把 warning 當回車鍵跳過結(jié)果上電才發(fā)現(xiàn)某個變量未初始化產(chǎn)生隨機值導致系統(tǒng)行為不可預期。10.2 安全邊界廚房安全系統(tǒng)的核心價值是“不安全時能報警”而不是“網(wǎng)絡通暢時才安全”。因此設計時要注意本地判斷優(yōu)先即使無法上云也要保證本地蜂鳴器和繼電器能響應斷電恢復意外斷電后重新上電系統(tǒng)能自動恢復初始化而不是停在異常狀態(tài)傳感器臟污處理MQ-2 長時間使用會漂移要定期校準基準值或加自動標定邏輯閾值可配置默認閾值只是演示值正式使用要根據(jù)安裝環(huán)境重新標定。10.3 不斷線重連ESP01S 在長時間運行時可能掉線。工程上要有一個“連接狀態(tài)檢測 自動重連”的機制定期檢查是否收到 OneNET 的響應如果超過 N 秒沒有消息就重新執(zhí)行 WiFi 連接和 MQTT 連接流程。這里要注意反復快速重連可能會被路由器或云平臺臨時封禁所以重連間隔要加退避比如第一次 5 秒、第二次 10 秒、之后 30 秒。10.4 答辯與文檔準備如果是畢業(yè)設計除了代碼跑通還要提前準備好以下材料系統(tǒng)框圖、時序圖、狀態(tài)機圖關(guān)鍵模塊的測試記錄比如 AT 指令聯(lián)調(diào)日志、數(shù)據(jù)上報日志PCB 原理圖、Gerber 文件、BOM 清單小程序截圖和演示視頻。關(guān)鍵是講清楚“我為什么這么做”而不是只講“我做了什么”。比如為什么選擇 MQTT 而不是 HTTP為什么本地也要做判斷為什么電源要獨立穩(wěn)壓這些問題在答辯時被問到的概率極高。10.5 擴展方向這套系統(tǒng)做完之后可擴展的方向很多把 DHT11 換成 SHT30提高溫濕度精度加入 OLED 顯示屏本地可視化數(shù)據(jù)接入攝像頭實現(xiàn)遠程廚房看護換成 4G 模塊如合宙 Air724 等擺脫 WiFi 依賴把 OneNET 換成自建 MQTT 服務器學習更底層的數(shù)據(jù)流轉(zhuǎn)過程。11. 總結(jié)STM32 廚房安全監(jiān)測系統(tǒng)不是一個“高大上”的選題但它非常典型它把單片機編程、傳感器接口、串口通信、WiFi 模塊 AT 指令、云平臺 MQTT 接入、小程序 API 調(diào)用、PCB 設計這些物聯(lián)網(wǎng)核心技術(shù)點串成了一個完整閉環(huán)。真正值得你投入精力的不是背下某一條 AT 指令也不是記住某個平臺按鈕的位置而是理解“端-云-應用”這條數(shù)據(jù)鏈路的連接方式。做完這個項目你手里就有一套可以遷移到很多物聯(lián)網(wǎng)場景的“骨架”。建議動手順序也很明確先用最小舵機跑通單點上報再做本地控制最后接小程序和 PCB。這樣每一步都有可驗證的產(chǎn)出不容易卡在最后聯(lián)調(diào)階段。建議把這篇文章收藏備用按章節(jié)逐步實踐。如果你遇到某個環(huán)節(jié)卡住優(yōu)先對照“常見問題與排查思路”表格絕大多數(shù)問題出在供電、接線、串口參數(shù)和平臺鑒權(quán)這四類原因上。祝你的廚房安全系統(tǒng)順利落地。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
啊啊啊啊啊舒服| 九九九九热只有精品| 黄色激情电影在线观看| 欧美草草| 久久精精区一区二区一蜜桃一区二区| a'v在线资源| 欧美页片| 无码人妻一区二区一牛影视| 国精精品无码一二三区水多多| av2014 日韩在线中文字幕| 欧亚综合一卡二卡中文字幕| 国产乱伦视频污| 亚州色图片在线色| 男人夜色天堂ss| 美女尤物福利视频| h无码动漫在线观看| 九九九九热| 97亚洲国产| 国产亚洲欧洲在线观看| 伊人激情| 日本精品不卡一二三区| 八戒午夜福利理论片| 日本五区不卡| 夜夜高潮夜夜爽夜夜爱爱一区| 美女在线H91| 极品尤物在线观看| 欧美成人四级在线播放| 日韩精品国产一区二区| 色欧美在线| 人人噜夜夜操| 99xav| 久久久久久久久久久久久久9999| 97福利视频| 一区二区三区四区免费视频| 国产资源中文字幕在线| 人妻9117c| 97视频免费在线| 四虎国产成人精品免费一女五男| 久久九色| 一个人免费HD91视频| 欧亚性爱在线视频| av在线观看不卡网站| 日本阿v天堂在线观看| 国产亚洲中文不卡二区| 精品国产91内射久久| 野狼福利社区| 看全色黄大色大片免费视频| 九九热精品视频六| 欧美日韩久久精品爱爱| 99国产女人| 色综合 加勒比| 99色日| 欧洲Au麻豆| 欧美成人精品A片免费一区99| a v网站在线播放| 嗯啊视频免费在线观看| 色综合av男人天堂| 欧美精品日韩一区二区| 韩日性爱av| 人人干黄色| 成人精品无码| 九九色精品| 91丨九色丨东北熟女| 婷婷深爱五月| 欧美专区在线| 青青草伊人久久| 久操在97| 天天亚洲| 中字乱伦AV| 黄色片大香蕉| 人妻熟女字幕一区二区| 欧美三级免费伊人| 舔人妻中文免费视频| 91亚洲网站| 国产精品一区二区三区在线| 久久亚州精品成人Av无| 91艹B视频| 凹凸视频特色日本特黄| 美女刺激久久国产欧美| 欧美第38页| 大香蕉99热| 蜜桃久久精品一区二区三区| 女人18精品一区二区三区| 国内精品99999| 国产精品美女久久久久久网站| 久久久新亚洲AV| 一级性爱视频免费观看| ?亚洲伊人伊成久久人综合网| 欧美黄片视频在线观看免费 | 中文操逼字幕| 久久高清欧美国产| 久草毛片电影怡| 国产精品视频播放| 欧美日综合| 2017天天操| 翔田千里AⅤHD无码| 无码操逼网| 狠狠操夜夜操蜜桃视频三区| 夜夜狠狠躁日日躁色视频| 国产成人啪一区二区| 78操B| yaouchengrenav| 狠狠干婷婷| 成人无码专区精品视频| 97久久超碰日韩精品| 91P0RNY大屁股人妻| 久久人人看| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 2024人人操人人摸| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 国产精品久久久777| 五月天人妻综合| 免费操逼91| 香伊人在线| 久久久成人免费av电影| 日日夜夜噜| 另类小说欧美激情校园春色| 手机在线人成免费视频| 超碰碰激情97+久| 超碰这里有精品| 性爱免费视频成人| 久草资源欧美在线视频| 日韩欧美性吧婷婷乱伦大香蕉| 亚洲黄色a级片| 91偷拍欧美亚洲| 久久亚洲AV无码白度| 国产免费久久久久| 日本五区不卡| 久久久久久久 九九九九九九九| 欧美日韩美女精品久草一区二区三区| 日本1区2区不卡视频| 少妇 综合| 欧洲亚洲人妻无码高清久久三区四区| 日韩中文字幕精品一区在线| 欧美白嫩女HD| 操逼免费视频无码国产| 青青草在线视频欧美| 亚洲AV无码乱码| 狠狠色色| 亚洲动态色图| 欧美日日网| 久久久久久九九九九| 无码自拍SM| 欧美黑人168页欧美黑人167| 黑人嘿嘿嘿超爽免费视频| 蜜桃臀一区二区aV | 四虎国产成人精品免费一女五男| 日本性爱欧美性爱| 丁香五月天社区| 99热欧美| 97爱免费插| 亚洲色婷婷久久91| 久久精品国产97欧美精品亚洲| 免费看黄视频亚洲网站| 久久岛国| 骚熟女吞| 国产欧美日韩在线不卡第一页| 97精品在线| 亚洲第2页| 国产免费一区| 色婷婷丁香五月| 中文字幕后石码四区五区| 狠狠躁AV| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 天美传媒在线一区| 婷婷久热| 成人av影院在线观看| 欧美熟女丝袜| 亚洲色久| 久久精品国产亚洲AV嘿嘿| 91精品婷婷国产综合久久| 日本肉体xxxx裸交| 伊人久久大香线蕉无码| 97干在线视频| 国产一区二区久久| 女优视频第10页| 国产美女口爆吞精视频| 久9爱经典视频| 肉嘟嘟www视频在线观看高清| 色五月激情AV在线| 久久久久成人蜜桃精品| 波多野结衣先锋影音| 精品国产乱码久久久久久久| xxx亚洲午夜天堂| 狼狼色丁香久久婷婷综合五月| 男人的天堂在线| 亚洲欧美一区二区三区在钱蜜桃| 久久精品高清AV| 78精品在线| 97jingpin| 欧美极品女人的天堂| 少妇同性| 亚洲AV无码天美传媒一区| 脫衣舞一区二区三区| 91少妇人妻| 欧洲亚洲天堂精品| 看黑人AV不卡| 久久99综合| 在线免费观看日韩一区| 人人干人人操人人爱| 久久久三区二区一区| 中文字幕一区 二 区 三 四 五 区日 日 骚| 日韩精品碰碰| 91无码西班牙视频在线| 亚洲丝袜诱惑| 精品国产乱码久久久久久网站入口| 久久久久久久久久久人妻| 男女真人网18| 一类av片在线看| 久久久96| 国外91| SS久久| 久久久久久性爱片| 欧美性爱五月天| 丰满人妻av一区二区三区| 性色AV网站| 91性感在线| 欧洲精品二区| 免费观看一区| 九九九久久久| 99人妻碰碰碰久久久久禁片| 成人国产视频在线观看| 少妇高潮九九九九| 久这精品中文在线观看视频| 狼人狠干| 久久久蜜桃臀无码视频| 男人的午夜天堂| 亚洲国产精品成人久久蜜臀| 葡萄牙性视频一二区| 超碰97综合在线| 超碰97综合在线| 久久久久久久久女黄| 精人妻无码一区二区三区伊人直播| 欧美一二三区四五区| 男人的天堂2018.| 曰韩无码777| 日夜尻逼网| 综合色久欲| 在线电影亚洲色图| 久久久久久久久久久久97| 超碰99在线| 600国产精品视频| 久久精品无码专区| 淫荡网址| 日韩卡一卡二卡三在线| 人妻中文字幕日韩电影| 日本精品第一视频在'| 亚洲超碰在线| 久久久久久久久久久999| 91操人| 久久久天美| 一二三区精品视频| 日本性感人妻91| 无码人妻一区二区三区色欲aⅴ| 先锋激情∨在线视频播放| 在线看的av| 青娱乐日韩无码| 99无码| 日韩欧美被操黄免费观看| 欧美色图私拍91| 国产精品久久久999| 一区超碰一区| 深喉吞精| 人人人人插| 国产成人网| 日韩精品人妻系列无码天堂| 色香欲天天天天综合色| 国产精品直播在线观看直播| 国人欧美精品一区二区| 夜夜夜久久| 日韩不卡网操逼中文字幕日韩| 国产一区二区三区精品观看啪| 狠狠干,狠狠操| 国精综合一二三区影视| 偷拍视频青青草在线视频| 韩国手机不卡无码三级视频| 免费啪啪一级视频| 欧美se亚洲| 无马一区二区| 欧美经典一区二区三区| 情色日播放AV| 欧美亚洲首页| 人妻中文字幕日韩电影| 精品九九淫乱男| 蜜臀AV一区二区三区| 一起草欧美| 男人兔费天堂| 97国产精品在线观看| 国产精品一区av在线| 中文字幕五区| 超碰色图| 很很热性爱视频| 日韩超碰精品综合| 亚洲 欧美 色图| 天天日天天舔东京热| 天天摸天天舔天天操| 美女久久久久久久久久久| 人人插人人摸人人| 热热色色综合| 乱抡国产91| 亚州操操穴网| 久久性爱精品一区| 97AV在线免费观看| 精品久久无码午夜福利| 久久夜嗨| 人人做,人人操,人人摸| 伊人一区二区三区| 偷拍偷窥与盗摄视频专区| 国产日韩手机视频在线| 美女露胸露屁股| 97av在线观看| 国产黄a三级三级三级av在线看| 超碰九九| 夜夜嗨一区二区| 美女好片色日本| 久操大香蕉| 九九九久| 久久久久精| 欧美日韩久久精品爱爱| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 尤物一级在线免费观看| 熟妇女伦乱视频| 国产女人高潮视频| 国产捆绑一区| 美女干逼2| 人人操人人干网页| 国产精品国产| 东京日日夜夜| 国产无码高清操逼视频| 91n免费处女| 成人午夜视频免费播放| 麻豆视频一区二区| 国产白嫩精品久久| 亚洲国产精品成人无码久久久| 国产久久一区二区| 国产成人精品亚洲日本| 久九色| 亚洲老熟妇xxx| 91精品人| 色哟哟精品1精品2| www.97在线| 午夜视频久久久久一区| 亚洲在线综合| 夜夜騷av、一區二區| 激情无码日韩| 亚洲熟女人妻中文字幕一区二区| av情色影音| 免费看黄视频亚洲网站| 91老司机精品| 国产极品久久久| 日韩不卡网操逼中文字幕日韩| 国产精品久久久无码AV网站| 久草毛片| 老熟女熟妇| 国产无码一二三区| 大肥女高潮bbwbbwhd视频| 色欲色香天天天综合网www-亚洲综合国| 屁屁影院一区二区三区国产| 男人久久天堂| 亚洲国产中文字幕| 中文字幕在线观看第二页| 亚洲天堂中文字| 蜜臀99久| 干美女人妻| 久久9精品视频| 国产高清成人传媒影视| 天天色黄色影院天天操| 欧美丝袜中文字幕07在线| 少妇与黑人高潮在线| 一区二区三区机械有限公司| 九九干| 亚洲在线a| 深爱伊人影院| 亚洲宗合网| 人妻精品4K4K4K4K4| 被体育老师抱着c到高潮| 成人精品在线免费视频| 啊啊啊爽爽| 97在线日韩中文字幕| 日韩欧美资源| 国产乱码精品久久久久久| 五月天啪啪| 午夜无码精品免费看性色| 日韩福利综合一区| 男人天堂网站| 超碰97精品| 97超级久久| 一本大道久| 国产精品欧美日韩久久| 无码操逼视频一下| 精品无码一区二区三区| 天天躁日日躁狠狠躁| 久久啊啊| 女人精品内射国产99| 欧美乱欲| 97爱爱爱| 亚洲欧美一区二区网址| 欧美色999| 亚洲色图综合| 久久亚州精品成人Av无| 噜噜噜在线视频| 第四色奇米影视777| 国产又猛又粗又爽又黄| 国产美女销魂在线观看不卡| 欧美一级国产一级| 亚洲性爱无码乱伦av| 国产亚洲日韩在线三区黑人| 天天干夜夜一操| 国产三区免费在线观看| 五月天激情四射| 99在线精品观看99| 韩国女主播青草福利视频| 国产天天骚| 丝袜综合色图| 亚洲图片欧美另类综合免费视频大大香| 4虎在线视频| 精品视频一区二区| 亚洲欧美内射| 久久91| 你懂的在线观看区国产| 成人性爱视频在线看| 亚洲无吗在线视频| 丁香婷婷久久 | 色乱二区| 98色网| 欧美老妇女内射网址| 91精品国久久久久久无码| 日韩在线性爱免费视频| 国产女人成人精品视频| 99久久这里只有精品| 天天看特黄的免费网站| 超碰综合97在线| 国产精品久久久久久久久久久久久久吹 | 欧美亚洲特P| 欧美999| 国产视频一区二区三区在线免费观看| 亚洲中文国际强奸字幕 | 酒色综合网| 青青操网| 丁香五月婷婷啪啪| 日韩中文字幕av在线播放| 天堂综合| 亚洲欧美一区二区网址| 无码聚合| 亚洲丝袜天堂| 东北女人性交| 黄片国产精品一区二区| 发朗少妇买婬全视频中文| 校园春色欧美色图| 91亚洲情色| 国产综合网站在线播放| 久久婷婷在线观看视频| 校园春色 亚洲| 一区二区三区黄色片a| 亚洲色五月| 日本一久是| 日韩综合无码一区久久92| 一级A啪啪啪啪| 国产精品视频| 国产h小视频在线观看免费| 久久亚洲AV无码专区首页| 精品久一区免费| 综合亚州欧美| 国产女生在线| 日韩av电影成人在线| 久久99综合| 欧美第二页午夜| 立川理惠被中出无码| 秋霞视频一区二区| 亚洲性综合| 国产日逼视频| 亚洲色图美腿丝袜| 人人摸.人人色| 精品少妇后入一区二区三区四区人妻巨乳 | 大学生美女口爆| 99久久9| 国产三级中文字幕粉嫩| 1024人妻熟女一区二区三区| 日本男人插女人的逼黄色| 欧美一区二区男人天堂| 婷婷成人久久久精品| 精品久久97| 久久99精品视频| 九九免费影片| 国产一区二区三区精品观看啪| 97 九色| 国产欧美在线观看免费观看| 九一综合精品视品av| 91观看 国产白丝| 九九久久99| 男人天堂新在线| 99这里只有精品| 天天操天天舔| 亚洲无套久久嗯嗯| 亚洲成人在线高清| 精品无码人妻一区二区免费蜜桃| 黄色激情电影在线观看| 天天拍天| 亚洲精品一区中文字幕乱码| 欧美日韩中文字幕不卡| 狠狠色婷婷777| 高清视频一区| 日韩精品高清资源在线| 天天操夜夜操狠很操| 中文熟女五十乱码在线| 综合婷婷| 婷婷伊人五月| 搡老女人老91妇女熟女| 男人的天堂Va| 久久久精品视频免费观看| 成人在线视频网| 亚洲丝袜少妇在线| 青娱乐亚洲热| 日韩图区 偷拍| 欧美骚少妇| 一本一道人妻久久一区二区三区| 亚洲国产成人精品999| 蜜屁Av| 另类 日韩 熟女| 97资源站国产精品| 久久九七| 涩五月婷婷| 视频一区二区免费在线| 97jingpin| 成人性爱全视频观看| 日韩少妇无码| 欧美色图小说综合| 嗯嗯啊啊用力视频免费| 欧美亚洲日本视频久久久 | 欧美激情视频在线一区| 加勒比综合在线| 精品国产污一区二区三区| 精品国产91av一区二区三区 | 精品九九| 天天操福利视频综合网站| 99碰碰| 久久亚洲欧美中文字幕国语| 超碰99re| 色综九九九一区| 欧美永久激情一区二区| 丁香婷婷色五月| 青青操综合网| 中国AAAAAA黄色片| 久久久日本电影| 蜜乳av一区二区三区| 嗯啊啊啊轻点视频| 99激情视频| 国产精品一二三在线看| 立川理惠被中出无码| 日本精品九九九| 日韩紧密久久| 欧美极品少妇交| 岛园激情| 久久久久亚洲?V片无码V| 精品久| 中文字幕欧洲有码| 乱码人妻一区二区三区| 神马久久69| 最新亚洲风情电影| 五月天婷婷综合| 日韩乱插| 国产精选三级在线观看| 黄色电影观看久久9| 国产精品黑人一区二区三区| 国产精品不卡少妇白| 91老熟女91老女人| 欧美极品色| 爱爱久久| 亚洲资源网| 日韩啪啪啪视频| 国产精品 午夜福利| 高凊专区人人操| 欧美日不卡| 欧美精品第3页| 亚洲国产第一页综合视频| 亚洲综合精品国产一区| 欧美极度丰满熟妇hd| 午夜欧美女人操逼| 日本福利二区视频| 亚洲宅男天堂| 殴美性色a级欧美| 欧美色偷拍| 嗯嗯嗯啊啊啊操的我好爽| 日韩丝袜人妻AV| 蜜桃久久久久久久| 天天看特黄的免费网站| 伊人网在线观看| a人片中文字幕一区二区| 欧美精品丝袜久久久中文字幕| 欧洲中文字幕| 绑缚麻绳人妻寝取完整版| 欧美暴力猛交| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 久jiu久神马影院| 色诱中文字幕| 久久熟女久| 粉嫩久久久极品| 91精品久久久久| 操逼操逼操| 18禁中文字幕| 久久久精品成人国产| 亚洲日韩美国人妻| 长长久久88视频| 日本伦理一区二区| 综合激情一一91| 九九九精品美女| 婷婷超| 黄页网站免费高清在线观看| 婷婷大香蕉| 日韩传媒在线| 9.1小视频| 人人摸人人入| 高跟丝袜AV专区国产| 一区二区 韩日AV| 91欧美美女日韩国产婷婷| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 物尤视频一区二区| 欧美日韩青操| 青草精品视频日本久久久久网站在线| 日本三级A片网站com| 日韩免费大片一级播放| 开心激情站| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 国产性爱欧美性爱在线| 四虎免费在线观看| 成人aⅴ一区二区三区| 色老汉玖玖爱| 精品人妻一区二区免费蜜桃| 99超碰碰| av一区二区三区四区| 久久xxxx| 国产精品久久久久久夜夜夜夜| 久久精品店| 国产精品嫩草影院午夜两性| 亚洲激情久久| 亚洲欧美啪啪| 嗯啊视频免费在线观看| 亚洲精品819| 久热99999| 日本成人A片网站| 欧美激情专区| 色色五月丁香| 亚欧美色图| 欧美巨大性舒爽顶到了| 中文字幕在线日亚州9| 大香蕉青青9| 一二三四视频中文字幕在线看| 五月婷婷激情综合| 人乳av| 岛国视频免费在线观看| 日欧毛片久久| 亚洲欧美在线观看无码| 99re3这里只有精品| 久久超碰97| 丝袜美腿诱惑亚洲欧美视频在线观看| 呻吟 欧美 日本 中出| 精品欧美А∨无码黑人大荫蒂 | 欧美大香蕉97| 欧美熟妇成人一区二区| 视频在线观看一二三区| 五月丁香激情四射| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 亚洲综合99999| 在线观看一级α片刺激高潮视频| 97干日韩| 久久在线观看免费视频| 青青草在线视频人人想人人上| 另类欧美色| 水野优香在线观看| 亚洲色91| 亚洲AV资源| 亚洲久9| 一区二区三区精品久久| 久久精品国产97欧美精品亚洲 | 亚洲资源站| 操久久久久久| 嗯嗯啊啊好爽| 情色av电影| 2017av无码免费无线播| 亚洲第一页欧美| 久久久久久一日韩字幕无码| 亚州男人天堂| 久草在| www.黄色在线| 青青久日| 天天综合网91入口| 囯产操逼片| 天天综合~91| www.男人天堂| 99热免费| 亚洲一本大道中文字幕无码在线| 台湾佬大香蕉| 少妇内射www在线观看视频| 国产超碰| www.99色| 亚洲图片欧美偷拍| 97精品97| 国产精品情侣啪啪| 亚洲AV无码国产精品久久久久| 国产激情在线| 天天综合麻豆视频| 午夜福利久久久噜久噜久久综合| 欧美刺激色黄片免费看| 久久精品国产亚洲AV清纯| 一级免费精品| 97资源免费视频| 大香交伊人网| 亚洲精品骚逼| 青草精品视频日本久久久久网站在线| 99九九久久| 人妻一区二区三区四区视频| 亚洲成人帖图| 亚洲第91页| 精品99999久久久久久| 欧美在线播放aaaa| 视频黄色国产一级| 天天射天天| 成人性交免费视频| 青青草在线视频美女| 97超碰久| 久久、1234| 国产性感骚丝袜在线| 99久在线精品99re8| 欧美人妻久久精品二区三区| 日韩字幕一区| 操一操摸一摸| 天美传媒精品一区二区| 97人人爱人人乐| 破处bbq| 走光一区92下载| 白丝jkav| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 职场同事知名国产国产精品久久欧美日韩| 欧美中文字幕一区 | 精彩久久中文| 青青伊人加勒比海| 日韩美女,国产传媒,视频一区| 91女人的网站| 91女在线观看| 一区麻豆 高清中文字幕| 久久99国产综合精品女同| 91neishe| 亚洲一区二区三区久久 亚洲一区二区| 大香蕉乱伦视频网| 色999;丁香五月| 日本九九九九| 加勒比无码一区二区三区| 激情综合五月| 超碰97起碰| 九九无码久久精品视频| 人妻夜夜爽天天爽麻豆三区网站 | 1000部熟女视频在线观看| 91精品国产91久久福利| 久久久久久99AV无码免费网站| 九九九精品成人免费视频小说| 91视频精品| 欧美精品一区二区少妇免费A片| 久思思热视频在线观看| 天天做日日做天天欢。| 中字乱伦AV| 婷婷在线播放| 91AV老熟女视频| 久久亚洲熟妇在线视频| 欧美在线中M| 高精欧美色| 久久久人妻| 91精品亚洲内射孕妇| 亚洲精品一二区| 中文字幕免费看大片| 屌逼麻豆| 久操在97| JuliaAnnXXX888| 午夜亚洲WWW湿好大| 亚洲 日韩 丝袜 熟女 变态| 久久精品色欧美aⅴ一区二区| 色激情五月天| 亚洲成人精品久久久| 天堂综合| 91精片| 精品一区二区成人| 夜夜爽33333| 嫩草影院永久在线制服丝袜| 91成人亚洲色图| 家庭乱伦麻豆| 精品v日韩欧美国产| 91男女啊啊啊| 十八禁电影伊人网| 蜜桃狠狠色伊人亚洲综合网站| 久久草草亚洲蜜桃臀| 极品少妇久久久| 26uuu性物| 婷婷五月天色色| www.91欧美| 死我十八禁| 草b在线 | 操狠狠| 在线情色电影 91大 | www国产精品| 亚洲综合中文字幕有码| 精品无码欧美三级| 自拍偷拍亚洲熟女妇人精品| 99欧美| 91伊人久久在线| 乱抡国产91| 99在线免费视频| 最新9久久久9免费视频| 翔田千里A片一区二区| 国内自拍 日韩激情 99| 刺激性视频黄页| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 亚洲无码一二三区| 久久熟妇五十路一区| 欧美碰碰综合色| 熟女人妇一区二区三区| 骚熟女吞| 国内精品a| 少妇国产不卡| 精品黄色电影| 五月丁香影视| 精品成人久久久人人亚洲| 亚洲 日韩 丝袜 熟女 变态| 久久精品老司| av网站国产主播在线| 久久人妻视频网| 欧美日韩小说| 免费人成?大片在线播放| 囯产精品强| 午夜无遮挡男女啪啪视频| 亚州色交| 熟妇人妻精品一区二区视频色欲| 日本一级性爱| 久久AV无码网址| 精品久久久av无码免费| 国产尤物在线三区| 国产欧美另类久久久精品课程| 欧亚不卡| 亚洲 欧美 小说| 四虎免费看黄| 人妻另类 专区 欧美 制服| 日本天天吊| 久久精品黄色| 啪啪视频mP4| 国产在线视频午夜精华在| 另类图片五月| 久久色情| 午夜毛片亚洲精品片国产久久久| 26uuu国产| 国产精品扒开腿做爽爽爽视频| 一起草av| av影片在线观看不卡| 91狠狠综合久久久久久| 亚洲av性爱电影| 夜夜爽妓女| 岛国在线免费视频| 超碰在线第一页| 欧美做爰无码A片视频| 欧成人精品一区二区三区| 久久草大香蕉| 东京热一区二区中文字幕| 欧美日韩理论一区| 亚洲va有码在线天堂| 999九九九九国产动| 97干在线视频| 欧美天天性| 96免费视频在线| 91成人在线免费视频| 台湾佬大香蕉| 宅男91视频在线播放| 熟女五十路一区二区三| 国产乱不卡| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 能在线播放的国产三级| 天天性射网| 淫色网综合| 欧美日韩在线国产在线| 成人青青草原伊人| 一区麻豆 高清中文字幕| 日本丝袜人妻内射| 97爱亚洲| 国产丝袜美女诱惑| 亚洲激情在线| 亚洲丝袜色图| 曰本人妻人人澡人人夹| 久区视频| 欧美亚洲影视| 任你爽视频| 久久 国产 无码| 日韩91网| 啊啊啊不要好爽日韩无码一区| 1024日韩| 免费一级a毛片久久久久久鸭绿欲| 亚洲日韩97| 亚洲综合影视| 久久婷婷五月天| 先锋色眉乱伦资源| 国产激情视频一区区三区| 亚洲AV在线资源| 超碰性爱97| 91久久久久免| 成人免费不卡在线视频| 亚洲av综合伊人久久| 天天肏夜夜肏| 狠狠做深爱婷婷久久二区| 国产精品一区二区在钱播放| 黄色av一区二区在线| 人人操人人插人人摸人人干| 亚洲国产综合图区中文字幕 | 青青在线视频日韩欧美| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 综合色播| 不卡九肏| 激情文学网伊人| 人妻熟女av国产网站| 一本色道久久天天射天天干| 亚洲成成熟女人综合一区二区| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 白嫩白嫩的午夜九久久久久久久久久久久成人剧场 | 久久久久久久久久久999| 熟女人妻av在线资源,黄色的资源 粉嫩国产精品久久粉嫩 | 亚洲欧美日韩综合在线尤物 | 91九九九逼| 色噜噜国产在线| 啊啊啊啊嗯嗯嗯用力好爽 | 日韩色香| 亚洲天天更新| 久热这里只有精品9| 久久精品国产97欧美精品亚洲 | 日韩情色AV| 青青草亚洲一区| 青青国产精品在线| 欧美 亚洲 制服 精品| 99色| 亚洲精品男人的天堂| 色噜噜综合网| 五月婷丁香| 大香蕉亚洲中文| 亚洲色图久久精品蜜| 五月婷婷综合在线| 久久五月份| 中文字幕视频在线观看一区二区| 激情四射婷婷四五月天| 大香蕉在线视频15| 九九十八精品| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 精品二999| 熟女网站最新| 偷拍片久久| 久肏视频字幕| 超碰超碰超碰超碰的大鸡吧操黑丝袜| 国产尹人在线视频免费| 欧美成人黄网色网站| 手机看av网站在线看| 久久精品美女一区| 天天综合色| 免费农村成人少妇人妻Aa一区二区视频| 天堂日本亚洲欧美| 97超碰久| 亚洲欧美综合图片| 秋霞Av理论一级在线| 在线无码视频| 精品国产久热在线观看| 亚洲AV高潮| 婷婷六月色| 亚洲情色五月天| m欧洲一级午老| 九七人妻在线| 天天伊人| 国产精品4p在线观看| 色yeye成人免费视频| 伊人激情| 色婷婷综合久久久久中文一区二区| 成人五月天色网| 91激情国产| 蜜臀99久久精品久久久懂爱| 人人干黄色| 天天操天天舔| 99re6久热只有精品6在线直播| 日韩啪啪啪视频| 久久中文字幕人妻熟av女蜜柚| 92一区二区| 欧美色性爱| 992这里有精品| 天天澡天天爽日日av| 2020天天色综合| 88xx成人精品视频| 久草视频分类在线| 看黑丝美女操逼青青网站| 欧美青青草视频| 天堂v无码免费视频| 国产超碰| 日本九九久久99| 欧美色图20p| 99久久久久久久久| 二区熟妇韩日| 久久久啊啊啊| 人人操人人搞人人草| 日本大香蕉综合网红本杳社区| 麻豆一区在线| 天天干嫩逼网| 美女国产一区二区久久| 天天日日日射| 亚洲欧美国产精品久久久久久久| 天天影视色香欲综合网小说| 国产无马av| 丰满人妻一区二区中文| 国产欧美在线观看免费观看| 日本岛国黄色网址| 欧美成人国产精品| 亚洲A曰本VA欧美VA视频| 久久99视频| 天天激色| 91av一区二区在线观看| 久久精品人体| 亚春色色| 欧美成人黄网色网站| 啊啊啊不要好爽日韩无码一区| 国产精品视屏| 婷婷五月天成人网| 亚洲第一男人天堂| 黄片免费看的| 啊啊啊快操我视频| 粉嫩av平台| 激情四射婷婷四五月天| 日天天九九天堂666| 国语对白在线播放视频| 97se综合| 欧美黄片免费在线观看视频| 双插在线| 精品日韩人妻视频| 日韩精品高清资源在线| 一级乱伦网站| 亚洲天堂人妻一区二区| 少妇一区二区三区| 久久午夜伦| 69一区二区三区| 夜夜一区二区| 夜夜嗨视频| 嗯啊啊啊轻点视频 | JULIA一区二区三区在线播放| 午夜AV污污污| 能直接看AV的网站| 男人天堂最新手机版在线青青草| 国产精品香蕉热久久新品| 色偷偷人人玩人人舔人人操人人摸人人爽 | 亚州少妇| 国产精品精品系列在线观看| 国产精品天美传媒| 久久在线观看免费视频| 60秒试看最爽10分钟网站| 国产精品久久aV| 久久国产对白激情浪潮 | 成人在线午夜视频一区| 播播亚洲小说亚洲| 性高潮久久久| 中文字幕 人妻不满 在线视频| 亚洲少妇在线观看| 欧美性色综合网| 亚洲精品国产专区在线观看| 成人欧美日超碰| 亚洲欧美中文日韩视频中国语| 亚洲 日本 不卡| yirendaxiangjiashipin| 欧美性爱第一页久久| 91老熟女老女人国产老太| 免费亚洲黄色视频在线观看| 国产AV天美传媒一区二区三区 | 天天日天天干少妇日| 玖玖爱综合| 日韩人妻播放| 日夜精品| 国产亚卅97| 日韩性爱网址| 精品欧美老熟女一二区| 中文字幕-区二区三区四区视频中国| 久久亚州大香蕉| 美女自卫慰黄网站免费| 日本亚洲vr欧美不卡高清专区| 青草综合| 久久精品一区一起草| 最新国内自拍av免费| 精品性爱一区二区| 日本欧美国内在线| 国产原创自拍| 自拍视频大全亚洲专媒视频/一区二区三区 | 久久久免费视频18| 91综合站| 波多野结衣被操50分钟免费视频| 黄片com.| 男人天堂.AB| 日韩 女同 综合| 亚洲一二三四区| 人人摸.人人色| 激激五月| 另类老少妇| 人人弄人人摸| 大香网站| 青青草精品| 久久久一区二区三区四区五区| 中国少妇XXXX做受| 无码99| 青青草原成人| 精品人妻1区| 91艹逼精品| 亚洲中文字幕在线视频一区二区| 欧美视频边做饭边橾| 欧美在线l亚洲| 性夜影院爽黄A爽免费动漫| 91久久久久久久| 人妖欧美一区二区| 韩日无码在线观看| 亚洲爱爱视频一区二区| 精品久久久久久中文字幕三区| 亚洲无套久久嗯嗯| 日夜精品| 久久久久久久 九九九九九九九 | 久久久久久久唑| 五月天婷婷基地| 亚洲性天堂| 大香蕉碰碰| 无遮挡男女激烈动态图| 人妻一区久久二区三区色播| 精品人妻一二三| 麻豆久久久久久久久丝袜| 第四色奇米影视777| juliaann丝袜大战黑鬼| 国产白嫩漂亮KTV在线| 天天干1区2区在线| 看一级黄色视频| 啊啊啊免费视频| 亚洲色图欧美另类在线| 综合五月婷婷亚洲一区| 欧美偷偷网| 色欧美天天| 久干9操| 啊啊啊啊网站| 激情综合二| 玖玖婷婷五月天| 美国三级日本三级久久99| 9 9精品一区二区三区| 人妻偷拍一区二区三区| 久久人体一区二区| 久插综合| 国产女人高潮视频| 色哟哟511老熟女| 亚洲人成网站7777| 日韩无码第3页| 亚洲熟女乱综合一区二区三区 | 啊啊啊啊啊啊在线| 丝袜美腿操av| 五月天久久婷婷亚洲| ,成人免费啪啪视频| 蜜桃午夜视频一区二区| 欧美一区91大爱| 欧美1区二区三区公司| 激情婷婷五月天| 淫荡熟女乱伦网| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 97人人爱人人做人人乐| 色五天伊人| 中文字幕一区二区三区四区在线视频|