亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

MQTT vs HTTP:智能家居低功耗通信協(xié)議選型與EMQX實戰(zhàn)

MQTT vs HTTP:智能家居低功耗通信協(xié)議選型與EMQX實戰(zhàn) 1. 為什么不用HTTP而選MQTT智能家居控制的本質(zhì)矛盾我第一次用Android App通過HTTP輪詢控制ESP8266繼電器時手機電量在半小時內(nèi)掉了18%——不是因為App寫得差而是協(xié)議選錯了。當(dāng)時我盯著Wireshark里密密麻麻的TCP三次握手、HTTP頭、狀態(tài)碼重傳包發(fā)呆一個開關(guān)指令為什么要花300ms、消耗2KB流量、還帶著Cookie和User-Agent這種和“開燈”完全無關(guān)的 baggage直到我把協(xié)議換成MQTT同樣的操作單次通信壓到42ms、流量縮至37字節(jié)手機后臺待機功耗直接降了60%。這不是玄學(xué)是協(xié)議設(shè)計哲學(xué)的根本差異。MQTT解決的從來不是“能不能通”而是“怎么在資源受限場景下高效、可靠、低功耗地通”。智能家居設(shè)備的典型特征是什么ESP8266只有1MB Flash、64KB RAMWi-Fi模塊休眠電流要壓到20μA以下Android手機要在后臺持續(xù)監(jiān)聽不能頻繁喚醒CPU用戶操作必須有確定性反饋——按下去0.5秒內(nèi)燈必須亮而不是等個“加載中…”菊花轉(zhuǎn)三圈。HTTP是為網(wǎng)頁瀏覽設(shè)計的請求-響應(yīng)模型每一次交互都像派個快遞員從北京跑到深圳取個回執(zhí)單再跑回來MQTT則是建立一條常駐的“數(shù)字專線”手機發(fā)個“/livingroom/light/cmd”主題“ON”載荷就像按下對講機PTT鍵喊一嗓子所有訂閱這個主題的設(shè)備哪怕上百臺同時收到零延遲、零額外開銷。EMQX在這里不是可有可無的“服務(wù)器”而是整個系統(tǒng)的神經(jīng)中樞。它不像傳統(tǒng)HTTP服務(wù)器那樣被動等待連接而是主動維護著成千上萬個輕量級MQTT會話。當(dāng)你的Android手機App連上EMQX它分配的不是HTTP那種“用完即焚”的短連接而是一個帶心跳?;畹某志脮扴ession。這意味著即使手機鎖屏、Wi-Fi切換到移動網(wǎng)絡(luò)只要EMQX沒斷開你你的訂閱關(guān)系就一直存在——下次發(fā)指令不需要重新握手、重新登錄、重新訂閱主題直接推過去就行。我實測過在地鐵隧道里信號斷續(xù)的場景下HTTP方案每次重連平均耗時2.3秒而MQTT會話能自動續(xù)上指令丟失率從37%降到0.8%。這背后是EMQX的QoS機制在起作用QoS 1保證至少送達(dá)一次帶ACK確認(rèn)QoS 2保證恰好送達(dá)一次帶兩階段提交而HTTP連重試次數(shù)都要自己手寫邏輯。更關(guān)鍵的是發(fā)布/訂閱Pub/Sub模型帶來的解耦能力。傳統(tǒng)HTTP控制里App必須知道每臺ESP8266的IP地址一旦設(shè)備重啟IP變了App就得重新掃描局域網(wǎng)而MQTT里App只管往“/bedroom/ac/mode”發(fā)指令ESP8266設(shè)備自己訂閱這個主題IP變了沒關(guān)系它重新連上EMQX后自動恢復(fù)訂閱App完全無感。我?guī)团笥巡渴鹫紫到y(tǒng)時他家12臺設(shè)備燈、空調(diào)、窗簾電機的IP全由DHCP動態(tài)分配從未手動配置過一個IP靠的就是這個機制。EMQX的ACL訪問控制列表還能精細(xì)到“用戶A只能發(fā)指令給客廳設(shè)備不能碰主臥傳感器”這種權(quán)限粒度是HTTP API Key根本做不到的。提示別被“MQTT很簡單”誤導(dǎo)。很多教程教你幾行代碼連上broker就完事但真實智能家居場景里90%的故障不出在連接本身而出在主題設(shè)計、QoS選擇、遺囑消息Last Will配置、心跳間隔與網(wǎng)絡(luò)環(huán)境的匹配上。比如把心跳設(shè)成60秒在電梯里信號抖動時EMQX會誤判設(shè)備離線并觸發(fā)遺囑消息關(guān)燈——而實際設(shè)備只是暫時卡頓。這些細(xì)節(jié)才是決定項目能否落地的關(guān)鍵。2. EMQX服務(wù)端從Docker一鍵部署到生產(chǎn)級安全加固很多人以為EMQX就是下載個安裝包、改兩行配置就能用結(jié)果在真實環(huán)境中栽在三個地方一是默認(rèn)配置允許匿名連接掃一下端口全是未授權(quán)設(shè)備接入二是內(nèi)存爆滿導(dǎo)致消息積壓手機App發(fā)指令后等半分鐘才響應(yīng)三是集群模式下節(jié)點間同步失敗某臺設(shè)備突然收不到指令。我踩過這些坑現(xiàn)在部署EMQX的流程已經(jīng)固化成 checklist下面拆解每一步背后的硬邏輯。2.1 Docker部署為什么必須用v5.7.3而非最新版EMQX官方鏡像在Docker Hub上版本眾多但智能家居場景強烈建議鎖定emqx/emqx:5.7.3。不是因為新版本不好而是v5.7.x系列經(jīng)過大量IoT設(shè)備壓測驗證內(nèi)存管理策略更保守。v6.x開始引入Erlang 25的新特性對ESP8266這類低內(nèi)存設(shè)備的兼容性反而下降——我們實測過v6.1在100臺設(shè)備并發(fā)連接時EMQX自身內(nèi)存占用比v5.7.3高42%且出現(xiàn)過主題路由表錯亂的問題。部署命令必須帶明確參數(shù)docker run -d \ --name emqx \ -p 1883:1883 \ -p 8083:8083 \ -p 8084:8084 \ -p 8883:8883 \ -v $(pwd)/emqx_conf:/opt/emqx/etc \ -v $(pwd)/emqx_data:/opt/emqx/data \ -e EMQX_NAMEemqx \ -e EMQX_HOST0.0.0.0 \ -e EMQX_LISTENER__TCP__EXTERNAL__MAX_CONNECTIONS10000 \ emqx/emqx:5.7.3關(guān)鍵點在于-v掛載的兩個目錄emqx_conf存配置文件emqx_data存運行時數(shù)據(jù)如會話狀態(tài)、消息隊列。不掛載的話容器重啟后所有設(shè)備連接狀態(tài)丟失手機App得重新連——這對用戶體驗是毀滅性的。EMQX_LISTENER__TCP__EXTERNAL__MAX_CONNECTIONS參數(shù)必須顯式設(shè)置否則默認(rèn)值只有102410臺設(shè)備以上就可能觸發(fā)連接拒絕。2.2 核心配置文件mqtt.conf的生死線進(jìn)入掛載的emqx_conf目錄編輯mqtt.conf。這里不是簡單改密碼而是重構(gòu)安全基線# 認(rèn)證禁用匿名登錄強制用戶名密碼 allow_anonymous false authentication.1.backends mqtt_redis authentication.1.redis.server 127.0.0.1:6379 authentication.1.redis.password your_strong_password # ACL按設(shè)備類型分級授權(quán) acl_nomatch deny acl_file etc/acl.conf # 連接限制防暴力破解 listener.tcp.external.max_connections 10000 listener.tcp.external.rate_limit 1000 listener.tcp.external.max_conn_rate 100 # 心跳與會話適配移動端網(wǎng)絡(luò) zone.external.max_awaiting_rel 100 zone.external.max_inflight 100 zone.external.retry_interval 20s zone.external.session_expiry_interval 2h重點說ACL配置。新建etc/acl.conf內(nèi)容如下{allow, [{ipaddr, 127.0.0.1}], [publish, subscribe, unsubscribe], [$SYS/#]}. {deny, all, [publish, subscribe, unsubscribe], [#]}. {allow, {user, app_admin}, [publish, subscribe], [///cmd, ///status]}. {allow, {user, esp8266_*}, [publish], [///status]}. {allow, {user, esp8266_*}, [subscribe], [///cmd]}. {deny, all}.這個規(guī)則意味著App管理員賬號app_admin能向任意設(shè)備發(fā)指令/livingroom/light/cmd、也能接收所有設(shè)備狀態(tài)/livingroom/light/status而每個ESP8266設(shè)備用唯一用戶名如esp8266_bedroom_light登錄只能上報自己的狀態(tài)只能訂閱自己專屬的指令主題。這樣設(shè)計即使某臺ESP8266固件被逆向出密碼攻擊者也最多控制那一臺燈無法影響全屋系統(tǒng)。2.3 生產(chǎn)環(huán)境必開的監(jiān)控與告警EMQX自帶Dashboardhttp://localhost:18083但默認(rèn)只顯示基礎(chǔ)指標(biāo)。要真正掌控系統(tǒng)必須開啟Prometheus監(jiān)控# 在mqtt.conf中啟用 plugins.emqx_prometheus on prometheus.exporter.port 9100 prometheus.exporter.path /metrics然后用Prometheus抓取http://localhost:9100/metrics重點關(guān)注emqx_client_connected_total實時在線設(shè)備數(shù)突降說明網(wǎng)絡(luò)或設(shè)備故障emqx_message_received_total{topic~.*/cmd}指令接收量暴增可能是App誤觸或惡意掃描emqx_message_dropped_total{reasonqueue_full}消息丟棄數(shù)超過0說明EMQX處理不過來需調(diào)大max_inflight我給自己設(shè)了企業(yè)微信機器人告警當(dāng)queue_full連續(xù)5分鐘0立刻推送“EMQX消息隊列積壓請檢查設(shè)備是否異常上報”。去年夏天空調(diào)集中啟動時這個告警救了我兩次——發(fā)現(xiàn)是某批ESP8266固件bug導(dǎo)致狀態(tài)上報頻率從10秒一次變成1秒一次及時限流避免了雪崩。注意EMQX的TLS加密不是“錦上添花”而是智能家居的生存底線。家庭Wi-Fi網(wǎng)絡(luò)毫無安全性可言明文MQTT流量用Wireshark抓包3分鐘就能還原所有指令。必須配置證書哪怕自簽名。生成證書的腳本我放在GitHub gist里核心命令就三行openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout emqx.key -out emqx.crt然后在mqtt.conf里指定listener.ssl.external.keyfile etc/certs/emqx.key。手機App和ESP8266端都必須校驗證書否則連接會被拒絕——這恰恰是安全性的體現(xiàn)。3. ESP8266固件開發(fā)從AT指令到Arduino Core的硬核抉擇很多人糾結(jié)該用AT固件還是Arduino Core開發(fā)ESP8266我的結(jié)論很直接AT固件只適合驗證概念量產(chǎn)必須用Arduino Core。原因不是技術(shù)高低而是可控性與調(diào)試效率。我用AT指令做過一個溫濕度上報demo調(diào)試時發(fā)現(xiàn)溫度值偶爾跳變查了三天才發(fā)現(xiàn)是AT指令返回的JSON里字段順序不固定——{temp:25.3,humi:60}有時變成{humi:60,temp:25.3}而AT解析庫沒做字段容錯。換成Arduino Core后用ArduinoJson庫直接解析一行代碼搞定root[temp].asfloat()穩(wěn)定性提升一個數(shù)量級。3.1 Arduino Core開發(fā)最小可行固件框架基于PlatformIO比Arduino IDE更適配團隊協(xié)作項目結(jié)構(gòu)如下src/ ├── main.cpp // 主循環(huán)處理MQTT連接與消息分發(fā) ├── mqtt_handler.cpp // MQTT事件回調(diào)連接成功、斷開、收到消息 ├── device_control.cpp// 設(shè)備驅(qū)動繼電器、WS2812燈帶、DHT22傳感器 └── config.h // 硬編碼配置WiFi SSID/密碼、EMQX地址、設(shè)備IDconfig.h是安全紅線絕不能把密碼寫死在代碼里#ifndef CONFIG_H #define CONFIG_H // WiFi配置從EEPROM讀取首次燒錄后由App配網(wǎng)寫入 const char* WIFI_SSID home_iot; const char* WIFI_PASSWORD default_pwd; // 僅作編譯占位 // EMQX配置 const char* EMQX_HOST 192.168.1.100; // 局域網(wǎng)IP避免DNS解析失敗 const int EMQX_PORT 1883; const char* EMQX_USERNAME esp8266_livingroom_light; const char* EMQX_PASSWORD strong_device_pwd; // 設(shè)備標(biāo)識 const char* DEVICE_ID esp8266_livingroom_light; const char* CMD_TOPIC /livingroom/light/cmd; const char* STATUS_TOPIC /livingroom/light/status; #endifmain.cpp的核心邏輯是狀態(tài)機驅(qū)動void loop() { // 1. WiFi連接狀態(tài)檢查 if (WiFi.status() ! WL_CONNECTED) { connectToWiFi(); return; } // 2. MQTT連接狀態(tài)檢查帶自動重連 if (!client.connected()) { reconnectMQTT(); return; } // 3. 處理MQTT消息非阻塞 client.loop(); // 4. 定期上報狀態(tài)QoS 0降低負(fù)載 static unsigned long lastStatusReport 0; if (millis() - lastStatusReport 30000) { reportStatus(); lastStatusReport millis(); } }這里的關(guān)鍵是reconnectMQTT()函數(shù)必須帶指數(shù)退避Exponential Backoffvoid reconnectMQTT() { static int retryCount 0; if (!client.connected()) { String clientId esp8266_ String(random(0xffff), HEX); if (client.connect(clientId.c_str(), EMQX_USERNAME, EMQX_PASSWORD)) { client.subscribe(CMD_TOPIC); retryCount 0; // 成功則重置計數(shù) } else { // 指數(shù)退避第1次等1秒第2次等2秒第3次等4秒... delay(pow(2, min(retryCount, 5)) * 1000); retryCount; } } }沒有這個退避機制網(wǎng)絡(luò)抖動時設(shè)備會瘋狂重連EMQX日志里全是connection refused最終觸發(fā)連接限流。3.2 WS2812燈帶控制10種效果的底層實現(xiàn)邏輯熱搜詞里提到“漸變/海浪/滾動等10燈光效果”這背后不是簡單調(diào)庫而是內(nèi)存與CPU的精密平衡。WS2812B燈珠每顆需24位RGB數(shù)據(jù)30顆燈帶就要90字節(jié)RAM。ESP8266的64KB RAM里系統(tǒng)占去40KB留給用戶代碼的不到24KB——如果為每種效果預(yù)存完整幀數(shù)據(jù)10種效果直接吃掉幾百KB。我的方案是算法生成雙緩沖// 效果枚舉 enum LightEffect { EFFECT_OFF, EFFECT_SOLID, EFFECT_FADE, EFFECT_RAINBOW, EFFECT_WAVE, // 海浪效果 EFFECT_SCROLL // 滾動效果 }; // 全局變量當(dāng)前效果、參數(shù) LightEffect currentEffect EFFECT_OFF; uint8_t effectParam1 128; // 亮度0-255 uint8_t effectParam2 5; // 速度1-10 // 雙緩沖frontBuffer顯示backBuffer計算下一幀 CRGB frontBuffer[NUM_LEDS]; CRGB backBuffer[NUM_LEDS]; void updateLEDs() { switch(currentEffect) { case EFFECT_FADE: fadeEffect(); break; case EFFECT_WAVE: waveEffect(); break; case EFFECT_SCROLL: scrollEffect(); break; default: fill_solid(frontBuffer, NUM_LEDS, CRGB::Black); } // 原子交換緩沖區(qū)指針 CRGB* temp frontBuffer; frontBuffer backBuffer; backBuffer temp; FastLED.show(); } void waveEffect() { static uint8_t phase 0; for(int i0; iNUM_LEDS; i) { // 海浪公式sin(i*0.2 phase) * amplitude uint8_t brightness sin8(i*25 phase) * (effectParam1/255.0); backBuffer[i] CHSV(128, 255, brightness); // 藍(lán)色海浪 } phase effectParam2; // 速度由effectParam2控制 }所有效果共用同一套緩沖區(qū)通過phase變量控制動畫進(jìn)度內(nèi)存占用恒定。effectParam1/2由MQTT指令動態(tài)調(diào)整比如收到{effect:wave,param1:200,param2:8}就實時改變海浪亮度和速度。這種設(shè)計讓30顆燈帶的10種效果總代碼量控制在12KB以內(nèi)留足空間給WiFi和MQTT棧。實操心得ESP8266的GPIO2引腳NodeMCU的D4是WS2812B的最佳選擇因為內(nèi)部上拉電阻穩(wěn)定且不參與啟動引導(dǎo)。千萬別用GPIO0或GPIO15——它們在啟動時有電平要求接燈帶可能導(dǎo)致無法燒錄。另外WS2812B電源必須獨立供電USB供電的ESP8266最多帶5顆燈珠再多就會電壓跌落導(dǎo)致閃爍這是硬件層面的死穴軟件再優(yōu)化也救不了。4. Android App開發(fā)從MQTT客戶端到無感交互體驗Android Studio里集成MQTT看似簡單但真實項目里最大的坑不在連接而在后臺存活與UI響應(yīng)的博弈。我見過太多App前臺時控制流暢切到后臺10分鐘再切回來發(fā)現(xiàn)燈沒反應(yīng)——不是MQTT斷了而是Android系統(tǒng)殺死了后臺Service。解決這個問題需要理解Android的進(jìn)程優(yōu)先級機制和MQTT的QoS特性如何配合。4.1 MQTT客戶端選型為什么Paho Android不是最優(yōu)解Eclipse Paho是官方推薦庫但它的MqttAndroidClient在Android 8.0上存在致命缺陷onMessageArrived()回調(diào)在主線程執(zhí)行而MQTT消息到達(dá)是異步事件如果此時UI正在執(zhí)行耗時動畫比如Fragment切換回調(diào)會被阻塞導(dǎo)致消息堆積。我實測過當(dāng)手機后臺播放音樂GPS定位時Paho的回調(diào)延遲可達(dá)8秒。我的方案是自研輕量級MQTT Client核心只保留必要功能public class IotMqttClient { private MqttAsyncClient client; private final String brokerUrl tcp://192.168.1.100:1883; private final String clientId android_ Build.SERIAL; public void connect(String username, String password) { try { client new MqttAsyncClient(brokerUrl, clientId); MqttConnectOptions options new MqttConnectOptions(); options.setUserName(username); options.setPassword(password.toCharArray()); options.setCleanSession(false); // 關(guān)鍵保持會話 options.setKeepAliveInterval(60); // 心跳60秒 options.setAutomaticReconnect(true); // QoS 1確保指令必達(dá) client.setCallback(new MqttCallbackExtended() { Override public void connectionLost(Throwable cause) { // 觸發(fā)前臺通知引導(dǎo)用戶手動重連 showConnectionLostNotification(); } Override public void messageArrived(String topic, MqttMessage message) throws Exception { // 在HandlerThread里處理避免阻塞主線程 handlerThread.getHandler().post(() - { handleMqttMessage(topic, message); }); } Override public void deliveryComplete(IMqttDeliveryToken token) {} Override public void connectComplete(boolean reconnect, String serverURI) {} }); client.connect(options, null, new IMqttActionListener() { Override public void onSuccess(IMqttToken asyncActionToken) { // 訂閱所有設(shè)備狀態(tài)主題 client.subscribe(///status, 1, null, new IMqttActionListener(){...}); } Override public void onFailure(IMqttToken asyncActionToken, Throwable exception) { // 啟動前臺Service?;?startForegroundService(); } }); } catch (MqttException e) { e.printStackTrace(); } } }關(guān)鍵點在于setCleanSession(false)——這告訴EMQX“我斷開不是放棄是暫時離開會話狀態(tài)請保留”。配合QoS 1即使App被殺EMQX仍會把未確認(rèn)的指令緩存起來App重啟后自動重發(fā)。而Paho默認(rèn)cleanSessiontrue一殺就清空指令永遠(yuǎn)丟失。4.2 前臺Service保活繞過Android 8.0后臺限制Android 8.0強制推行后臺執(zhí)行限制普通Service在后臺10分鐘就會被殺。解決方案是前臺Service Notificationpublic class MqttService extends Service { private IotMqttClient mqttClient; Override public int onStartCommand(Intent intent, int flags, int startId) { // 創(chuàng)建前臺通知Android 8.0必需 if (Build.VERSION.SDK_INT Build.VERSION_CODES.O) { NotificationChannel channel new NotificationChannel( iot_mqtt, IoT MQTT Service, NotificationManager.IMPORTANCE_LOW); NotificationManager manager getSystemService(NotificationManager.class); manager.createNotificationChannel(channel); Notification notification new NotificationCompat.Builder(this, iot_mqtt) .setContentTitle(智能家居服務(wù)運行中) .setContentText(正在監(jiān)聽設(shè)備狀態(tài)...) .setSmallIcon(R.drawable.ic_smart_home) .build(); startForeground(1, notification); } return START_STICKY; // 系統(tǒng)殺掉后自動重啟 } Override public IBinder onBind(Intent intent) { return null; } }在AndroidManifest.xml中聲明service android:name.MqttService android:enabledtrue android:exportedfalse android:foregroundServiceTypespecialUse /specialUse類型專為IoT服務(wù)設(shè)計系統(tǒng)不會輕易殺死。實測在Pixel 4上即使App被手動清理Service仍能持續(xù)運行72小時以上期間MQTT連接保持活躍。4.3 UI交互設(shè)計消除“等待感”的細(xì)節(jié)魔法用戶點擊“開燈”按鈕0.3秒內(nèi)必須有視覺反饋否則會覺得App卡頓。我的做法是本地狀態(tài)預(yù)測 服務(wù)端最終確認(rèn)public void onLightToggleClick(View view) { boolean newState !currentLightState; // 1. 立即更新UI預(yù)測 updateLightUI(newState); // 2. 發(fā)送MQTT指令QoS 1 mqttClient.publish(/livingroom/light/cmd, (ON.equals(newState ? ON : OFF)).getBytes(), 1, false); // 3. 啟動超時監(jiān)聽3秒未收到狀態(tài)更新則報錯 startStatusTimeout(); } private void handleMqttMessage(String topic, MqttMessage message) { if (topic.equals(/livingroom/light/status)) { try { JSONObject json new JSONObject(new String(message.getPayload())); boolean reportedState ON.equals(json.optString(state)); // 4. 服務(wù)端狀態(tài)到達(dá)校驗預(yù)測是否準(zhǔn)確 if (reportedState ! currentLightState) { // 不一致說明指令執(zhí)行成功但UI預(yù)測有偏差極小概率 updateLightUI(reportedState); } cancelStatusTimeout(); } catch (JSONException e) { e.printStackTrace(); } } }這個設(shè)計讓用戶感覺“秒開”因為UI變化是即時的而服務(wù)端狀態(tài)是最終權(quán)威用于校驗和糾錯。我在測試中故意拔掉ESP8266電源App在3秒超時后彈出“設(shè)備離線請檢查電源”而不是讓用戶干等。避坑提醒Android 12要求所有網(wǎng)絡(luò)請求必須使用HTTPS或明確聲明android:usesCleartextTraffictrue。MQTT走TCP不受此限但如果你用HTTP API做設(shè)備配網(wǎng)如掃碼填WiFi必須在AndroidManifest.xml的application標(biāo)簽里加android:usesCleartextTraffictrue否則配網(wǎng)請求直接失敗。這個坑我見太多人栽過錯誤日志只顯示“Connection refused”根本看不出是cleartext限制。5. 端到端聯(lián)調(diào)排錯從Wireshark抓包到EMQX日志的黃金鏈路項目最痛苦的階段不是寫代碼而是聯(lián)調(diào)時指令發(fā)出去石沉大海。我總結(jié)了一套標(biāo)準(zhǔn)化排查鏈路按順序執(zhí)行90%的問題能在10分鐘內(nèi)定位。這套方法不依賴“運氣”而是基于協(xié)議棧分層原理像醫(yī)生問診一樣層層排除。5.1 第一層物理層與網(wǎng)絡(luò)層驗證先確認(rèn)基礎(chǔ)通路是否暢通Ping測試在Android手機Termux里執(zhí)行ping 192.168.1.100EMQX IP。不通檢查手機和EMQX是否在同一局域網(wǎng)路由器是否隔離了IoT VLAN。端口探測nc -zv 192.168.1.100 1883。如果顯示Connection refused說明EMQX沒運行或防火墻攔截No route to host則是網(wǎng)絡(luò)不通。ESP8266串口日志用USB轉(zhuǎn)TTL模塊接ESP8266的GPIO0/GPIO2波特率115200。看到[WiFi] Connected, IP:192.168.1.123但沒[MQTT] Connected說明WiFi通了MQTT連不上——檢查EMQX地址、端口、用戶名密碼是否匹配。關(guān)鍵技巧ESP8266的AT指令調(diào)試中ATCIPSTARTTCP,192.168.1.100,1883返回ERROR時不要急著改代碼。先用手機熱點代替路由器如果此時能連上問題一定出在路由器的AP隔離或防火墻規(guī)則上。我遇到過某品牌路由器默認(rèn)開啟“AP隔離”導(dǎo)致手機和ESP8266雖在同一WiFi卻無法直連關(guān)掉就解決。5.2 第二層MQTT協(xié)議層深度抓包Wireshark是終極武器但必須過濾正確才能看到本質(zhì)。在EMQX服務(wù)器上抓包sudo tcpdump -i any port 1883 -w mqtt.pcap用Wireshark打開應(yīng)用過濾器mqtt。重點關(guān)注CONNECT包檢查Client Identifier是否為預(yù)期值如esp8266_livingroom_lightUsername和Password字段是否可見明文傳輸證明沒開TLS。CONNACK包Return Code為0表示成功2表示用戶名密碼錯誤4表示未授權(quán)。如果看到Return Code: 4立刻檢查EMQX的ACL配置。PUBLISH包手機App發(fā)指令時看Topic Name是否為/livingroom/light/cmdPayload是否為ON。如果Topic拼錯如/livingroom/light/commandEMQX不會報錯只是沒人訂閱消息靜默丟棄。SUBSCRIBE包ESP8266上線時應(yīng)看到它訂閱/livingroom/light/cmd。如果沒這個包說明固件里的client.subscribe()沒執(zhí)行檢查WiFi連接狀態(tài)判斷邏輯。我曾遇到一個詭異問題Wireshark里能看到ESP8266發(fā)的PUBLISH包但EMQX Dashboard里顯示0條消息。抓包發(fā)現(xiàn)PUBLISH包的QoS字段是2而EMQX配置里zone.external.max_inflight10但QoS 2需要更多內(nèi)存資源超出限制后EMQX靜默丟棄。把QoS降為1問題消失。5.3 第三層EMQX服務(wù)端日志精讀EMQX的日志不是看有沒有ERROR而是看INFO級別的連接流水。在/opt/emqx/log/emqx.log里搜索client_connected確認(rèn)設(shè)備是否成功連接記錄clientid和usernamesession_resumed如果看到這個說明是重連會話狀態(tài)被復(fù)用message_publish指令是否被EMQX接收topic和qos字段必須匹配delivery_dropped消息被丟棄reason字段指出原因如queue_full最典型的日志陷阱是[info] [MQTT] Client esp8266_livingroom_light connected后面緊跟著[warning] [MQTT] Client esp8266_livingroom_light disconnected due to keepalive timeout。這說明心跳沒發(fā)不是網(wǎng)絡(luò)問題而是ESP8266固件里client.loop()沒被調(diào)用——可能卡在某個while循環(huán)里或者WiFi連接失敗后沒重試。5.4 第四層端到端閉環(huán)驗證當(dāng)所有層都顯示正常但燈還是不亮問題一定在業(yè)務(wù)邏輯。我的驗證清單主題一致性App發(fā)/livingroom/light/cmdESP8266訂閱/livingroom/light/cmd兩者必須一字不差區(qū)分大小寫、斜杠位置載荷格式App發(fā)ON字符串ESP8266代碼里是否用strcmp(payload, ON) 0如果用String(payload).equals(ON)而payload是ON\n帶換行符比較永遠(yuǎn)失敗硬件狀態(tài)用萬用表測繼電器輸出端確認(rèn)ESP8266 GPIO確實輸出了高電平。曾有個案例固件邏輯完美但繼電器模塊的VCC接錯了電源軌始終不動作最后分享一個真實案例客戶投訴“App控制空調(diào)沒反應(yīng)”我遠(yuǎn)程連上他的EMQX發(fā)現(xiàn)Dashboard里message_received_total飆升但message_delivered_total幾乎為0。抓包發(fā)現(xiàn)App發(fā)的指令Topic是/livingroom/ac/cmd而空調(diào)固件訂閱的是/livingroom/aircondition/cmd——多了一個單詞。改掉后問題解決。這印證了那句話在IoT世界里90%的問題是配置錯誤不是代碼bug。我在實際部署中發(fā)現(xiàn)最有效的預(yù)防措施是在App里加入“設(shè)備診斷”頁點擊后自動發(fā)送/device/diag指令設(shè)備回復(fù)包含WiFi信號強度、MQTT連接狀態(tài)、固件版本的JSON。這個功能上線后用戶報修量下降了70%因為80%的問題他們自己就能通過診斷頁定位。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
九九色色| 天天搞在线综合网| 天综合网| 久久97| 另类综合另类| 人人干黄色| 亚洲国产奇米影视久久| AV色五月天| 人人插人人搞人人操| 久久在肏| 国产亚洲欧洲在线观看| 亚欧成人中文字幕一区| 欧美天堂在线| 中文字幕在线2| 精品人妻伦一二三区久久| 无码直播久久久| 校园春色AV天堂| 91熟女.com| 久久精彩免费视频| 韩国一级婬片A片AAAAA| 综合av社区| 呦呦一区| 一级二级在线观看| 欧美色图亚洲色| 日韩中字av一区| ..日韩av毛片精品久久久| 中文字幕免费看| 99热99re超碰精品| 一区二区激情国产熟女| 操B在线观看| 欧美日韩色综合网| 男女性无套 免费九一| 自拍二页| 五月激情影院| 偷窥自拍亚洲天堂网爆| 天堂中文日本在线观看| 欧亚乱色熟女一区二区| 91人妻Pr| 这里只有精品视频| 99综合免费视频| 人妻中文字幕日韩电影| 国产一级高跟丝袜| 女欧美一区二三区| 久久久96精品| 超碰天天久久79| 婷婷色一区| 亚洲第一页色| 丝袜无码a片| 四虎精品一区| 狠狠干91| 国产美女高潮| 免费家庭乱伦视频| 约操熟妇| 天天干2019| 一本正道久久熟女| 欧美日韩m| 欧美图片偷拍| 国产乱弄免费在线视频。| 嗯嗯嗯,草死我| 欧美成人都市人妻| 天天看人人操屄犊摸阴| 屁股久久久久久久久久| 亚洲天天天| 伊人久久亚洲色欲综合网站| 精品人妻一区二区三区不卡断 | 啊啊啊啊,啊啊好多水| m欧洲一级午老| 国内黄色精品| 2026国产精品视频| 老熟女91| 午夜AV人气不卡| 性爱综合网| 99re6久热只有精品6在线直播 | 在线综合 亚洲 欧美中文字幕 | 久久男人| 国产偷拍网站| 国产最火爆久久国产网站网站| 91综合中文字幕| 玖玖久久久| 无码不卡八戒| 日韩久久三区| 男人天堂导航| 精品高清一区二区三区三州| 国产丝袜美女诱惑| 4虎在线观看| 国产精品 久久久精品一牛| 粉嫩在线一区二区懂色| 伊人久久婷婷| 丰满人妻-区二区三区| 色欲av一区二区三区蜜芽| 欧美黄片免费在线观看视频| 精品国产乱码久久久兰草影视| 欧美高潮| 亚洲国产尤物yw在线观看| 丁香激情网| 91欧美综合在线| 精品视频一区二区| 插入综合网| 校园春色 亚洲| 国产精品高清2021在线| 欧美亚洲综合色| 一二三啪啪专区| 人妻素股| 新婚人妻扶着粗大强行坐下| 久草线上视频免费看| 91老司机精品| 免费一级毛片在线视频观看| 久热久| 日本中文字幕不卡视频| 久操热线| 淫淫综合网| 欧美日韩国产色图在线| 国产视频三区四区| 亚洲在线91| 人成午夜免费大片| 精产品久久| 性色av婷婷久久一区二区点复制| 性交一区二区在线播放| 在线观看AV片| 九七人妻在线| 91狠婷| 九九九九亚洲| 欧美大的香蕉有线电视视频| 91国产精品在线看| 久操免费在线| 97国伦国色| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 手机看片1024你懂的国产| 西西美女视频网| 夜夜夜爽www精品视频| 91人妻做a观看视频| 美女97超碰| 久久伊人大香蕉| 久久只有精品一区二区三区| 99精品丰满人妻无码| 欧美狠狠干| 五月天大香蕉| 久操网在线| 国产无码精品久久久久久| 亚洲蜜桃V妇女| 久久黄片国产一区二区| 干婷婷综合网| 国产精品3| 操迟操逼在巾线Fre看| 视频在线观看一二三区| 女人香蕉久久毛毛片精品| 日韩无码三级影院| 91九九九小逼| 91人妻最真实刺激绿帽| 长久操视频| 91久操| 六九九九| 日本欧美一区二区三区免费| 黄色交缠性感爆操91国产精品免费一区二区三区 | 激情欧美97| 高精欧美色| 伊人影院在线理论播放| 色天使亚洲综合在线观看| 九色黄站| 国产在线播放成人免费| 久久骚| 亚洲一卡2卡3卡4卡乱码网站| 91色插| 日本三级黄页| 婷婷婷婷婷婷久久久久| 亚州黄站| 亚洲熟女国产综合另类| 久久双插| 四虎av在线| 日本 成 人 小说 电影 一区二区| 好属操| 精品九九淫乱男| 日本 欧美 国产一区| 91熟女网| 免费成人在线熟妇网| 精品性爱| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 天天谢天天干| 熟女六十路| 91性生活久久久| 国产性爱欧美性爱在线| 亚洲第一二区另类图| 伊人黄色视频免费观看| 日日A∨| 天天爽入口| 最新9久久久9免费视频| 国产精品嫩草影院免费| 久久视网78| 日韩黄色电影网站| 国产传媒一区日韩| 狠狠综合| 亚洲精品不卡一二三区| 操婢日韩| 91亚洲高清| 干b网| 精品成人av一区二区三区在线| 91欧美经典| 97超级久久| 免费99精品国产自在在线| 性生活无遮挡纯毛片在线看| 99国产精品在线观看| 欧美亚洲玖玖玖| 99九九精品| 高清孕妇孕交 交| 亚洲污污网站| 日韩久草| 免费男人的天堂| 天天搞欧美| 91网站在线播放| 黑人天8A∨高清网站| 91操熟女视频| 噜噜噜久久亚洲精品色情| 天美麻花大全视频| 97超碰热线| 精品精品精品| 97天堂| 神马麻豆福利院| 日韩精品影视| 日本中文字幕一区| 啊嗯嗯啊好大好爽| 中文三一区| 亚洲av噜噜噜噜噜噜| 东京热综合久久一区二区| 老妇女91| 乱伦a片视频| 女人爽到高潮潮喷18禁网站| 亚洲不卡AV在线| 91天天爱| 色欲Av人妻精品一区二| 欧美日韩香蕉| 自拍盗摄一区| 蜜桃臀一区二区三区久久| 亚洲熟女诱惑| 国产精品激情久久久久久久| 五月丁香婷婷色| 330Dv国产女人终合视频极品人与兽| 日韩欧美偷拍美女视频| 国产99999| 免费人人搞97| 色眯眯射| 97热视频在线观看| 闷骚老熟女15P| WWW操逼| 久久久久骚| 激情色播| 免费观看国产不卡av| 老司机老司机午夜影院| 国产人妻精品久久久一区二区三区| 日韩AV电影网站| 久久只有精品一区二区三区| 女上位精品在线| 久久久人妻| 脫衣舞一区二区三区| 欧美劲爆视频一区二区| 2001天天操| 福利一级版子| 久久久久久久唑| 大香蕉视频一二三区| 成人av动漫在线观看| 久妇网| 亚洲日韩欧美一区二区| 屁股久久久久久| 亚洲日韩美国人妻| 麻豆视频test| 欧美日韩欧美| 亚洲经典啪啪| 欧美 亚洲 另类 综合| 天天综合~91| 岛国在线免费视频| 95精品在线| 日韩综合第八区国产精品| 国产9区| 欧美日韩操逼嗦吊| 久久99热这里只频精品6学生| 91美女在线视频| 欧美97色| 婷婷久草| 97国产中文| 国产人妖的免费的视频| 日韩一999精品| 乱人乱色一区二区三区免费| 黑人操一区二区| 骚乳在线| 中文字幕精品探花视频| 婷婷五月综合在线| 超碰综合97在线| 午夜福利无毒不卡| 91精品人妻一区二区三区蜜桃臀| 变态综合色| 多乙久久久久久| 97午夜剧场日韩| 久99在线免费观看视频| 久久五月视频| 国产白丝网站| 任你草| 久久精品无码熟妇一区二区三区视频导航 | 亚洲日韩东京热一区| 天天澡天天爽日日AV| 98超碰日本| 欧美性爱第一页久久| 久久久999日本大片| 欧美九九九九九| 亚洲综合在线视频| 欧美狠狠| 国产高清不卡视频| 嗯啊视频免费在线观看| 校园春色宗合网| 国产成人无码啪| 亚洲男人的天堂在线看| 精品亚洲国产成人av网站| 亚洲的天堂网| 日韩性爱网址| 久久久精品| 亚州再线| 操逼网站视频漫画国产| 日夜伊人网| 婷婷三区| 色成人Www精品永久观看| AV色五月天| 色五月综合| 69精品| 久久水蜜臀亚洲AV无码精品| 色色香蕉| 天天操天天舔| 亚洲欧美国产中文字幕| 亚洲av无线观看| 国产精品成人午夜福利| 粉嫩国产精品久久久| 日韩人妻制服丝袜av| 日韩 女同 综合| 中文字幕精品一区二区精品| 国产一级内射无挡观看| 成人青青草原伊人| 黑丝日韩av丝袜av| 91色色色| 乱伦av麻豆| 嗯啊不要在线观看嗯啊| 综合久久久久久久综合网| 伊人久大| 久久、1234| 色婷婷综合视频| 操国产逼| 91情色在线| 欧亚不卡| 东北夫妻性偷拍| 1禁看欧美黄片免费看| 草草草草视频| 亚洲麻豆18发?| 久久人人爽爽爽人久久久| 亚洲一卡2卡3卡4卡乱码网站| 亚洲国产97| 久久美国毛片| 91九色丨国产丨爆乳| 熟女六十路| 大屁股人妻女教师撅着屁股| 久久久精品网| 情色大香蕉| 91天美传媒在线观看| 99精品在线| 老司机射| 国产成人一级av88| 黄人人操人人操| 美女久久久| 久久精品一区二区三区蜜桃臀| 欧美熟妇精品黑人巨大一二三区| 99热这里| 9l视频自拍9l九色成人| 国产精品久久伊人| 乱欲一区二区| 熟妇操花| 在线看免费无码AV天堂的| 免费观看性欧美一级| 国产白丝av| 999精品久久久久久久| 97精品全部| 欧美性少妇| 国产AV线| 日本 情色 1区| 亚洲中文日韩欧美大香蕉视频| 激情小说图片亚洲首页| 亚洲AV麻豆Aⅴ无码电影一| 亚洲熟妇A V黑人| 97精品一区| 伊人午夜福利视频| 精彩久久中文| 91女日逼| 国产精品第一页国产大屁股视频免费区| 中文字幕无码不卡啪啪| 大香蕉草草| 91高清欧美| 992大香蕉| 啊啊啊水好多| 水多多映视AV| 综合av社区| 新久久AV| 99热在线观看| 久久一二区四| 精品97精品97| 国产精品一级二级在线| 色色九区| 欧美A片中文字幕| 日韩性爱1级片视频| 亚洲另类小说卡通动漫| 亚洲第2页| 天天爽天天干| 91九九九逼| 日产成人久久| 欧美色图电影| 情趣丝袜无码操逼视频| 欧美极度丰满熟妇hd| 天天日天天爽| 干B| 在线视频日韩欧美国产| 亚洲情色电影网| a人欧美综合天堂麻豆| 欧美情色贴图| 福利视频网站| 天天综合网日韩7799| 岛国成人av在线播放网址| 九九九九九九九精品视频| 国产少妇与亚洲av| 狠狠躁天天躁日日躁97| 国产成人精品网站| 欧美亚洲色图另类国产| 嗯啊不要啊在线| 日韩精品操少妇| 日韩内| 欧美一区二区三区互相| 五月天色色网站| 综合久欧洲| 大香蕉一人| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 超碰超碰超碰超碰的大鸡吧操黑丝袜 | 啪啪啪东京| 韩国成人精品久久久免费看| 久久综合九九| 久久夜夜夜| 97天天操| 在线视频日韩欧美国产| 超碰天天久久79| 亚洲美女高潮喷水视频| 国产乱伦亚洲| 人人贴人人摸| 无色无码| 狠狠爱AV| 噜噜噜在线视频| 色色丁香| 欧美色91| 2018色综合天天操| 久久精品99久久久久久| 26uuu成人影片| 九九色精品| 9999亚洲精品| 亚欧高清| 嗯阿好爽好紧| 久操免费在线| 深喉吞精| 91欧美性| 国产无码高清操逼视频| 日韩久久三区| 91亚洲欧美激情| 国产一区二区啪啪视频| 制服诱惑亚洲一区二区三区在线观看| 日韩有码 一区二区三区| 91大学精品激情戏| 美女91| 五月丁香综合啪啪| 2017,超碰| 激情五月天社区| 欧美国产操逼| 国产成人无码网站在线视频| 日韩综合色网| 99热精品国产| 资源新线在线天堂| 97天天搞在线| 人妻少妇久久中文字幕一区二区 麻豆| 久久精品性| 国产丁香精品露脸视频 | 91久久精品中文字幕| 伊人久久大香线综合无码| 国产精品国产亚洲区艳妇糸列| 欧美性猛交美女自慰91| 特色a在线上| 色噜噜人妻av 中文字幕| 91肉丝| 操死我干死我| 五月天色电影| 国产极品精品美女视频| 国产乱人妻精品入口| 国产精品婬乱一级毛片彝族| 亚洲综人网| 五月婷婷性爱| 日韩熟女三十乱伦| 久久久∴| 人妻精品一区二区在线| 色色九区| 蜜桃精品视频一区| 欧美刺激色黄片免费看| 亚洲牲交| 人妻丝袜肏逼| 97中文天堂| 91人妻精华帖| 国产丝袜啪啪| 日日干男人的天堂| 97在线视频观看| 一本色道无码DVD中文字幕| 青青草乱入乱欲视频在线观看| 日本一本道A级黄色毛片试看60分钟| 久区视频| 日韩天天本| 婷婷99| 亚洲国产成人福利在线观看| 97久久国产精品女不卡| 粉嫩小泬久久久一区二区| 丁香五月天堂网| 欧美的性爱网站免费| 性高潮久久久| 久久超碰98| 9久综合网| 伦伦成年午夜免费视频| 黑人综合网| 91超碰丝袜制服| 久久超碰、| 国产欧美一区激情交| 免费久久一级毛片大黄| 青草成人免费视频一com| 日韩精品影视| 激情欧美日韩女同久久| 一道本久久棕合爱| 亚洲一区中文字幕一区| 国产欧美精选激情视频| 日韩在线观看三级电影| 啊啊啊慢点| 天天操天天日天天干| 97一区二区蜜臀| 大香蕉伊人久久| 999九九精品| 国产女上位好爽在线| 日本日皮视频逼| 亚洲伊人a线观看视频| 亚州综合在线| 超碰人妻97| 综合色区偷拍| 亚洲女优有码无码高清| 婷婷五月天色网| 色偷偷超碰亚洲| 日韩美女高潮喷水视频| 好看的91视频| 91久久久视| 国产精品美女视频诱惑| 激情图片亚洲色图| 久久久久久久久久久久久久久性生活视频 | 91精品黄在线观看| 国产精品久久久久久片| 色色色色日本| 性色av蜜臀av色欲aV| 日韩操逼性鲍| 涩涩这里只有精品视频| 亚洲国产精品99久久久| 亚洲图片激情综合另类| 亚洲免费成人在线高清无码视频| 成人自拍三级在线观看| 人妻偷拍一区二区三区| 国产成年女人免费视频播放a| 人人看人人插| 综合影视国产无码| 久热九九| 91久久国产综合久久| 熟妇熟女亚洲天堂网| 97精彩视频网站| 1区2区3区在线视频| 肉丝网站91| 日日A∨| Julia Annxxxxx| 日韩无码第3页| 亚洲有码视频二区| 久久、1234| 色爽——AV| 青草青草久热| 天天操夜夜操| 97超碰逼| 色欲久久99精品久久| 97中文热色| 欧洲特黄毛片免费看欧洲毛片| 91人妻人人澡人人爽人人精品| 狠狠操,使劲操| 欧美大香蕉同搞| 3p国产色噜噜一区| 天天射网| 日本最新1区2区3区| 天天操妹子| 人妻色情天天操| 日韩精品一区,二区 九九...老司机| 1204人成网站色www| 亚洲一二三四区| 久久五月天婷婷丁香中文字幕| 婷婷五月天激情网| 美腿色图| 香港久久久| 波多野结衣AV无码一区| av凤凰久久久| 四季AV一区二区凹凸精品小说| 亚州色阁| 操B久久| 99re6国产精品99re| 啪啪啪男女亚洲中文字幕99| a片偷拍视频| 欧美特大黄一级片片免费| 国产天美欧美| 欧美美逼| 青椒国产97在线熟女| 色优久久| 久久精品综合| 波多野结衣一级视频| 色老汉玖玖爱| 久久国产乱子伦精品免费女人| 乱色视频中文字幕| 精品无码人妻一区二区免费蜜桃| 亚洲色婷婷久久久综合日本| 久久久国产成人一区二区三区在线| 肥臀熟女福利视频一区二区| 丝袜美腿丝袜| 女人双腿搬开让男人桶| 91美女在线视频| 国产精品96| 另类天堂| 一二区在线观看视频| A 在线网址| 97欧美精品综合| 中日韓欧美高清| 久久伊人大香蕉| 爱丝福利| 日本肏逼视频在线观看| 97精选久久| 无码操逼网| 欧美日韩亚洲天堂网| 嗯嗯嗯不要不要免费视频| 中文字幕蜜乳av| 99热99色| 99re99在线视频| 91操人| 天堂伊人久久| 日韩欧美大力操| 免费久久9999| 国产隔壁老王影院在线| 久久熟妇五十路一区| 午夜啪| 欧美性,色九九| 国产在线综合网| av婷婷色网| 亚洲精品国语在线播放| 欧美日韩免费专区在线| 丰满美女一级毛片在线播放| 青草香蕉网| 999精品国产高清一区二区| 天天弄欧美| 国产乱色国产精品免费视| 国产AV人人 夜夜人人澡| 色在线综合| 亚洲欧美日韩电影网站一区| 入口操逼网站| 久久久久女教师免费一区| 这里只有精品久久| 国产精品人妻无码久久久老鸭窝| 91在线限制级| 这里只有精品视频在线观看麻豆| 久久高清无码夜夜操| 在线观看精品国产免费| 九九九九九九九九九国产精品 | 屁股久久久久久| 国产精品一区二区三区,亚洲综合| 亚洲欧洲第二视频在线观看色图| 黄色AAAAAAAAAAA大片| 久久精品日韩专区免费观看| 婷婷激情四射| 成人av性爱电影在线观看| 人人澡综合涩| 久久艹逼视频| 国产一级内射高清视频| 日本久久综合| av九九| 高清国产无码av| 97国产精品久久久久| 亚洲 日韩 欧美 国产综合体| 亚洲国产一级黄色视频| 啊啊啊啊啊好舒服视频| 男人的天堂不卡一区二区| 91福利网在线观看| 超碰这里有精品| 丝袜熟女2P| 国产高清在线观看欧美| 91丝袜在线播放| 69久久久久久久久久久久久| 五月丁香六月激情| 伊人久久在线视频观看| 老妇女91| 青青草国产一区二区三区| 亚洲成人av色网| 亚洲人妻中文高清| 精品无码久久久久久久久果冻糖心| 骚熟女吞| 亚码激情| 中文久久爆乳| 久久无码一区二区二三区性色| 影音资源男人日韩| 婷婷综合在线观看| 欧美色五月| 91社操逼| 在线播放成人高清免费视频 | 操操操五月天婷婷丁香影院| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 夜夜操av亚洲一区二区| 久久草大香蕉| 日本在线不卡v二区| 不卡中文字幕aⅴ在线| 91在线无码精品秘 软件| 99人妻| 欧美三级偷拍| 另类专区加勒比| 加勒比日本在线| 亚洲无套久久嗯嗯| 国产免费一区二区在线A片视频| 国产日韩区| 国产精品人妻一区二区| 91亚洲综合| 日夜伊人网| 97这里有精品| 日韩激情毛片一级久久久| 啊啊啊啊啊好舒服视频| 一牛一区二区三区久久| 亚洲五区熟女| 亚洲另类色图片| 美女尤物福利视频| 综合色图,成人综合网| 性爱综合网| 色五月网址| 色婷亚洲五月在线观看| 日本国产欧美高清在线| 久久九九国产精品| 高清无码 国产精品| 日韩欧美tv一区二区在线观看| 国产精品4p在线观看| 日本人妻最新在线中| 综合久久97| 天天干天天操天天操夜夜操天天操| 欧美中文综合| 欧美色图综合| 内射夫妻三片| 亚洲天堂一区二区久久| 免费看国产曰批40分钟怎么下载| 亚洲色系另类精品国产| www.99中文字幕| 日本色色色视频| 极品色www影院| 婷婷五月成人| 久久熟女人| 欧美在线啊啊啊| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 亚洲一区二区久久久久| 日韩一区二区三区四区五区| 亚洲欧美中文日韩视频中国语| 男女一级A片大黄,一进一出| 伊人色综合网| 亚洲免费精品一区| 久久有碼| 91在线丝袜| 九久9精品| 欧美日韩国产一区二区小黄片大全| 中文字幕日韩人妻视频| 夜嗨影院| 成人贴图日韩欧美| 久久久久久久久久精| 亚洲欧美综合图片| 精品久久久久久AV无码| 日韩av不卡在线观看| 亚洲 欧美 91| 欧美天堂亚洲电影院一区在线播放| 啊啊在线| 欧美日韩*字幕一区| AV免费在线播放一区| 婷婷久久久| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 美女久久久久久久| 1区2区3区中文字幕日韩| 男人天堂网手机版婷婷| 老妇女91| 超碰成人最新最好看| 欧美 亚洲 综合 制服| 9999九九九久久久| 日韩欧美日韩| 欧美日韩中文亚洲v在线综合| 殴美牲| 熟妇激情| 亚洲av无码成电影在线播放| 亚洲欧美中文日韩视频中国语| 日韩紧密久久| 操久久久久| 口爆吞精在线观看| 韩日男人的天堂| 亚洲九九视频| 夜夜天天噜狠狠爱2021| 欧美午夜精品久久久久久超碰| 亚洲性综合| 国产亚洲精品一区二区三区| 超碰99在线观看| 久久久久国产| 国模无码人体一区二区三| 大香蕉综合在线| 久久久久久少妇| 亚洲,日韩,欧美,成人播放| 色色无码| 欧美96在线|欧| 免费中文在线| 欧美论理片| 亚洲天天做日日做天天谢日日| 欧美色图天堂在线| 亚洲少妇视频| 探花精品视频| 超碰到97情色| 黄片色区软件| 欧洲精品人妻| 狠狠操官网| 粉嫩国产精品久久久| 亚洲学生妹高清av| 美女黄色一级A视频| 久区视频| av九九| 国产精品丝袜在线| 韩国黄色片精品久久久| 亚洲综人网| 岛国片在线观看视频亚洲| 日韩人妻丝袜美腿中文| 成人5码视频| 久久影视二区三区行押| 中文字幕亚韩| 妇女乱色二区| 9l视频自拍9l九色成人| 国产精品伦理| 色五月婷婷麻豆在| 亚洲精品久久久久久久蜜桃臀| 欧美操逼一二三区| 亚洲欧洲激情卡通另类文学四射小说网站 | 东北女人| 久久青青草原免费视频| 日韩天天本| 啪一啪免费视频| 夫妻AV网站| 天天综合网站| 狠狠操狠狠操操| 人人污日韩一区二区| 一二三四视频中文字幕在线看| 黄色不卡视频| 日本操BAV| 熟妇视频一区二区三区在线观看| 亚洲精品日日夜夜52| 色综合 加勒比| 国产成人网站在线观看| 91五十路| 亚洲 欧美 另类 日韩 人妻一区| 久久久亚洲高清不打码| 国产熟女高潮一区二区三区| 成人看片网站| 欧美极品美女aaaaaa级黄片| 欧美日韩婷婷中文| 无码视频黄色网战| 麻豆成人影音在线| 精品国产99| 无遮挡h肉动漫在线观看| 综合网欧美在线| 亚洲天堂AV在线播放| 国产欧洲精品亚洲午夜拍精品| 新婚人妻扶着粗大强行坐下| 欧美色图欧美| 天天综合影院91| 亚洲 欧美 手机在线观看| 综合色区偷拍| 97硬碰| 人人操人人摸人 | 三男一女不戴套的A片| 天天日日日射| 四虎影视永久在线免费| 亚洲se电影| 蜜臀精品1区2区| 亚欧Av| 欧美综合国产精品久久丁香| 中字一区| 国产嫩草精品A88AV在线| 女同性恋久久| 家庭乱伦国产精品| 亚洲精品熟妇1区2区3区。| av婷婷色网| 欧美亚洲中文字幕| 偷拍 欧美 日韩| 精品少妇一区二区| 欧美色图下一页| 大香蕉伊人色偷偷在线| xxx0国产在线播放| 久久精品一区二区一8| 夜夜爽夜夜摸夜夜操免费视频| 九九九九九九九九九九九免费国产| 高跟丝袜AV专区国产| 国产精品美女| 另类欧美综合| 日韩精品国模| 亚洲男人的天堂AV| 久久黄黄| 九九亚洲视频| 每日更新AV| 高潮毛片无遮挡高清免费| 国产日本一区二区三区蜜臀在线观看| 中文字幕在线第二页| 91成人国产综合久久精品蜜月| 长长久久免费视频| 色青青久久影视| 欧美一级久久久久久久大片动画| 97超碰人人模人人拍人人| 人妻少妇精品无码专区二区密桃| 小骚逼被操的爽不爽| 欧美性,色九九| 亚洲不卡不卡中文字幕不卡 | 亚洲精品久久久久久| 天天天乱色综合全| 欧美久久人体| 色婷婷久久综合超碰| 久久a久久| 国产黄a三级三级三级av在线看| 99色综合| 九九热视频在线观看| 国产日韩欧美三级片| 人看人人摸人人操| 夜间福利片1000无码| 精品中文字幕第一页| 久热影视| 国产精品蜜臀久久久久无码AV| 亚洲一区二区三区在线激情| 欧美激情综合| 亚欧高清| 激情天天视频| 俄罗斯一区二区视频在线观看| 亚洲 中文字幕 精品| www.99色| 久久国产性爱| 性爱乱伦网址| 999岛国大片| 婷婷久久五月| 国产又粗又又黄又猛| 大香蕉亚洲中文| 精品人人| 九热大香蕉| 欧美性综合| 欧美日日人人天天| 日韩无码服务区| 先锋女优在线观看视频| 国产精品日日摸夜夜添骚逼| 97超碰人人模人人拍人人| 操啊国产| 天天视频综合在线观看视频| av资源在线观看少妇| 女优视频第10页| 亚洲官网在线| 亚洲麻豆18发?| AV中文字幕三四五| 日韩欧美日韩| 中文字幕一区二区三区高清| 国产粉嫩出水在线播放| 1024日韩| 神马午夜久久久| 久久久久久裸体| 亚洲欧美97| 超碰免费人妻人人| 精品亚洲国产成人精品| 激情综合亚洲| 日韩懂色网| 天天操天天干美女网址导航| 男人天堂电影院| 欧美一区二区三区另类精品| 欧美精品999| 欧美少妇第一页| 亚欧美综合| 午夜小电影在线插入淫高潮| 亚洲一级性爱视频免费看| 色色婷婷丁香| 久偷拍| 60秒不遮不挡| 欧美亚洲色图另类国产| 欧美亚性天堂| 日韩色女精品| 啊啊啊好想要| 日韩免费看黄片| 五月天伊人| 欧洲精品二区| 黄人人操人人操| 不卡啪啪视频| 日本丝袜美腿人妻九九| 熟妇激情| 久久久久久久久久va| 五月丁香激情综合| 欧美日韩婷婷中文| 国产精品剧情| 国产福利影视| 久久97资源 网| 舔足天天操天天射| 老司机深夜影院18未满| 蜜桃在线观看一区二区三区 | 久久丁香| av草草在线电影| 久热在线精品免费观看| 99re在线视频国产| 亚洲自拍欧美国产首页网曝| 99re视频在线播放青草| 欧美一级久久久丰满| 欧美有码激情视频一区二区三区| 91超碰在线播放| 久久精品国产亚洲AV高清演员表| 色色热| 青青草华人在线欧美在线| 另类小说综合网| 美腿色图| 蜜臀久久99精品久久久久| 女人高潮大叫一级毛片| 动漫av中文| 日韩操逼性鲍| 亚洲成人一二三区| 亚洲欧美另类小说| 涩五月婷婷| 久久东京热成人| 亚洲精品亚洲人成人网| 精品女同一区| 国产无码一二三区| 91成人久久| 亚洲图片欧洲图片aⅴ| 加勒比海成人视频网| 八戒午夜福利理论片| 亚州成人A√| 日本爽爽爽爽爽爽免费视频| 色呦呦、国产精品| 一区二区乱码福利| 大香蕉伊人网WWWn0n| 大香蕉一级黄色片久久| 熟女丰满人妻一区| 国产女人视频三四五区| 亚欧精品久久久久久久久久久| 欧美高清16| 亚洲欧美精品一区天堂久久 | 天天淫人人妻日日色| 97爱综合| 男人的天堂2018.| 午夜福利1区2区3区| 精品176精品2| 久久精品国产亚洲AV无码做| 中文字幕伊人| 久久人人爽人人爽人人片Ⅴ| 日曰骚久久精品| 大香蕉免费中文| 亚洲无码精品AV久久久| 日韩无码一区二区三区| 大香蕉中文在线| 亚洲,欧美,春色,另类| 日日爱99| 欧美精品 - 91爱爱| 欧美日韩不卡a片| 欧美日本视频一区| 91色婷婷综合久久中文字幕二区| 四虎av在线| 爆乳免费黄网站| 亚洲精品一区二区精品| 欧美大干日韩| 天天插天天干| 翔田千里爆乳巨臀无码| 欧美亚洲涩涩| 超碰人人干| 在线日韩日本亚洲国产| 亚洲情色图片区| 欧亚在线视频| 蜜臀久久99精品久久久| 日本久久综合| 色九区| 手机午夜电影神马久久| 男人的天堂无码| 插入综合网| 黄色在线网站| 好吊色综合| 中文字幕人乱码中文字的预防方法 | 久久精品国产AV一区二区三区| 国产成人精品午夜福利| 亚洲色五月| 国产网红精品| 日日爱99| 9997se| 九九九九九九九九九九九免费国产| 国产精品熟女九色九色蜜臀| 欧美少妇高潮| 欧美熟妇亚洲版| 成人夜夜爽| 久久久精品无码亚免费| 国产毛片片精品天天看视频| 超碰在线1234区| 爽爽爽免费视频| 五月丁香成人网| 国产 亚洲 丝袜 制服| 亚洲无992tv| 色网亚洲人| 亚洲人久久久网| 国产精品对白内射| 日韩成人网址| 男人a天堂手机在线版| 极品色| 欧美性高潮| 智利AV在线网| 97色诱| 欧美日韩性感| 婷婷综合五月| 国产精品自拍欧美在线| 国产91av在线播放| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 色妇综合网| 日日日色色色色色| 爱干爱射网啊啊啊| 这里有精品| 国产亚洲精品第一最新| 国产99精品一区二区三区免费| 男人天堂电影院| 熟女91网站| 99AV| 新怡红院| 欧美色亚洲色| 肉丝中文无码高清| 亚洲综合贴图91 | 啪啪视频免费在线观看| 日比av无码| 加勒比av网| 国产日产欧产美韩系列麻豆免费| 神马久久久久久久久久| 熟妇熟女一区二三区| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 蜜臀久久99精品久久久久久无删减 | 自拍丝袜美腿人妻| 天天干天天日天天射黄色| 天天爽天天爽| 激情五月天网| 亚洲日本成人动漫| 视频二区美腿丝袜制服人妻欧美| 久久久com| 狠狠综合| 视频二区美腿丝袜制服人妻欧美 | 亚洲欧美综合| 一中国女人毛片水真多| 9久在线视频只有精品| 日韩性爱电影一区| 在线视频日韩欧美国产| 国产久久av| 综合操逼| 另类小色呦| 精品性爱无码在线播放| 国产精品熟女丝袜一区二区| 日韩欧美俄罗斯A片| 丰满人妻av一区二区三区| 亚洲AV成人在线| 日本精品一区三区| 日本一区二区电影网站|