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

ARTICLE DETAIL

資訊詳情

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

智能晾衣架項(xiàng)目源碼解析:從STM32到ESP8266的物聯(lián)網(wǎng)開發(fā)實(shí)戰(zhàn)

智能晾衣架項(xiàng)目源碼解析:從STM32到ESP8266的物聯(lián)網(wǎng)開發(fā)實(shí)戰(zhàn) 簡介本資源是粵嵌教育推出的嵌入式物聯(lián)網(wǎng)實(shí)踐項(xiàng)目——智能晾衣架完整開發(fā)套件面向嵌入式初學(xué)者、物聯(lián)網(wǎng)方向?qū)W生及高職本科實(shí)踐教學(xué)場景旨在解決智能硬件從原理理解、代碼調(diào)試到軟硬協(xié)同落地的學(xué)習(xí)斷層問題。壓縮包共156個(gè)文件含41個(gè)C源碼如核心控制邏輯、15個(gè)頭文件驅(qū)動(dòng)與接口定義、7個(gè)PDF文檔含教案與原理圖、9個(gè)DOCX教學(xué)材料、9個(gè)PNG功能示意圖以及SO動(dòng)態(tài)庫、HEX固件、UV2工程配置等關(guān)鍵構(gòu)建文件整體19.37MB結(jié)構(gòu)清晰覆蓋開發(fā)全流程。已有220人學(xué)習(xí)下載資源提供串口通信協(xié)議說明、電機(jī)與傳感器驅(qū)動(dòng)實(shí)現(xiàn)、嵌入式實(shí)時(shí)控制邏輯含源碼使用流程.c主干分析、硬件原理圖解讀及嵌入式智能晾衣架筆記說明.txt等實(shí)操型輔助資料特別適合通過真實(shí)項(xiàng)目掌握物聯(lián)網(wǎng)設(shè)備的感知、控制、通信與系統(tǒng)集成能力。1. 項(xiàng)目緣起從“晾衣服”這件小事說起不知道你有沒有過這樣的經(jīng)歷早上出門時(shí)陽光明媚把衣服晾出去結(jié)果下午突然變天一場暴雨把剛洗好的衣服又澆了個(gè)透心涼或者晚上收衣服時(shí)發(fā)現(xiàn)衣服還是潮乎乎的只能再開一晚上空調(diào)或者烘干機(jī)。又或者家里老人晾曬厚重的被褥時(shí)需要費(fèi)力地舉高、掛上既不方便也不安全。這些看似瑣碎的日常煩惱恰恰是智能家居可以大顯身手的地方。今天要聊的這個(gè)“智能晾衣架項(xiàng)目”就是針對(duì)這些痛點(diǎn)用技術(shù)讓生活變得更“聰明”、更省心一點(diǎn)。這個(gè)項(xiàng)目源自“粵嵌教育”的一個(gè)經(jīng)典實(shí)訓(xùn)案例它不僅僅是一個(gè)簡單的“晾衣架”而是一個(gè)集成了環(huán)境感知、自動(dòng)控制、遠(yuǎn)程交互和狀態(tài)反饋的微型物聯(lián)網(wǎng)系統(tǒng)。它用到的技術(shù)棧比如單片機(jī)、傳感器、無線通信模塊都是當(dāng)前嵌入式開發(fā)和物聯(lián)網(wǎng)應(yīng)用中最核心、最基礎(chǔ)的元素。所以無論你是嵌入式開發(fā)的新手想找一個(gè)完整的項(xiàng)目來練手還是對(duì)智能家居感興趣想了解一個(gè)具體產(chǎn)品是如何從想法變成代碼的這個(gè)項(xiàng)目的源碼都提供了一個(gè)絕佳的“解剖樣本”。很多人一聽到“項(xiàng)目源碼”可能覺得就是一堆冰冷的代碼文件。但實(shí)際上讀懂一個(gè)項(xiàng)目的源碼關(guān)鍵在于理解其背后的設(shè)計(jì)思路、硬件選型的考量、軟件架構(gòu)的劃分以及那些在開發(fā)過程中必然會(huì)遇到的“坑”和解決方案。接下來我們就拋開那些營銷話術(shù)從一個(gè)一線開發(fā)者的角度深入拆解這個(gè)智能晾衣架項(xiàng)目的核心看看它到底是怎么“想”的又是怎么“做”的。2. 核心需求拆解智能晾衣架到底要“智能”在哪在動(dòng)手寫第一行代碼之前我們必須先想清楚用戶到底需要什么一個(gè)“智能”的晾衣架絕不僅僅是能遙控升降那么簡單。基于常見的家庭生活場景我們可以梳理出以下幾個(gè)核心的、剛性的需求這也是我們后續(xù)硬件選型和軟件設(shè)計(jì)的根本依據(jù)。2.1 基礎(chǔ)功能升降與照明這是智能晾衣架的“基本功”也是最直觀的功能。用戶需要通過一個(gè)直觀的方式比如遙控器、手機(jī)App、或者語音來控制晾衣架的上升、下降和停止。同時(shí)集成在晾衣架上的LED照明燈也需要能獨(dú)立開關(guān)。這部分功能看似簡單但涉及到電機(jī)的驅(qū)動(dòng)控制PWM調(diào)速、正反轉(zhuǎn)、限位保護(hù)防止電機(jī)堵轉(zhuǎn)或運(yùn)行超程以及無線指令的可靠接收是整個(gè)系統(tǒng)穩(wěn)定運(yùn)行的基石。注意電機(jī)的選型和控制是這里的核心。晾衣架通常負(fù)載不輕濕衣服加上被子可能超過10公斤所以一般會(huì)選用扭矩足夠的直流電機(jī)或交流電機(jī)并配合減速箱。在代碼中必須做好電機(jī)的軟啟動(dòng)和軟停止避免瞬間電流過大或機(jī)械沖擊。同時(shí)一定要有物理限位開關(guān)行程開關(guān)和軟件超時(shí)保護(hù)的雙重保險(xiǎn)防止電機(jī)因故障一直運(yùn)行導(dǎo)致拉斷鋼絲或損壞結(jié)構(gòu)。2.2 環(huán)境感知與自動(dòng)決策這才是“智能”的體現(xiàn)。晾衣架需要能感知外部環(huán)境并做出合理的決策減少甚至無需人工干預(yù)。自動(dòng)升降通過光線傳感器或結(jié)合天氣API判斷是否天黑或下雨自動(dòng)收回晾衣架防止衣物被淋濕或夜間露水打濕。智能風(fēng)干/烘干通過溫濕度傳感器監(jiān)測衣物周圍的空氣狀態(tài)。如果濕度持續(xù)較高可以自動(dòng)開啟風(fēng)干模式內(nèi)置風(fēng)扇或烘干模式PTC加熱模塊加速衣物干燥。這里需要一個(gè)簡單的控制算法比如設(shè)定一個(gè)目標(biāo)濕度閾值當(dāng)環(huán)境濕度高于該閾值且持續(xù)一段時(shí)間后自動(dòng)啟動(dòng)輔助干燥功能。紫外線消毒集成UV-C紫外線燈管可以定時(shí)或在用戶遠(yuǎn)程指令下啟動(dòng)對(duì)衣物進(jìn)行殺菌消毒特別適合有嬰兒或易過敏人群的家庭。2.3 人機(jī)交互與遠(yuǎn)程控制用戶需要隨時(shí)隨地了解晾衣架的狀態(tài)并進(jìn)行控制。本地交互傳統(tǒng)的射頻遙控器是最穩(wěn)定、最直接的方式適合所有家庭成員尤其是老人。遙控器上需要有上升、下降、停止、照明、消毒等實(shí)體按鍵。遠(yuǎn)程交互通過Wi-Fi或藍(lán)牙模塊連接家庭網(wǎng)絡(luò)用戶可以使用手機(jī)App查看當(dāng)前晾衣架的高度、環(huán)境溫濕度、工作模式并遠(yuǎn)程控制所有功能。比如下班路上發(fā)現(xiàn)要下雨可以提前手機(jī)操作收回晾衣架。狀態(tài)反饋系統(tǒng)需要有明確的狀態(tài)指示。例如通過不同顏色的LED燈或蜂鳴器提示當(dāng)前處于自動(dòng)模式、手動(dòng)模式、故障狀態(tài)等。在App上更需要有清晰的狀態(tài)圖標(biāo)和文字說明。2.4 系統(tǒng)安全與可靠性作為一款家用電器安全永遠(yuǎn)是第一位的。過載保護(hù)通過電流檢測電路實(shí)時(shí)監(jiān)測電機(jī)工作電流。如果電流異常升高可能卡住或超重應(yīng)立即切斷電機(jī)電源并報(bào)警。遇阻即停在升降過程中如果遇到障礙物比如忘記取下的衣架電機(jī)阻力會(huì)增大。系統(tǒng)需要能快速檢測到這一變化可以通過電流或編碼器反饋判斷并立即停止運(yùn)行防止損壞衣物或造成危險(xiǎn)。斷電記憶發(fā)生意外斷電后重新上電晾衣架應(yīng)能保持?jǐn)嚯娗暗母叨葼顟B(tài)或者至少能安全地降落至一個(gè)預(yù)設(shè)的安全位置而不能失控亂跑。明確了這些需求我們才能有的放矢地進(jìn)行硬件選型和軟件架構(gòu)設(shè)計(jì)。這個(gè)需求列表實(shí)際上就是我們的產(chǎn)品功能說明書PRD的簡化版。3. 硬件架構(gòu)設(shè)計(jì)與核心器件選型有了清晰的需求我們就可以來搭建這個(gè)智能晾衣架的“身體”了。硬件選型直接決定了項(xiàng)目的成本、性能和可靠性。下面這個(gè)表格梳理了核心模塊的常見選型方案和選型理由你可以把它當(dāng)作一個(gè)硬件BOM物料清單的參考。模塊名稱核心器件/方案選型理由與關(guān)鍵參數(shù)主控單元STM32F103C8T6ARM Cortex-M3內(nèi)核性價(jià)比極高的“單片機(jī)之王”。72MHz主頻64KB Flash20KB RAM資源足夠應(yīng)對(duì)本項(xiàng)目的多任務(wù)電機(jī)控制、傳感器讀取、通信處理。擁有豐富的定時(shí)器用于PWM生成、ADC用于傳感器采樣、GPIO和通信接口UART, I2C, SPI。生態(tài)成熟資料極多非常適合學(xué)習(xí)和產(chǎn)品原型開發(fā)。升降驅(qū)動(dòng)直流減速電機(jī) H橋電機(jī)驅(qū)動(dòng)芯片如TB6612FNG或L298N直流電機(jī)控制簡單成本低。減速箱提供大扭矩。H橋電路可以實(shí)現(xiàn)電機(jī)的正反轉(zhuǎn)即升降和PWM調(diào)速實(shí)現(xiàn)平穩(wěn)啟停。TB6612FNG比L298N效率更高發(fā)熱更小。關(guān)鍵點(diǎn)電機(jī)的額定電壓常用12V或24V、額定扭矩需計(jì)算晾桿、衣物、電機(jī)的總重量、減速比。無線遙控基于ASIC的射頻發(fā)射/接收模塊如PT2262/PT2272編碼解碼芯片配對(duì)或現(xiàn)成的315MHz/433MHz模塊技術(shù)成熟成本極低穿透力強(qiáng)穩(wěn)定性好于紅外。適合作為最基礎(chǔ)的、不離身的控制方式。缺點(diǎn)是單向通信無法回傳狀態(tài)。網(wǎng)絡(luò)連接ESP8266Wi-Fi或ESP32Wi-Fi藍(lán)牙模塊通過串口UART與主控STM32通信為晾衣架賦予聯(lián)網(wǎng)能力。ESP8266性價(jià)比極高足以滿足聯(lián)網(wǎng)控制和數(shù)據(jù)上報(bào)需求。ESP32功能更強(qiáng)有藍(lán)牙可用于近距離配網(wǎng)但成本稍高。這是實(shí)現(xiàn)手機(jī)App控制的關(guān)鍵。環(huán)境感知DHT11/DHT22溫濕度傳感器 光敏電阻/光照度傳感器DHT11成本低精度一般濕度±5%溫度±2℃用于基本判斷足夠。DHT22精度更高。光敏電阻模擬環(huán)境光強(qiáng)度成本極低但需注意其非線性特性軟件需做校準(zhǔn)。光照度傳感器如BH1750數(shù)字輸出精度高但成本也高。輔助功能紫外線消毒燈管 繼電器模塊LED照明燈帶蜂鳴器紫外線燈管功率較大必須通過繼電器或可控硅由主控控制通斷切記做好電氣隔離。LED照明通常直接PWM調(diào)光。蜂鳴器用于操作提示音和報(bào)警。電源管理開關(guān)電源模塊如220V轉(zhuǎn)12V/5V 線性穩(wěn)壓芯片如AMS1117-3.3主電源將市電轉(zhuǎn)為12V直流供電機(jī)和部分模塊使用。再通過降壓穩(wěn)壓芯片得到穩(wěn)定的5V和3.3V分別給主控、傳感器、通信模塊供電。電源的功率余量一定要足特別是電機(jī)啟動(dòng)瞬間電流很大。在實(shí)際項(xiàng)目中你拿到的開發(fā)板或套件可能已經(jīng)集成了部分模塊。理解這個(gè)架構(gòu)的意義在于當(dāng)你想修改功能、替換器件或者排查硬件故障時(shí)你能清楚地知道每一部分的作用和它們之間的連接關(guān)系。例如如果遙控失靈了你應(yīng)該去檢查射頻接收模塊的電源、天線以及它給主控的信號(hào)線如果聯(lián)網(wǎng)失敗則應(yīng)該檢查ESP8266的供電和串口通信數(shù)據(jù)。4. 軟件系統(tǒng)架構(gòu)與核心邏輯流程硬件是軀體軟件就是靈魂。一個(gè)好的軟件架構(gòu)能讓代碼清晰、易于維護(hù)和擴(kuò)展。對(duì)于這個(gè)智能晾衣架項(xiàng)目我們通常采用“前后臺(tái)”或基于實(shí)時(shí)操作系統(tǒng)RTOS的架構(gòu)。對(duì)于初學(xué)者一個(gè)清晰的前后臺(tái)超級(jí)循環(huán)架構(gòu)完全夠用。4.1 系統(tǒng)軟件架構(gòu)分層我們可以將軟件分為以下幾個(gè)層次這有助于我們分模塊編寫和調(diào)試代碼硬件驅(qū)動(dòng)層HAL/Driver這是最底層直接操作寄存器或使用標(biāo)準(zhǔn)庫如STM32的HAL庫來控制具體的硬件。例如motor.c包含初始化電機(jī)GPIO和定時(shí)器PWM以及控制電機(jī)正轉(zhuǎn)、反轉(zhuǎn)、停止、調(diào)速的函數(shù)。uart.c配置串口實(shí)現(xiàn)與ESP8266模塊的通信協(xié)議如發(fā)送AT指令解析返回的數(shù)據(jù)。sensor.c讀取DHT11的溫濕度數(shù)據(jù)讀取光敏電阻的ADC值并轉(zhuǎn)換為光照強(qiáng)度。rf_receiver.c解碼射頻遙控器發(fā)送過來的按鍵編碼。功能模塊層Module在驅(qū)動(dòng)層之上實(shí)現(xiàn)具體的業(yè)務(wù)功能。每個(gè)模塊相對(duì)獨(dú)立。auto_mode.c實(shí)現(xiàn)自動(dòng)模式的邏輯。例如周期性檢查光照和濕度根據(jù)預(yù)設(shè)的閾值決定是否要升降或開啟風(fēng)干。remote_ctrl.c處理來自射頻遙控器和手機(jī)App的控制指令將其轉(zhuǎn)化為對(duì)驅(qū)動(dòng)層的調(diào)用。safety_monitor.c一個(gè)高優(yōu)先級(jí)的監(jiān)控任務(wù)不斷檢查電機(jī)電流通過ADC采樣、限位開關(guān)狀態(tài)實(shí)現(xiàn)過載保護(hù)和遇阻即停。應(yīng)用邏輯層Application這是主程序main.c中的超級(jí)循環(huán)while(1)部分。它負(fù)責(zé)協(xié)調(diào)各個(gè)功能模塊處理系統(tǒng)的整體狀態(tài)機(jī)。例如系統(tǒng)可能有幾個(gè)狀態(tài)IDLE待機(jī)、MANUAL_CTRL手動(dòng)控制、AUTO_RUNNING自動(dòng)運(yùn)行、FAULT故障。主循環(huán)根據(jù)當(dāng)前狀態(tài)、接收到的指令和傳感器數(shù)據(jù)來決定調(diào)用哪個(gè)模塊的函數(shù)并切換狀態(tài)。通信協(xié)議層Protocol定義主控與ESP8266之間以及ESP8266與手機(jī)App/云平臺(tái)之間的數(shù)據(jù)格式。通常使用簡單的自定義串口協(xié)議或標(biāo)準(zhǔn)的物聯(lián)網(wǎng)協(xié)議如MQTT。下位機(jī)協(xié)議STM32 - ESP8266可以定義如{CMD, DATA, CHECKSUM}這樣的幀結(jié)構(gòu)。例如手機(jī)App發(fā)送下降指令ESP8266通過串口發(fā)給STM32一個(gè)字節(jié)0x02STM32解析后執(zhí)行下降操作。上位機(jī)協(xié)議ESP8266 - 云/App常用MQTT。ESP8266訂閱控制主題如/device/001/cmd發(fā)布狀態(tài)主題如/device/001/status。狀態(tài)信息可以封裝為JSON格式如{height: 85, temp: 25, humi: 60, light: ON, mode: auto}。4.2 核心工作流程與狀態(tài)機(jī)讓我們聚焦于最核心的“自動(dòng)升降”邏輯看看代碼是如何思考的。這本質(zhì)上是一個(gè)有限狀態(tài)機(jī)FSM。假設(shè)我們定義光照低于某個(gè)值LIGHT_THRESHOLD或 檢測到雨水通過雨水傳感器或簡單用濕度突變來模擬時(shí)需要自動(dòng)收回。// 偽代碼展示主循環(huán)中的自動(dòng)模式邏輯片段 void main_loop() { // 1. 讀取傳感器數(shù)據(jù) light_value read_light_sensor(); rain_detected check_rain_sensor(); // 或通過濕度突變判斷 // 2. 判斷是否滿足收回條件 if (system_mode AUTO_MODE) { if (light_value LIGHT_THRESHOLD || rain_detected TRUE) { // 條件滿足觸發(fā)收回 if (current_height SAFE_HEIGHT) { // 如果當(dāng)前高度高于安全高度已下降 start_motor(DIR_DOWN); // 啟動(dòng)電機(jī)下降 system_state AUTO_RETRACTING; send_status_to_app(自動(dòng)收回中...); } } else { // 天氣轉(zhuǎn)好判斷是否伸出 if (current_height SAFE_HEIGHT is_daytime()) { // 簡單用光照判斷白天 start_motor(DIR_UP); system_state AUTO_EXTENDING; send_status_to_app(自動(dòng)伸出中...); } } } // 3. 在升降過程中持續(xù)監(jiān)控 if (system_state AUTO_RETRACTING || system_state AUTO_EXTENDING) { // 檢查是否到達(dá)目標(biāo)位置通過限位開關(guān)或編碼器 if (check_limit_switch() TARGET_REACHED) { stop_motor(); system_state IDLE; send_status_to_app(自動(dòng)操作完成); } // 同時(shí)安全監(jiān)控模塊一直在獨(dú)立工作檢查電流等 safety_check(); } }這個(gè)流程看似簡單但里面藏著很多細(xì)節(jié)。比如is_daytime()函數(shù)怎么實(shí)現(xiàn)可以用一個(gè)簡單的光照閾值也可以引入RTC實(shí)時(shí)時(shí)鐘判斷時(shí)間范圍。再比如為了防止環(huán)境光線短暫變化如云飄過導(dǎo)致晾衣架頻繁升降需要加入遲滯比較和去抖判斷。例如連續(xù)5次采樣都滿足黑暗條件才真正觸發(fā)收回動(dòng)作。實(shí)操心得狀態(tài)機(jī)的清晰定義是項(xiàng)目穩(wěn)定的關(guān)鍵。務(wù)必把每個(gè)狀態(tài)如待機(jī)、上升中、下降中、故障以及狀態(tài)之間的轉(zhuǎn)換條件如按下上升鍵、遇到限位、電流超限用紙筆畫出來。這樣寫代碼時(shí)邏輯會(huì)非常清晰調(diào)試時(shí)也容易定位問題。千萬不要把所有邏輯都堆在main函數(shù)的if-else里。5. 關(guān)鍵代碼模塊深度解析與避坑指南看懂了架構(gòu)和流程我們深入到幾個(gè)關(guān)鍵的代碼模塊看看具體實(shí)現(xiàn)時(shí)有哪些門道和容易踩的坑。5.1 電機(jī)平穩(wěn)控制與保護(hù)實(shí)現(xiàn)電機(jī)控制是硬件操作中最容易出問題的地方。粗暴地給電機(jī)通電/斷電會(huì)產(chǎn)生電火花、噪音縮短壽命。PWM平滑調(diào)速// 使用STM32的定時(shí)器產(chǎn)生PWM控制電機(jī)速度 void motor_set_speed(uint8_t speed) { // speed: 0-100 // 限制速度范圍防止過沖 if(speed 100) speed 100; // 將速度百分比轉(zhuǎn)換為定時(shí)器比較寄存器的值 uint16_t ccr_value (speed * MAX_CCR) / 100; __HAL_TIM_SET_COMPARE(htim2, TIM_CHANNEL_1, ccr_value); } // 控制電機(jī)運(yùn)動(dòng) void motor_move(direction_t dir, uint8_t speed) { // 先設(shè)置方向引腳 HAL_GPIO_WritePin(MOTOR_IN1_GPIO_Port, MOTOR_IN1_Pin, (dir FORWARD) ? GPIO_PIN_SET : GPIO_PIN_RESET); HAL_GPIO_WritePin(MOTOR_IN2_GPIO_Port, MOTOR_IN2_Pin, (dir FORWARD) ? GPIO_PIN_RESET : GPIO_PIN_SET); // 軟啟動(dòng)速度從0逐漸增加到目標(biāo)值避免沖擊 for(int i0; ispeed; i5) { motor_set_speed(i); HAL_Delay(20); // 每步間隔20ms } }過載與堵轉(zhuǎn)保護(hù)這是安全的核心。我們可以通過一個(gè)ADC通道采樣串聯(lián)在電機(jī)回路中的小電阻采樣電阻兩端的電壓從而計(jì)算出實(shí)時(shí)電流。#define MOTOR_NORMAL_CURRENT 500 // 單位mA電機(jī)正常空載/負(fù)載電流 #define MOTOR_OVERLOAD_THRESHOLD 1500 // 過流閾值單位mA #define SAMPLE_RESISTOR 0.1 // 采樣電阻阻值單位歐姆 uint16_t check_motor_current() { uint16_t adc_value read_motor_current_adc(); // 讀取ADC值 // 將ADC值轉(zhuǎn)換為電壓再根據(jù)采樣電阻計(jì)算電流 (I V / R) float voltage (adc_value / 4095.0) * 3.3; // 假設(shè)12位ADC參考電壓3.3V float current_ma (voltage / SAMPLE_RESISTOR) * 1000.0; if(current_ma MOTOR_OVERLOAD_THRESHOLD) { // 立即停止電機(jī) emergency_stop_motor(); system_state FAULT; send_fault_to_app(電機(jī)過載); // 可以嘗試記錄故障日志 } return (uint16_t)current_ma; }避坑指南1ADC采樣噪聲。電機(jī)是大的干擾源其啟停會(huì)在電源線上產(chǎn)生毛刺嚴(yán)重影響ADC采樣。務(wù)必在采樣電阻兩端并聯(lián)一個(gè)1040.1uF的瓷片電容進(jìn)行濾波并在軟件上采用多次采樣取平均值的算法。 避坑指南2保護(hù)邏輯的優(yōu)先級(jí)。過載保護(hù)、限位保護(hù)的檢測必須放在主循環(huán)中盡可能快的位置或者使用中斷。絕對(duì)不能因?yàn)槠渌臅r(shí)任務(wù)如網(wǎng)絡(luò)通信而阻塞了安全檢測。5.2 串口通信與ESP8266驅(qū)動(dòng)讓STM32和ESP8266穩(wěn)定通信是聯(lián)網(wǎng)功能的生命線。ESP8266通常工作在AT指令模式。初始化與配網(wǎng)void esp8266_init() { uart_send_string(AT\r\n); // 測試通信 wait_for_response(OK, 1000); uart_send_string(ATCWMODE1\r\n); // 設(shè)置為Station模式 wait_for_response(OK, 1000); // 連接Wi-Fi這里SSID和PASSWORD需要替換 char cmd[128]; sprintf(cmd, ATCWJAP\%s\,\%s\\r\n, WIFI_SSID, WIFI_PASSWORD); uart_send_string(cmd); wait_for_response(OK, 10000); // 連接Wi-Fi可能較久超時(shí)設(shè)長點(diǎn) // 建立TCP連接或MQTT連接以TCP連接到服務(wù)器為例 uart_send_string(ATCIPSTART\TCP\,\your_server_ip\,your_server_port\r\n); wait_for_response(OK, 5000); }數(shù)據(jù)發(fā)送與接收AT指令的響應(yīng)是異步的且可能包含多余信息如IPD開頭的接收數(shù)據(jù)。我們需要一個(gè)健壯的解析狀態(tài)機(jī)。// 簡化版的接收解析狀態(tài)機(jī) void parse_esp8266_response(uint8_t received_char) { static char rx_buffer[256]; static int index 0; rx_buffer[index] received_char; // 檢查是否收到完整一行以\r\n結(jié)尾 if(index 2 rx_buffer[index-2] \r rx_buffer[index-1] \n) { rx_buffer[index-2] \0; // 去掉結(jié)尾的\r\n形成字符串 // 判斷這一行內(nèi)容 if(strstr(rx_buffer, OK) ! NULL) { // 上一個(gè)AT指令執(zhí)行成功 last_at_cmd_success true; } else if(strstr(rx_buffer, ERROR) ! NULL) { // 上一個(gè)AT指令執(zhí)行失敗 last_at_cmd_success false; } else if(strncmp(rx_buffer, IPD,, 5) 0) { // 收到服務(wù)器發(fā)來的數(shù)據(jù)格式如 IPD,len:data // 需要進(jìn)一步解析長度和數(shù)據(jù)內(nèi)容 parse_ipd_data(rx_buffer); } // 清空緩沖區(qū)準(zhǔn)備接收下一行 index 0; } // 防止緩沖區(qū)溢出 if(index sizeof(rx_buffer)) index 0; }避坑指南3AT指令的穩(wěn)定性。ESP8266對(duì)AT指令的響應(yīng)時(shí)間不確定網(wǎng)絡(luò)不好時(shí)可能很慢。wait_for_response函數(shù)必須實(shí)現(xiàn)超時(shí)重發(fā)機(jī)制并且要有重試次數(shù)限制。對(duì)于配網(wǎng)等關(guān)鍵指令如果連續(xù)失敗幾次最好能進(jìn)入一個(gè)錯(cuò)誤處理模式如閃爍LED報(bào)警而不是死等。 避坑指南4數(shù)據(jù)粘包與斷包。網(wǎng)絡(luò)數(shù)據(jù)流不是按你發(fā)送的“包”來到達(dá)的。我們的解析狀態(tài)機(jī)必須能處理半包、粘包的情況。上面的parse_ipd_data函數(shù)需要根據(jù)IPD后面指示的長度len來精確地提取出完整的一幀應(yīng)用數(shù)據(jù)。5.3 傳感器數(shù)據(jù)采集與濾波傳感器數(shù)據(jù)如溫濕度、光照通常帶有噪聲直接使用單次采樣值會(huì)導(dǎo)致系統(tǒng)判斷抖動(dòng)。軟件濾波算法這里介紹兩種簡單有效的方法?;瑒?dòng)平均濾波維護(hù)一個(gè)固定長度的隊(duì)列每次新數(shù)據(jù)進(jìn)來剔除最舊的數(shù)據(jù)計(jì)算隊(duì)列中所有數(shù)據(jù)的平均值。#define FILTER_WINDOW_SIZE 10 uint16_t light_filter_buffer[FILTER_WINDOW_SIZE]; uint8_t filter_index 0; uint16_t filter_light_value(uint16_t raw_value) { light_filter_buffer[filter_index] raw_value; filter_index (filter_index 1) % FILTER_WINDOW_SIZE; uint32_t sum 0; for(int i0; iFILTER_WINDOW_SIZE; i) { sum light_filter_buffer[i]; } return (uint16_t)(sum / FILTER_WINDOW_SIZE); }一階滯后濾波低通濾波本次濾波結(jié)果 α * 本次采樣值 (1-α) * 上次濾波結(jié)果。α是濾波系數(shù)0α1α越小濾波結(jié)果越平穩(wěn)但響應(yīng)越慢。#define ALPHA 0.3 float filtered_humidity 0.0; float filter_humidity(float raw_value) { filtered_humidity ALPHA * raw_value (1 - ALPHA) * filtered_humidity; return filtered_humidity; }閾值判斷與遲滯為了防止在閾值附近反復(fù)切換必須引入遲滯。#define LIGHT_ON_THRESHOLD 50 // 開燈光照閾值 #define LIGHT_OFF_THRESHOLD 70 // 關(guān)燈光照閾值比開啟閾值高形成遲滯區(qū)間 bool light_status false; void check_auto_light() { uint16_t light get_filtered_light_value(); if(!light_status light LIGHT_ON_THRESHOLD) { turn_on_light(); light_status true; } else if(light_status light LIGHT_OFF_THRESHOLD) { turn_off_light(); light_status false; } // 當(dāng)光照在50-70之間時(shí)保持原有狀態(tài)不變 }這個(gè)遲滯區(qū)間[50, 70]就像一個(gè)緩沖區(qū)有效避免了光照在50上下輕微波動(dòng)時(shí)燈光頻繁開關(guān)的問題。同樣的邏輯可以用于自動(dòng)升降的判斷。6. 項(xiàng)目源碼的工程化與擴(kuò)展思考當(dāng)你拿到一個(gè)像“粵嵌教育智能晾衣架”這樣的項(xiàng)目源碼時(shí)除了讓它跑起來更應(yīng)該學(xué)習(xí)其工程組織方式并思考如何將其變得更專業(yè)、更強(qiáng)大。6.1 典型的工程目錄結(jié)構(gòu)一個(gè)規(guī)范的工程目錄能讓協(xié)作和后期維護(hù)事半功倍。它可能長這樣Smart_Dryer/ ├── Core/ # 核心板級(jí)支持包 │ ├── Inc/ # 頭文件 │ └── Src/ # 源文件 (main.c, stm32f1xx_it.c等) ├── Drivers/ │ ├── CMSIS/ # ARM Cortex-M核支持 │ └── STM32F1xx_HAL_Driver/ # ST官方HAL庫 ├── Middlewares/ # 中間件如果用了RTOS、文件系統(tǒng)等 ├── Projects/ # 具體的IDE工程文件MDK, IAR等 ├── UserApp/ # **我們編寫的應(yīng)用代碼放在這里** │ ├── Inc/ │ │ ├── motor.h │ │ ├── sensor.h │ │ ├── esp8266.h │ │ ├── remote_ctrl.h │ │ └── config.h # 系統(tǒng)配置文件參數(shù)、宏定義 │ ├── Src/ │ │ ├── motor.c │ │ ├── sensor.c │ │ ├── esp8266.c │ │ └── remote_ctrl.c │ └── Tasks/ # 如果使用RTOS任務(wù)函數(shù)放這里 └── README.md # 項(xiàng)目說明文檔在config.h中集中管理所有可調(diào)參數(shù)如Wi-Fi賬號(hào)密碼、服務(wù)器地址、各種閾值光照、濕度、電機(jī)速度等。這樣調(diào)試時(shí)無需在代碼中到處翻找。6.2 從實(shí)訓(xùn)項(xiàng)目到產(chǎn)品的進(jìn)階思考實(shí)訓(xùn)項(xiàng)目為了教學(xué)往往做了簡化。如果你想把它變成一個(gè)更接近產(chǎn)品的原型可以考慮以下方向引入實(shí)時(shí)操作系統(tǒng)RTOS如FreeRTOS。將電機(jī)控制、網(wǎng)絡(luò)通信、傳感器采集、UI顯示等任務(wù)模塊化每個(gè)任務(wù)一個(gè)獨(dú)立的線程。RTOS提供了任務(wù)調(diào)度、消息隊(duì)列、信號(hào)量等機(jī)制能更優(yōu)雅地處理多任務(wù)并發(fā)和資源共享問題提高系統(tǒng)的響應(yīng)性和可靠性。例如網(wǎng)絡(luò)通信任務(wù)阻塞等待服務(wù)器數(shù)據(jù)時(shí)不會(huì)影響高優(yōu)先級(jí)的電機(jī)安全監(jiān)控任務(wù)。更強(qiáng)大的聯(lián)網(wǎng)與云平臺(tái)集成不止于簡單的TCP透傳??梢约蒑QTT客戶端連接阿里云IoT、騰訊云IoT或自建的EMQX等MQTT Broker。利用云平臺(tái)提供的設(shè)備管理、數(shù)據(jù)可視化、規(guī)則引擎等功能可以實(shí)現(xiàn)更復(fù)雜的場景聯(lián)動(dòng)比如“如果濕度80%且是白天則開啟強(qiáng)風(fēng)干模式并發(fā)送App推送通知”。增加本地用戶界面可以添加一個(gè)小型的OLED顯示屏實(shí)時(shí)顯示高度、溫濕度、模式、Wi-Fi連接狀態(tài)等信息。再配合一個(gè)旋轉(zhuǎn)編碼器或幾個(gè)按鍵就可以實(shí)現(xiàn)豐富的本地菜單設(shè)置不依賴手機(jī)也能操作。功耗優(yōu)化如果考慮電池供電或低功耗場景雖然晾衣架通常常電需要優(yōu)化代碼。在空閑時(shí)讓主控進(jìn)入低功耗模式Stop或Sleep模式用外部中斷如遙控器按鍵、傳感器信號(hào)變化來喚醒。同時(shí)周期性工作的任務(wù)如傳感器采樣間隔可以拉長。固件升級(jí)OTA通過Wi-Fi實(shí)現(xiàn)空中升級(jí)功能。這需要設(shè)計(jì)一個(gè)Bootloader程序負(fù)責(zé)接收新固件、校驗(yàn)并將其寫入到應(yīng)用程序區(qū)。對(duì)于智能設(shè)備來說OTA是必備功能可以遠(yuǎn)程修復(fù)bug和增加新功能。6.3 調(diào)試與問題排查的心得最后分享幾個(gè)在開發(fā)這類物聯(lián)網(wǎng)嵌入式項(xiàng)目時(shí)幾乎一定會(huì)用到的調(diào)試“神器”和思路邏輯分析儀對(duì)于分析射頻遙控編碼、串口通信波形、PWM信號(hào)頻率占空比、I2C/SPI時(shí)序等邏輯分析儀比示波器更直觀。它能清晰地展示出數(shù)字信號(hào)線上的每一位數(shù)據(jù)是破解通信協(xié)議、驗(yàn)證時(shí)序的利器。串口調(diào)試助手這是最常用的軟件工具。除了查看打印的日志更要善于利用它主動(dòng)發(fā)送數(shù)據(jù)來模擬測試。比如你可以手動(dòng)拼接一個(gè)模擬手機(jī)App下發(fā)的控制指令通過串口發(fā)給STM32看它能否正確解析和執(zhí)行從而將網(wǎng)絡(luò)問題與下位機(jī)邏輯問題隔離開。分模塊調(diào)試不要試圖一下子把整個(gè)系統(tǒng)調(diào)通。先調(diào)通硬件驅(qū)動(dòng)比如讓電機(jī)能正反轉(zhuǎn)、讓DHT11能讀出數(shù)再調(diào)通單個(gè)功能模塊比如自動(dòng)模式邏輯最后再整合通信模塊。每完成一個(gè)步驟就做一個(gè)標(biāo)記比如點(diǎn)亮一個(gè)不同的LED讓自己和代碼都心中有數(shù)。利用看門狗一定要開啟單片機(jī)的獨(dú)立看門狗IWDG。在main循環(huán)和關(guān)鍵任務(wù)中定期“喂狗”。這樣萬一程序跑飛或陷入死循環(huán)系統(tǒng)能夠自動(dòng)復(fù)位而不是“死”在那里這對(duì)于家電產(chǎn)品是基本的安全要求。這個(gè)智能晾衣架項(xiàng)目麻雀雖小五臟俱全。它涵蓋了嵌入式開發(fā)從硬件到軟件、從驅(qū)動(dòng)到應(yīng)用、從本地控制到物聯(lián)網(wǎng)接入的完整鏈條。通過深入研讀和動(dòng)手實(shí)踐它的源碼你收獲的將不僅僅是一個(gè)“會(huì)動(dòng)的晾衣架”而是一套解決實(shí)際問題的嵌入式系統(tǒng)開發(fā)方法論。當(dāng)你下次再面對(duì)一個(gè)全新的智能硬件創(chuàng)意時(shí)這套從需求分析、硬件選型、軟件架構(gòu)到調(diào)試部署的完整思路將會(huì)是你最有力的工具。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
婷婷五月图片小说视频| 天干夜夜操| 丁香婷婷六月天| 丁香五月在线自慰| 嫩草AV久久伊人妇女超级A| 激情六月婷| 无码激情精品色婷婷久久久久| 666555。COm毛片| 免费在线观看欧美激情xx小视频| WWW、日本色丁香co m| 99久久偷拍视频| 另类小说五月天| 色婷婷五月天小说| 丁香六月高清视频| 天天天操天天天爰| 五月激情视频| 久久999久久999久久999久久| 91操人| 亚洲另类视频| 天天爽综合网| 五月六月激情| 99热这里有精品2| 操碰91| 久久99jiu9| 丁香九月婷婷| 678五月丁香亚洲综合| 丁香操逼| 99视频啪啪| 亚洲综合色网| 99热这里只有精品16| 色五月丁香婷婷| 综合婷婷| 66精品国产成人| 国产欧美日韩综合精品一区二区| www.五月天| 成人短视频在线免费观看| tingtingzonghewang| www.色综合| 99碰视频| 全高清无码视頻| 91在线观看www| 99精品无码| 96丁香六月婷婷蜜桃综合久久| 99热这里只有精品23| 亚洲AV成人精品日韩在线播放| 综合 蜜月 婷婷| 少妇AB又爽又紧无码网站| 狼人久草| www.激情在线| 五月色情婷婷开心五月色情| 五月婷婷播| 综合丁香婷婷五月天| 五月激情婷婷综合| 只有精品视频在线观看| 色婷婷97| 中文资源在线a| 草草女人亚洲| 激情综合色| 五月天综合视频| 久久婷婷网| 99人妻碰碰碰久久久久视| 婷婷五月六月激情| 99精品国产在热久久婷婷| 丁香五月天AV| 开心色五月天久久久久久久| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 六月婷婷俺也去| 亚洲精品成人| 国产裸舞福利资源在线视频| 狠狠插狠狠| www婷婷色| 色色婷| 涩五月婷婷| 超碰99热| 国产99久久久国产精品免费看| 国产亚洲精品AAAAAAA片| 婷婷激情四射| 久操乱| yw国产AV| 原琪琪色影院| 国产欧美婷婷五月| 九九热最新地址| 激情五月小说婷婷| 五月婷婷六月丁香在线| 五月天婷婷基地| 丁香激情网| 97日韩无套内| 久久伦乱| 久久久婷丁香五月| 人人草人人舔| 免费视频WWW在线观看网站| 亚洲中文字幕在线观看| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 激情婷婷丁香五月| 色色九九五月天| 国产91九色| 99热99色| 丁香五月欧美激情| 五月丁香六月婷婷的女人| 国产激情AV| 久久久婷婷婷| 四色AVwww| 91视频五月丁香| 91在线日| 99在线视频观看| 亚洲综合五月天婷婷| 亚洲精品又粗又大又爽A片| 开心五月婷婷伊人| 99这里有精品久久97| 九九爱看亚洲| 综合玖玖性爱免费视频| 99热这里只有精品33| 五月花激情| 综合网色| 五月天激情亚洲| 99视频九九热| 激情五月婷| 丁香五月天大香蕉啪啪| 九九色99| 五月天婷婷无码| 久久五月天大美女| 婷婷中文字幕网| 欧美99| 人人操91色| 在线看片av| 五月天婷婷爱丁香中文字幕| 99热青青草| 亚洲网站观看视频| 激情的五月婷婷蜜桃| 人妻久久久久久久久久久| 色九月婷婷| 香蕉人妻AV久久久久天天| 九九99在线视频| 婷婷五月激情基地| 久热免费视频| 婷婷五月中文字幕| 99热无码| 狠狠狠狠狠狠草| 超碰人人艹| 婷婷玉月丁香五月在线视频| 99久视频| 婷婷午夜| 伊人网碰碰| 亚洲综合五月天婷婷| 丁香五月综合婷婷| 超碰九九热| 欧美日韩成人在线| 在线观看熟女少妇| 国产精品久久..4399| 日韩啪啪自拍| 99热这里只有免费精品| 影音先锋五月婷婷| 五月丁香欧美综合免费视频| 国产亚洲精品AAAAAAA片 | 超碰97干| 99视频在线| 亚洲乱码日产精品BD| 亚洲Av成人在线观看| 五月婷婷精品视频| 久99婷婷色综合| 五月婷成人| 婷婷色五天| 色婷婷精| 亚洲欧美999| 丁香网五月天| 亚洲色A| 成人无码精品1区2区3区免费看| 任你日视频| 欧美黄色韩日网| 久久色大香蕉| 激情网综合| 国产精产国品一二三在观看| 丁香五月AV综合| 91九色精品女同系列| 婷婷五月天首页激情| 色色欧美色色| 大香蕉75线| Va另类视频| 亚洲精品又粗又大又爽A片| 激情综合五月激情17| 色优久久| 五月丁香拍拍激情综合| 综合另类视频| 亚洲五月天第一综合干| 青柠影视免费高清电视剧| 好好干Av| 国产午夜伦鲁鲁| 99久久九九| 91丨九色丨熟女高潮| 久婷婷婷| 五月丁香在线| 九色色| 久久玖玖99| 激情五月天色婷婷| 婷婷大乡焦噜噜| 色欲婷婷五月天丁香| 2016日日夜夜操| 丁香六月激情国产| 色婷| 女人高潮内射99精品| 欧美综合婷婷欧美综| 一本大道熟女人妻中文字幕在线| 亚洲性色XXXXX| 精品一区久热| 天天天操天天天日| 激情综合五| 神马欧美精| 欧美日韩成人免费在线| 中文字幕无码人妻少妇免费视频 | 色呦呦美女| 色婷天天| 日韩AAA| 玖玖婷婷免费| 99免费热视频在线| 99热情这里只有精品在线播放| 亚洲精品久久久久久久久久吃药| 综合五月丁香六月婷婷| 五月丁香激情综合网| 丁香五月AV| 人妻熟妇六区| 偷拍九九热| 婷婷色五月综合| 欧美日韩国产一区| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 亚洲综合99| 色六月丁香婷婷狠狠干| 永久热91| 久久怡红院| 丁香五月天激情小说| 婷婷五月丁香人妻无码高清| 色播综合| 婷婷五月色| 丁香五月激情天AV无码| 国产亚洲色婷婷久久99精品9j| 久久亚洲激情五码| BT综合在线视频观看| 六月丁香五月婷婷| 999婷婷综合| 五月天婷婷色色| 不卡在线中文字幕无| 五月六月婷| 亚洲五月天色| 97超碰99热99| 香蕉久久av一区二区三区| 久色视频| 五月丁香六月婷婷综合伊人| 337p大胆噜噜噜噜噜91Av| 成人无码髙潮喷水A片| 婷婷色五月色| sewuyue第四色| 超碰免费大香蕉| 最近中文字幕2019视频1| 久久九九免费视频| 激情五月丁香六月婷婷| 精品视频99看在线视频| 中文字幕在线不卡| 中文字幕激情综合| 丁香婷婷五月综合欧美另类| 婷婷六月天| 九九99一区| 丁香六月婷婷综合色| 久久人操-久草婷婷-成人AV| 热久综合| 专区无日本视频高清8| 97色在线视频| www.91九色| 人人摸人人干人人做| 99热 这里只有精品 国产 日韩| 五月丁香婷婷钟和色图| 精品一二三区久久AAA片| 五月丁香色综合| 综合六月激情婷婷| 亚洲AAA| 六月色婷婷色| 婷婷激情五月吧| 香蕉婷婷色五月| 色99视频| 在线不卡视频| 午夜丁香婷婷| 色色婷| 草草视频91| 思思热这里只有精品| 五月天激情婷婷丁香| 亚洲综合99| 九九大香蕉黄色影院| 亚洲免费电影2| 婷婷五月激情四射手| 色色五月天婷婷| 色色操| 日本99在线视频| 丁香成人五月天| 天天做 天天爱| 色综合久久88色综合天天人守婷| 婷婷久久久久久久| 凹凸探花电影| 日本成人噜噜噜噜噜| XXXX岛国| 亚洲乱码成人| 色六月视频| 五月丁香婷在线| 在线观看玖玖资源免费观看| WWW.色婷婷.COM| 97色色色色色色色色色色色色色| 欧美Va在线| 99re这里有精品手机在线| 国产五月婷| 成人欧美Va| 天天艹天天色| 深爱激情五月婷婷| 丁香五月六月综合激情| 天堂中文国产| 色偷偷综合| 亚洲九九夜夜| 色欲AVV| 亚州成人综合在线| 狠狠色噜噜狠狠| 久久婷婷五月天激情四射| 婷婷五月色综合| 五月丁香亭亭操逼| 三区激情四射av| 777丁香六月青青草婷婷综合久月| 色色自拍视频网站| 色情一区二区播放| 99热| 婷婷久久五月天| 亚洲第一第二网站| 国产性av| 久热视频97AV在线观看| www.91在线观看| 级情九色| 夜夜做夜夜愛| 9999三级片| www,天天干| 五月花免费视频| 午夜成人片400| 4399无码视频二区| 翔田千里 50岁 无码| 99 热| 人人爽人人爽人人爽人人爽| 98毛片| 婷婷免费无视频| 99热这里只有精品2| 色综合久久中文| 婷婷五月婷婷| 久草视频大香蕉99| 婷婷伊人| 婷婷激情五月天小说校园| 涩涩五月天| 婷婷在线播放| 99热国产在线| 日韩成人电影在线播放| 第四色婷婷五月| 九九热免费视频| 亚洲五月婷婷| 97操碰人人| 久热这里这里有精品| 国产在线6| 人人爽天天爽| 免费无码毛片一区二区A片| 婷婷激情五月天激情小说| 99资源在线| 天天操夜夜啊| 精品色色| 国产性爱在线| 男女99免费视频| 丁香五月天无码| 涩五月色婷婷| 在线不卡视频| 综合激情五月婷婷| 亚洲色情网站| 亚洲亚洲人成综合网络| 色五月激情综合网| 热久精品| 成人AV片播放| 国产精品噜噜在线视频| 综合色播| 九九99热| a久久免费视频| 亚洲人妻av| 免费看成人747474九号视频在线观看| 天天爽在线视频| 激情五月丁香色色去久久| 人妻操逼视频。| 六月色播| 成人免费超碰| 99re这里有精品手机在线| 色婷婷操逼| 涩丁香91| 婷婷五月天激情五月天网站| 九九成人视频| 亚洲一个色| 色五月亚洲| 色就色94欧美setu| 97久久香草精品视频| 久久婷婷五月天蜜桃| 极品人妻VIDEOSSS人妻| 亭亭五月丁香综合欧美| 久久久WWW| 狠狠久综合| 国产精品五月丁香| 久久XX| 欧美图片丁香五月天| 五月天六月婷婷电影| 超pen个人视频97| 9热在线视频精品| 五月丁香婷婷婷婷综合网| 激情五月天 婷婷| 高清成人综合| 大香蕉久热| 色激情网| 天天婷婷色六月| 好吊兆人妻| 激情综合网激情五月欧美| 天堂A∨在线| 丁香九色不卡aaa| 亚洲狠狠狠| 伊人久久丁香五月91| 天天爱天天做天天舔| 久久婷婷五月天激情| 丁香婷婷久久 | 思思国产99| 丁香五月天大香蕉啪啪| 色婷婷久久综合丁香五月| 96自拍视频九色在线观看| 久碰婷婷视频| 色色色国产| 99热综合网| 日日日日操| 五月丁香在线观看99| 思思久久精品| 久久九九99字幕| 久久伊人婷婷| 国产精品视频网| 色婷婷丁香A片区毛片区女人区| 激情五月天在线视频| 六月丁香婷婷综合色播| 欧美激情综合色综合啪啪五月| 成人做爰高潮A片免费视频| 色亭亭五月天丁香综合AV - 百度 - 百度| 久久激情综合| 丁香五月婷婷激情小说| 9色天堂| 91九色精品熟女内射| 性爱视频99| 色五月天天| 婷婷精品在线| 亚洲99在线| 99热精品在线播放| 99热综合网| 丁香五月天激情综合| 婷婷操逼网| 欧美超级视频97| 99这里有精品视频| 六月丁香激情| 久久日婷婷| 色婷婷激情| 色五月婷婷在线| 九九色色| 婷婷五月天小说| 久久免费视频62| 婷婷五月欧美综合| 婷婷六月综合在线| 开心亚洲久久开心| 色五月天天| 轮奸综合网| 天堂久久精品| 亚洲视频码| 一级片操逼视频| 1024操逼| 亚韩精品视频1区| 亚洲乱码日产精品BD| 99精品在线观看视频| 99热在线只有精品| 丁香五月激情婷婷| 婷婷五月色情天| 激情婷婷网| 婷丁香五月天| 淫水导航| 五月婷婷六月色| 这里只有精彩视频| 丁香六月天堂| 能看的av| 丁香六月在线| 狠狠干综合| 九月丁香婷婷| av色色国产| 狠狠综合网| 粉嫩AV久久一区二区三区| 91男同| AV在线观看网站| 亚洲精品亚洲人成人网| 人妻久久久| 色五天综合| 有码一区二区三区| 字幕网AV中文字幕| 99热99思午夜精品| 丁香婷婷大香蕉| 日韩无码一区二区三区四区| 蜜臀嫩草| 五月婷婷亚洲| 成人无码精品1区2区3区免费看| 国产精品激情AV久久久青桔| 99碰碰碰| 婷婷综合网性| 欧美婷婷六月丁香综合色连续高潮抽搐| 亚洲操逼网| 婷婷丁香五月久久| 日本高清综合网五月丁香| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 亚洲AV成人无码久久精品老人法拉利| 久久99精品久久只有精品| 五月婷婷啪啪啪啪| 五月香婷婷| 麻豆观看夏晴子| 天天透天天干| 久久亚洲色导航| 蜜乳中文字| 色色五月丁香| 玖玖@三月天天丁香婷婷| www.久久9| 管管補管管紱| 9久久久久| 国产精品久久久久久久久久| 日韩另类在线观看| 噜噜噜噜在线| 狠狠操狠狠操AV| 色激情网| 丁香九月综合| 激情五月婷黄版| 丰满老熟妇BBBBB搡BBB| 91日本在线免费| 激情四射五月天| 97碰人人操| 五月婷婷丁香五月| 超色欲天天| 婷婷瑟五月天久久综合| 九月丁香婷婷| 色婷六月| 欧美成人精品一区二区| www.色综合| 国产成人AV在线播放| 五月丁香婷婷综合激情基地| 五月婷婷丁香| 色一情一乱一乱一区9| 色综合色综合色综合高潮| 色婷婷88| 九九99在线| 天天草天天日| 日本少妇裸体做爰高潮片| 9191avse| 人人爱人人摸人人澡| www.色婷婷.com| 午夜av网| 开心五月深爱婷婷| www.99热国产| 夜夜爽日日躁| 99热这里只有精品9| 青青久久五月| 狠狠久久婷五月| www夜夜操wwwcon| 色五月婷婷网| 新99思思视频| 99热碰碰| 国产亚洲99久久| 天天天天爽爽天干| 欧美日韩精品人妻狠狠躁免费视频| 九月大香蕉| 五月人人丁香婷婷五月人人丁香| 五月天激情影院| 久久婷婷精品| 操骚货在线| 婷婷综合久久| 色五月婷婷网| 免费色色色| 丁香六月激情综合| 99这里有精品免费| 亚洲久热| 99激情网| 一本大道嫩草AV无码专区| ri电影在线| 色五月亚洲| VA国产在线综合网站| 99色色网| 色婷婷六月精品| 高潮毛片又色又爽免费| 天天天摸夜夜夜玩| av人人操| 婷婷激情视频| 99精品97| 婷婷伊人五月天| 婷婷六月丁香开心深深爱| 天天射影院| 天天舔天天摸天天射| 少妇性BBB搡BBB爽爽爽电影| 极品五月天| 影音先锋91视频| 色婷婷欧美在线| 久久久一级AAA| 中文字幕日韩无码制服诱或| 黄色av网站在线免费播放| 五月婷婷激情视频| 玖玖爱资源站| 99精品视频在线观看| 色五月婷婷大| 久热伊人9| 五月激情视频| 色播五月婷婷| 五月综合视频| 激情五月天影院| 2017人人操| 色色色热| 亚洲色色香蕉| 97人妻碰碰中文无码久热丝袜| 97干在线| 色五月婷婷小说亚洲中文字幕组| 久久天堂| 成 人片 黄 色 大 片| 中文字幕婷婷五月天在线观看| 激情婷婷九月| 无码少妇高潮喷水A片免费| 九九九九这里只有精品| 五月丁香六月色婷| 97色一二三| 中文字幕AV在线| 天天舔天天插天天干| 99久在线精品99re5热视频| 激情深爱五月天| 深爱激情AV| 色综合视频在线| 婷婷午夜精品久久久| 国产五月天激情小说| 怡红院91a√| 久热9| 婷婷五月天亚洲| 婷婷丁香视频在线观看免费| 天堂久久大香蕉| www.色五月| 99热99热不卡| 五月天婷a在线| 99久精品| 伊人五月婷| 五月天婷婷丁香基地在线观看| 狠狠五月丁香色婷| 玖玖无码中文| 丁香五月最新网址| 色综合视频在线| 国产成人99久久亚洲综合精品| 日本va欧美va欧美va| 欧美狠狠一在草| 人妻久久久久久| 爆乳熟妇一区二区三区爆乳照片| 亚洲人妻五月丁香婷婷| 侠女刀之记忆电影在线看免费| 天天综合五月天| 激情久久久久| 午夜丁香综合婷婷| 婷婷五月天在线综合| 丁香五月激情宗合| 99热亚洲| 中文字幕,综合,91| 成人AV网站在线| 天天搡日日搡aaaaⅩ| 99久久玖玖| 婷婷五月骚厕所| 色婷婷欧美在线| 91碰碰| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 嫩草综合网| 色婷婷狠狠久久YY| ady狠狠入| 精品国婬伦V无码久久久| 丁香六月欧美| 夜夜撸日日骑| 丁香五月婷婷图片综合| 亚洲综合色棒| 天天操B| 婷婷射丁香| 99热自拍| 色五月xxx| 色婷婷影视| 色色色色色色综合| 午夜激情综合| 1024人妻| .操區COm| 丁香六月亚洲| 中文aV网| 婷婷激情网五月天| 天天色域综合网| 五月丁香六月婷婷的女人| 一区二区三区四区无码| 操你av| 99热这里只有的精品视| 伊人五月婷| 婷婷五月天成人综合网| 丁香网五月天| 亚洲色婷婷网站| 夜色爱爱亚洲| 夜夜谢天天干| 亚洲激情综合网| 色综合色色| 99热99这里有免费的精品| 亚洲五月婷婷| 久99视频| 成人国产网站在线免费看| 97国产精品女人碰碰| 日韩五月丁香| 久久激情五月婷婷| 五月天伊人| 天天色五月| 国产毛片精品一区二区色欲黄A片| 五月天俺去也| 99热e| 五月婷婷综合网| 色八月婷婷| 人人操超碰| 色六月婷婷| www.夜夜夜| 婷婷久久久| 米奇影视资源777狠狠色婷婷五月天激情网| 亚洲AV在线免费看| 久久婷婷成人综合色怡春院| 九九黄色网| 亚洲操女| 综合久久99| 中文字幕av久久爽一区| 亚洲最大成人综合网720P| 丁香五月av在线| av国产精品偷| 国产成人综合亚洲| 五月婷婷激情| 五月丁香在线视频观看| 九月av在线| 丰满老熟妇BBBBB搡BBB| 99精在线| 色婷婷久久| 亚洲天堂制| 99综合网| 成人五月天视频| 色黑鬼导航| 伊人网啪啪| 五月综合激情| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | www五月婷婷| 国产免费一区二区三区三州老师F1F1.CC | av九九| 极品嫩草| 99网| 99男人的天堂| 思思国产99| 亚洲性爱干干| 色色吧综合| 九九色天堂| 影音先锋91在线资源站| 色欲色香综合网| 69激情小说| 天天久久66xxx| 婷婷成人AV| 精品9l九九九九九77777| 欧洲第一无人区观看| 亚洲超碰在线| 九九热re99re6在线精品| 亚洲激情网站| 亚洲色欲AAAAAA| 激情小说婷婷小说| 婷婷色导航| 99热天堂| av线电影| 五月丁香视频色色| 4399成人黄A片| 久99视频| 丁香五月91| 午夜九九九九九九九九九九九九九| A网在线欧洲| 99热在线中文字幕| 五月天综合网| 久久婷婷精品| 婷婷视频网| 五月丁香无码| 五月婷婷影| 九九综舍久久| 日韩日比视频在线| 99国产在线精品视频| 99亚洲色色| 欧美婷婷色五月| 五月天堂在线| 亚洲色A| 色区域网站视频| 五月综合激情视频| 狠狠撸激情综合丁香五月天俺来啦| 天天插天天草人人玩| 五月激情四射婷婷丁香 | 色五月婷婷综合| 都市激情亚洲| 九九色天堂| 伊人九九热| 国产性爱一级| 婷婷综合色| 亚洲成人免费在线| 成人做爰A片免费看网站找不到了| 色色色综合网| 天天日,天天射,天天插| 色综合五月在线| 国产熟女日日骚五月丁香爱| 欧洲婷婷五月天| 99在线观看视频免费| 人妻久久久久久久久妻久久久久久久久| 激情欧美婷婷| 五月情婷婷五月| 日日夜夜噜噜爽爽| 开心激情久久久久久久| 五月综合视频在线| 色婷丁香| 色婷婷五月天激情久久| www.精品99| 天堂婷婷丁香六月网| 亚洲色A| 天天色天天| 五月丁香色色| 精品一二三区久久AAA片| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 91chinese在线| 五月视频日本免费观看| 成人九九视频| 五月婷av| 91热99| m色激情网| 操骚货在线| 婷婷五月天色色| 极品少妇高潮啪啪AV无码| 色和综合网| 一级二级色大片| www。五月天激情| 六月丁香婷婷天堂| 五月天婷婷基地| 思思热99热| 丁香,开心成人,久久| 天色综合网| 五月丁香猫咪久久婷婷综合视频激情四射网入口 | 亚洲欧洲午夜成人精品av| 九九热a| 亭亭五月激情亚洲在线| 大香蕉伊人爱在线| BBWCUCKOLD精品熟妇| 久99婷婷色综合| 色综合久久综合| 亚洲五月丁香综合网| 丁香五月激情无码视频| 99在线免费视频| 成人午夜视频精品一区| 亚洲视频操| 中文字幕丁香五月| 久久婷.com| 成人免费黄色短视频| 久久综合中文| 狠狠婷婷爱| 色九月婷婷综合| 四川BBB搡BBB爽爽视频| 六月婷婷七月丁香| 综合热无码| 97狠狠色| 亚洲传媒在线观看| 人妻爽爽爽久久久久久久久| 小视频一区| 亚洲AV成人片无码网站| 乱岳熟女50岁| 99精品一二三四视频| 亚洲综合在线丁香五月| 丁香五月激情婷婷| 9l视频自拍9l九色9l成人| 99er6热在线观看精品6| 亚洲激情五月天| 九九精品热播| 丁香五月色五月婷婷宗合| 激情第四色| 五月天停停日日| 无码色色| 国产激情av| 丁香花狠狠婷婷亚洲中文字幕| 天天色一道本综合婷婷| 91综合色| 久热婷婷在线视频| 思思热热久久| 青青久在线视频免费观看| 超碰com| 日本成人噜噜噜| 思思re最新视频| 26uuu青青| 大香蕉久久婷婷| 热99热久| 99免费热视频| 666555。COm毛片| 婷久看人爽| 婷婷激情小说| 99在线精品观看99| 久久3p| 9热在线视频精品| 五月天精品综合| 黄桃AV无码免费一区二区三区| 六月色婷婷色| 二色AV| WWW久久久| 婷婷噜噜| 久久九九亚洲| 五月天婷婷丁香社区| 夜夜嗨一区二区三区直播内容| 激情五月天在线观看色婷婷| 91主播在线| 99热在线播放| 91se在线视频| 婷婷色播婷婷| www.久久久久久久| 久久草中文日韩欧美| 色五月婷婷伊人| 五月婷婷中文| 超碰在线资源| 国产综合网在线| 亚洲婷婷丁香五月| 欧美日本va| 日本少妇AA一级特黄大片| 色久五月天| 好大好粗嗯啊-一级黄色大片免费观看-成人AV | 直接看的av| 我想看国产大学生口爆吞精的视频| 99亚州综合精品成人网| 91九色 熟| 丁香六月色婷婷| 久久婷婷激情四射五月天| 丁香五月手机在线| 久久九九玖玖| 国产67194| 丁香五月天偷拍| AA丁香综合激情| 色婷婷综合中心| 色操综合| 五月丁香综合网| 婷婷五月天堂| 婷婷六月综合激情| 99色视频在线观看| 亚洲精品又粗又大又爽A片| 五月深爱婷婷| 一区=区操屄高清大全av| 丁香桃色网| av色婷婷| 国产精品美女| 99亚洲色| 五月丁香婷色| 五月丁香啪啪综合| 久久久久亚洲A∨成人乱码电影| 99re在线播放| 色色色免费视频| 玖玖午夜视频| 五月丁香六月在线| 日日想日日夜日日操| 婷婷色资源| 五月天综合激情网| 色五月激情问网站| 久久久91精品| 丁香六月综合| 色性综合| 9色操| 在线成人网址| 国产免费一区二区三州老师F1……| 人人看人人摸人人| 大香蕉七区| 99色综合| m色激情网| 99热在线观看精品| 成人丁香| 五月丁香在线婷婷美女| 午夜激情婷婷| 免费无码毛片一区二区A片 | 青青久在线视频免费观看| 天天色综网| 色色丁香| 五月婷婷精品视频| 久9热| 久久性刺激| 天堂久久精品| 婷婷久久久| 色婷视频| 色婷婷丁香五月| 九九成人电影婷婷| 婷婷人人操| 亚洲狠狠狠色婷婷综合激情久久久| 激情AV中文| 99精品在线播放| 色五月丁香网| 久久99热只有精品| 七七久久婷婷| 夜夜爽天天爽| 久狠狠| 亚洲 日韩色色| 精品导航在线x不卡| 99这里有精品| 国产密乳av一区二区三区四区| av在线超清中文| 九月大香蕉| 91久久久久久久| 亚州日本欧州韩美高青高潮一| 日本久久人| 五月婷婷色欲| 91精品婷婷国产综合久久| 婷婷五月天激情影片| 婷婷六月丁香激情| 亚洲蜜乳AV| www婷婷色| 婷婷伊人网| 99精品综合视频| 天天干、天天日日| 综合丁香婷婷五月天| 色婷婷激情| 激情婷| 精品香蕉99久久久久网站 | 免费在线观看欧美激情xx小视频| 丁香五月婷婷色综合基地| 九九综合九九| 婷婷丁香五月天大香蕉| 色就色94欧美setu| 国产精品第一国产精品| 激情综合啪啪| 婷婷六月天天| 五月婷婷丁香瑟瑟视频| 五月丁香婷中文| 精品99久久久久成人网站免费| 综合久久综合久久| 成人在线日韩欧美| 色网站9| 嫩草极品| 四川BBB搡BBB搡多人乱亂| 五月天丁香| 婷婷五月六月| 九九这里都是精品| 五月婷婷深爱六月| 婷婷综合成人五月天| 天天五月香欧美| 日本久久天堂| 丁香五月激情棕合| 免费AV在线| 色综合久久88色综合天天| 日本eVa一区=区视频| 丁香五月天视频| 色综合色色| 色天天综合| 天天摸天天高潮天天爽| 亚洲综合五月天综合| 色呦呦免费观看| 久久九九re热| 激情国产综合| 超碰精品国产首页| 色444综合网| 无遮羞AV| 午夜成人天堂久久无码日韩久久| 欧美日本国产欧美日本韩国99| 亚洲VA口| 六月色婷婷| 色婷婷偷拍| 大香线蕉伊人| 五月天色色婷婷| 色狠狠色综合| 婷婷五月天天天| 婷婷五月激情丁香| 亚洲综合99| 精品女人九九九| 超碰日日操| 大香蕉99热| 亚洲成人影视在线观看| 婷婷五月婷婷| 五月综合激情| 大地9中文在线观看免费高清| 夜夜谢天天干| 六月丁香网| 久久AAAA片一区二区| 高潮毛片又色又爽免费| 超碰成人影视| 久久九九婷婷| 六月撸婷婷| 深爱五月月天| wwxx日本| 99re思思精品在线观看| 久久人妻久久| 免费看成人747474九号视频在线观看| 超碰爱爱爱| 夜夜爱网站| 久操操| 久久久婷| 婷婷五月天久| 色婷婷五月天成人网| 天天做天天爱高潮片| 99色丁香婷婷综合网| 天天插天天插天天插| 色婷婷五月天成人网| 五月丁香综合| 九九综合影音先锋| 午夜婷婷久久 | 日韩中出视频| a免费在线| 99精品97| 九九视频免费| 丁香五月另类小说在线阅读| 丁香五月冃欧美| 五月丁香六月色| 色婷婷成人| 婷婷丁香色五月天| 欧美在线看| 国产Va视频| 婷婷丁香五月色| 激情婷婷丁香| 无毒黄色网址| 亚洲超碰在线| 99热这里只有精品 搜| 久99久99精品免| 99热这里都是精品| 激情 婷婷| 婷婷六月丁香在线| 人人草开心五月天| 天天插天天插| 丁香五月婷婷久久久| 日本a片网址| 这里只有精品在线观看视频| 在线播放中文字幕| 九九精品9| 婷婷丁香人妻天久久| 另类综合网| 开心激情综合| 伊人久热91| AV在线中文| 天天色色婷婷| 日韩成人精品中文字幕| 在线另类| 九热视频| 啪啪啪大香蕉| 欧美久久九九| 色色色777| 五月婷婷六月丁香激情| 亚洲激情五月天| 看逼中文字幕| 九九精品片一| 五月婷婷亚洲色视频| 久久久99精品免费观看| www.色婷婷.com| 天天舔天天| 丁香色婷婷五月天| 秋霞网在线免费基地五月婷婷丁香| 久99热| 欧美黄色韩日网| 97精品人人A片免费看| 97偷拍在线视频| 青青草a在线| 精品网站:999WWW| 丁香色色五月| 天天天操天天天爰| 成人网在线视频| 99干在线视频| 日日操夜夜爽白洁| 操人妻视频91| 婷婷五月天天| 欧美A级网站| 国产激情av| 日逼影音先锋AV男人资源站| 丁香五月婷婷六月婷| 久久六月天| 婷婷激情啪啪| 色丁香五月天婷婷| 乱岳熟女50岁| 99啪啪视频| 激情性爱五月| 精品一区久热| 丁香久色| 狼人久草| 性色欲情 网站| 夜丁香五月婷婷| 中字幕视频在线永久在线观看免费| 五月天激情四射| 五月婷婷影院| 色色综合热| 亚洲99热| 丁J香六月首页| 久久机只有这里精品| 青青青在线视频国产| 丁香六月狠狠| 操操碰| 色噜噜狠狠色综合网| 无码橾| 日韩在线看AV| 五月天成人伊人| 亚洲精品又粗又大又爽A片| 成人天天爽| 欧美一级色| 超碰久热| 婷婷成人视频| 99欧美| 中文字幕在线播放视频| 丁香六月啪啪啪| 久久曰曰| 丁香九月婷婷综合| 色区久久| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 色综合激情| 超碰男人色| 丁香激情网| 亚洲人妻av| 另类视频五月天| 色色色激情| 国产成人网站在线观看| 激情com| 亚洲妇女熟BBW| 亚洲性爱干干| 超碰97在线操| 亚洲激情综合五月婷婷啪啪| 激情内射人妻1区2区3区| 亚洲十月婷婷综合| 丁香婷婷久久五月天| 人妻Av在线| 激情五月天色爱| 中文字幕丰满乱孑伦无码专区 | 天天爽爽日日做做| 丁香五月婷婷啪啪| 五月婷婷基地| 国产精品一区在线观看你懂的| 五月婷婷开心爱| 国产古装妇女野外A片| 米奇影视五月天| 乱乱av| 这里只有精品在线观看视频| 色青五月天| 欧美久久婷婷| 亚洲中文丁香| 婷婷婷狠狠| 丁香五月色欲| 婷婷丁香亚洲色综合91| 啊V视频在线观看| 97人凄人人操人人爽| 婷婷久久五月| 99久久精品网| 91无码高清| 六月婷婷色综合| 色情播放| 啪啪色激情五月天| 久久色婷婷| 精品无码av丁香五月激情| 丁香五月天AV在线 | 91免费试看| 99久在线精品99re8热| 天天日天天日天天搞| 久久丁香九| 色五月婷婷小说亚洲中文字幕组| 婷婷欧美激情| 99热最新精品| 亚洲六月色| 天天模,夜夜模夜夜爽| 玖色色综合| 狠狠干,狠狠操| www,五月天激情| 婷婷五月丁香91| 99在线精品免费视频| 婷婷成人视频| 另类图片五月天婷婷| 综合色五月| 91wwmm导航| 6月丁香婷婷| 丁香五月婷婷色综合| 色婷婷免费视频| 99.色| 99久久婷| 熟女强人妻一区二区三区四区无| 性视频久久|