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

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保證至少送達一次帶ACK確認(rèn)QoS 2保證恰好送達一次帶兩階段提交而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的生死線進入掛載的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變量控制動畫進度內(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的進程優(yōu)先級機制和MQTT的QoS特性如何配合。4.1 MQTT客戶端選型為什么Paho Android不是最優(yōu)解Eclipse Paho是官方推薦庫但它的MqttAndroidClient在Android 8.0上存在致命缺陷onMessageArrived()回調(diào)在主線程執(zhí)行而MQTT消息到達是異步事件如果此時UI正在執(zhí)行耗時動畫比如Fragment切換回調(diào)會被阻塞導(dǎo)致消息堆積。我實測過當(dāng)手機后臺播放音樂GPS定位時Paho的回調(diào)延遲可達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確保指令必達 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)到達校驗預(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
返回資訊列表
桃色成人网| 操操天堂| 九九婷婷网五月天| 五月丁香999| 91a片爽| 狠狠操狠狠| 天天做天天爱天天摸| 日本黄色一级| www.日日夜夜.com| 久久久久激情| 五月色婷婷综合| 色婷婷五月影视| 久久99激情五月天| 草草夜夜操| 操逼三区| 久久婷婷婷婷伊人| 爱射综合| 97在线/亚洲| 国产av天天插天天操天天爽| CHINESE熟女老女人HD视频| 亚洲色爱综合| 人人舔天天| 激情图片婷婷| 六月婷婷香蕉| 91性人人| 97操男人的天堂| 亚洲人妻av伦理| 99久在线视频| 狠狠狠狠狠狠色| 九九久久精品| 伦乱天堂| 超碰二区| 91狠狠色色丁香婷婷综合久久| 五月停视频天堂| 99爱在线视频| 99色综合| 伊人综合网站| 成人无码精品1区2区3区免费看 | a免费在线| 成片免费播放| 久久婷婷五月天| 欧美99热| 五月天婷婷无码| 久久超视频| 99热免费18| 99热精品在线播放| 日日噜噜夜夜狠狠久久丁香六月| 99热这里只有精品22| 久久这里只有精品热在99| 五月天精品综合在线| 色黑鬼导航| 久久人妻久久久久| 色综合色欲综合天天免费| www99精品| 五月婷婷日本| 91大神操美女| 久久五月天激情美女| 五月停停999| 99久久97| 99啪在线视频| 婷香五月| AV片在线观看| 色婷婷综合电影| 九九色中文| 激情综合另类| 玖玖婷婷五月天| 久久五月天合网| 久久久久亚洲A∨成人乱码电影| www.av视频xx999.com| 欧洲激情五月天婷婷| 丁香综合伊人| 激情五月天黄色小说| 天天射夜夜爽| 色99综合视频| 91se在线观看| 亚洲精品婷婷| 色5月婷婷| 天天做天天爽| 大香蕉婷婷久久| 丁香六月亚洲综合| 色婷婷亚洲五月天| 日本99热| 人妻无码视频网| 97成人丁香| 欧美成人猛片AAAAAAA| 综合av在线| 精品一区久热| 久久99视频| 91丨九色丨熟女高潮| 少妇人妻偷人精品无码视频新浪| 欧美叉叉叉BBB网站| 任你躁XXXXX麻豆精品| 日产精品一线二线三线芒果| 久99久视频免费观看| 激情五月天婷婷直播| 丁香六月婷婷高清| 综合久久9| 婷婷亚洲天堂| 丁香五月婷婷偷拍| 五月丁香基地| 97色碰| 999热在线观看视频| 婷婷九色| 激情六月婷| 五月丁香久久网| 国产精产国品一二三在观看| 99精品国产热久久91色欲| 亚洲99视频| 色婷婷五月综合| 五月激情婷婷在线| 日韩免费99| 激情五月第四色| 五月丁香在线综合| www.色五月| 97人妻碰碰中文无码久热丝袜| 国产精品第一国产精品| 成人综合AV| 狠狠色无码| 亚洲婷婷激情综合激情999精品| 天天射影院| 99久久天堂婷婷| 激情婷婷丁香五月天小说| 丁香六月激情综合啪啪| 强壮公让我夜夜高潮A片视频| 青青草Avb在线| 精品一二三区视频立| av色色国产| 丁香五月性| 岛国资源站| 热九九在线| 天天干天天日天天操| 99网| 色婷婷国色天香综合| 色色婷婷丁香五月天| 国产精品色情AAAAA片软件| 99久精品视频| 五月丁香综合激情| 中文字幕久久婷九女同| 伊人深爱综合| 婷婷丁香六月天| 激情综合五月激情| 五月好婷婷| 久久98| 日本激情91| 五月婷婷六月丁香综合| 怡春院天天干| 五月丁香六月婷婷在线| 肏日网在线看| 五月婷婷之综合激情| 久久激情中文| 五月婷婷六月奇米网丁香| 1000部毛片A片免费观看| 91久久精品无码一区二区三区| 播五月丁香六月| 免费无码毛片一区二区A片| 超碰免费人人| 综合网五月| 久久精品婷婷| 亚洲激情另类| 色五月aV| 免费色婷婷| 婷婷五月中文字幕国产| 婷婷丁香大香蕉| 五月丁香激情在线| 性色综合网| 五月婷婷人妻| 超碰人人色| 亚洲欧洲午夜成人精品av| 五月天婷婷无码视频| 91久久久久久久久久18| 拳交大逼| 色婷婷国产精品综合在线观看| 天天撸天天干天天插| 免费无码毛片一区二区A片| 99国产小视频免费观看| 久cao香蕉影院| 婷婷亚洲色| 99精品久久久久久久久| 91综合色| 月婷婷亚洲| 婷婷五月在线视频| 婷婷五月天论坛| 丁香狠狠干| 久久这里只有精品16| 丁香五月天成人| 久热网在线视频| 天天艹| www.五月天婷婷| 91精品久久久久久久久| 五月丁香六月激情| 天天爽综合| 激情六月婷婷| 亚洲婷婷月丁香五月| 九九在线视频| 激情五月天婷婷丁香| 超碰国产在线观看| 婷婷久久大香蕉| 黄页大全十八禁| 97婷婷久久丁香| 久久超视频| 亚洲综合九九| 91九色超碰| 五月天综合视频| 国产免费av在线| 99re免费精品视频| 婷婷五月久久| 爆乳熟妇一区二区三区爆乳照片| 少妇高潮呻吟A片免费看软件 | 97成人视频| 99色精品| 亚洲AAAA网| 激情丁香五月天图片| 激情性爱五月天| 色婷婷色久综| 天天操无码| 欧美精品中文字幕亚洲专区| 丁香婷婷五月综合| 亚洲性色XXXXX| 五月婷婷|欧美| 丁香色婷婷| 丁香婷婷六月在线资源观看| 五月婷婷激情刺激| 综合九九日本| 国产伦亲子伦亲子视频观看| 五月天婷婷色| 久久久久人妻中文| 99re这里只有精品国产99| www. 五月. com| 色色色图| 夜夜谢天天干| 人人看人人草人人摸| 黑人无码一区| JlZZJlZZ8JlZZ亚洲熟女| 日本婷婷在线| 五月丁香婷婷开心| 亚洲视频丁香网va| 婷婷的久久网站| 综合色、色综合| 日本久热| 激情五月天偷拍综合网| 69激情小说| -91九色大屁股| 九九九激情综合| 99色干| 五月天社区狠狠| 色婷婷丁香网| 色婷婷激情| 99热亚洲只有色| 色情五月综合婷婷| 天天射综合网站| 亚洲五月天婷婷综合| 91九九| 亚洲视频无| 超喷97免费在线视频| 婷婷五月天久久久| 综合色影| 婷婷五月综合啪| 亚洲综合狠狠艹| 婷婷 久综合| 婷婷九月狠狠色| 婷婷亚洲在线| 666555。COm毛片| 999热这里只有精品| 婷婷五月天AV| 久久精热| 久久婷婷五月天激情| 五月天婷婷中文字幕在线播放| 五月天五月色婷婷综合| 婷婷激情中文综合| 2015好吊操| 久婷婷五月综合欧美| 爱iii做iiii日日| 国产美女无遮挡裸体毛片A片| 日韩无码成人电影| 色色激情五月天| 六月丁香综合| 啪啪综合网| 91成人品| 色五月婷婷在线| 久九色| 亚洲综合在线播放| 久久久WWW| 91人操人人人操人| 香蕉久久国产AV一区二区| 五月综合色| 婷婷五月天色播| 久久久久久久久人妻| 亚洲激情网站| 丰满人妻一区二区三区| 六月婷婷激情图片| 欧美日韩99| 久操操| 99色在线视频| 狠狠色噜噜狠| 丁香五月综合久久| 丝袜人妻| 欧洲亚洲免费视频9| 性爱动图国产麻豆一区二区三区| 99热无码精品| 97好吊操| 婷婷激情图片| av九九| 久色资源| 久久99热网| 丁香五月婷中字在线| 182tv992tv人之初午夜免费观看| 野外99热| 综合激情婷婷| 激情五月亚洲综合网| 五月噜噜| 少妇搡BBBB搡BBB搡毛茸茸 | 亚洲色网络| 丁香久久| 五月婷婷亚洲色图| 色区久久| 六月丁香五月激情婷婷| XX久久| www色色色com| 97人人操人人插| 人妻Av在线| 五月丁香成年黄色| 丁香五月婷婷性爱| av操一操| 深爱婷婷网| 少妇被躁爽到高潮无码文| 婷婷五月花.97| 9 9 9色色| 日韩欧美一级大黄网站| 丁香亚洲婷婷五月| 香蕉人在线香蕉人在线 | 五月天婷婷影院| 人妻AV在线| 岛囯综合激情网| 婷婷色操| 亚洲人妻一区二区| 超碰在线精品| 九九精品9| 久久婷婷人人| 99re这里有精品手机在线| 激情文学五月丁香六月婷婷| 综合网色| 一操久久| 人人人人人人人草| 综合激情站| 激情5月婷婷| 久久hd| 欧美va视频不用播放器的va视频网| 激情婷婷网| 99视频久久| 国产在线激情视频| 天天曰夜夜爽| 五月天婷婷久久| 99热在线播放| 五月婷中文字幕| 五月丁香六月综合激情网| 色综合九九色综合88| 少妇大叫太大太粗太爽了A片| 激情久久月| 深爱女色婷婷丁香五月亚洲图区| 激情五月天天狠狠久久| 久久九九激情五月天| 日本一道久久| 播五月开心婷婷欧美综合| 日本欧美成人片AAAA| 97热精品| 这里只有精品免费| 亚洲九九99精品视频在线播放| 91婷色| 亚洲最大五月天成人网| 亚洲欧洲中文日韩久久AV乱码| 4399在线观看免费毛片| 色五月第四色| 色婷婷伊人激情在线观看| 91干| 999热在线视频| 婷婷5月九九| 亚洲精品字幕在线观看| 丁香五月婷婷色| 久久综合五月| 中文字幕综合色| 五月丁香久久久日婷婷久久婷婷日| 五月婷婷六月激情| 激情国产五月| 人人人操B超碰| 大香网伊人久久综合| 五月天婷婷香蕉狠狠超碰综合| 99热这里只有精品最新| 疯狂做受XXXX高潮A片| 婷婷伊人| 玖玖在线视频| 色婷婷影视| 碰97久久| 色综合久久99色| 五月六月婷| 骚逼视频一区2区| 综合色、色综合| 色五月婷婷 成人| 婷婷五月天色色| 97干综合网| 五月天成人网在线观看| 五月天色色色色色| 天天天在线观看| 色婷婷成人久久| 人人人操B超碰| 日韩AV免费电影在线播放| Av性爱网站| AVDV久久| 久久小视频免费| 日韩成人电影AV| 欧美色图45678| 夜夜骑夜夜操| 五月丁香久久综合| 日日做A爰片久久毛片A片英语| 日本激情ⅩXX免费视频| 久久久GOGO无码啪啪艺术| 青青草原中文字幕| 五月花综合视频| 五月婷婷先锋| 婷婷五月激情网| 中文字幕欧美久久| 天天色亚洲| 丁香五月亚洲激情婷婷射| 婷婷伊人五月天| 五月天婷婷日日爱| 老妇六区| 久久爱婷婷| 免费播放片大片| 色色五月天丁香| 色丁香五月婷婷| 久久怕怕视频| 狠狠操狠狠狠| www.久久爱.c n| 丁香六月婷婷综合激情欧美| 婷婷伊在线| 国外亚洲成AV人片在线观看| 欧美成人网99网| 97碰碰在线观看视频| WWW.99视频| 婷婷六月丁香激情| 色婷婷yy久| 日日干天天| 狠狠久久婷五月| 日本久久精品| 欧州色色| 色欲人妻综合aaaaaaaa网| 精品无码久久久久久久久| 操你av| 热热99爱爱| 97碰在线视频| 精品成人无码A片观看香草视频| 婷婷五月欧美| 丁香六月激情综合| 久久五月综合| 六月丁香婷婷五月天| 色级停停| 91玖玖| 婷婷开心青青草| 五月天激情日色在线| 大香蕉五月婷婷| 丁香五月婷婷姐| 日本9区视频| 99热综合| 亭亭五月色男人| 色五月天堂| 精品人妻午夜一区二区三区四区| 99激情| 国产日韩欧美性生活| 色综合色色色色色色综合| 另类专区在线| 激情五月婷婷丁香综合网| 五月丁香啪啪综合网| 欧美性色A片免费免费观看的| 婷婷色色婷婷| 色婷五月天网站| 综合网啪啪| 69凹凸成人综合网| 天天操天天曰| 六月婷婷色综合| 五月情四婷婷| 久久伊人婷婷| 亚洲国产网站| 中文字幕无码AV| 啪啪激情网| 日日爽天天| 快乐激情五月色婷婷| 97成人视频| 婷色五月| 天天看A片| 激情五月色播五月| 久色五月婷婷综合| 性爱在线播放av| 九九精品热播| 大香伊人婷婷影院| 色吧婷婷五月亚洲| 成功精品影院| 久久六月天| 久久久中文| 男人天堂AV在线一区二区| 国产真人做爰视频免费| 九九热视频在线观看| 婷婷五月天综合AV| 色噜噜狠狠一区二区三区| 婷婷五月天,影院| 欧美99热| 久久久久亚洲AV成人无码电影| 东北熟女高潮99综合99| 亚洲激情四谢| 秋霞少妇AV网站| 婷婷色影院| 午夜免费试看| 51XX午夜影福利| 久久99热在线观看| 99在线小视频| www.婷婷五月天.com| 五月婷婷丁香在线视频| 色狠狠色狠狠| 婷婷五月深深爱| 婷婷五月天色网久| 欧美韩日AAA网站| 凹凸7777操操操| 97色婷婷| 新久久五月天激情| 5月婷婷综合| 亚洲综人色综网| 97人人干人人操| 久久久久久久久久91| 婷婷99丁香| 一本九九色| 91狠狠色| 日韩在线99| 亚洲偷| 秋霞午夜理论 | 婷婷五月激情小说| 五六月丁香激情视频| 久一这里有精品国产| 人妻性爱av网站| 久久丁香| 99色最新在线视频| 先锋资源 996| 五月激情婷婷开心| 亭亭五月色男人| 99精在线| 天天操中文字幕| 91九色首页| 天天干狠狠| 我爱大香蕉| 国产欧美熟妇另类久久久| 开心婷婷五月| 中文AV网站| 曰本aaaaaa丈片| 国产色视频网站2| 色色色色色五月丁香| 久99久热| 99精品这里只有免费视频| 丁香婷婷射| 停停五月天激情网| 五月天婷婷丁香导航| 超碰91人人操| 五月天综合在线| 久久久久久久久月丁| 色八戒操婷婷| 欧日韩成人| 激情小说五月丁香在线视频观看视频| 九玖欧洲亚洲| 99热| 无码人妻丰满熟妇奶水区码| 97操| 精品色情一区二区三区四区| 亚州AV超碰人人操| 亚洲性爱电影| 嫩草AV久久伊人妇女超级A| 日韩不卡123| 天堂网色色| 99免费综合网| 亚洲熟女乱色综合亚洲网站| 日日天天天| 激情五月婷婷综合色播小说| 91综合国免费久入| 超碰只有精品在线| 碰97久久| 久久婷婷亚洲五月天| 玖玖五月丁香| 9色91视频| 狠狠色色综合| 国产日日夜夜操| 99精品免费视频| 丁香五月性爱| 99热欧美精品| 丁六月激情| 日本丁香五月| 超碰在线caop| 久热人妻| 色婷婷丁香五月在线观看| 老司机日日夜夜青草| 91夫妻网站九色| 另类图片天天影视在线观看| 玖玖资源站中文| 人人播| 久久伊人婷| 欧美亚洲999| 激情婷婷五月天| www久视频com| 色情五月天视频网| 久久久久久久人妻| 乱乱av| 综合久| 狠狠干无码| 亚洲精品又粗又大又爽A片| 婷婷五月天情色| 婷婷五月丁香婷婷| 99视频在线精品| 超碰在线观看成人视| 性婷婷| 黄网在线免费观看| 九九超碰人人| 色婷婷丁香社综合| www,五月天激情| 亚洲六月婷婷| 超碰在线国产9| av五月天婷婷丁香| 99ree6| 毛片网站谁有| 五月激情综合网| 久热在线观看视频9| 五月婷丁香在线视频在线| 久久久婷婷婷| 亚洲AV网址| 深爱激情综合网| 青青久在线视频免费观看| 色色五月天婷婷| 久久久99免费视频| 五月天婷婷色情| 婷婷开心六月| 色综合色香蕉网| 综合狠狠干| 六月激情网| 91婷婷在线| 丁香五月先锋| 欧美激情中文字幕| 无码色| 综合亚洲AV| 五月天婷婷丁香社区| 日韩一区二区A片免费观看| 亚洲国产色婷婷| 欧美婷婷五月丁香| 婷婷五月天成人在线视频| 超碰色综合| 激情五月天啪啪| 丁香五月激情综合| 五月天伊人综合| 色综合久久中文| 2015WWW永久免费观看播放| 思思re99视频在线观看| 综合激情在线观看| 夜色综合网| 色色色色色色色色色色色色色97| 久色| 五月天综合久久| 啪啪综合网| 国产性爱在线| 婷婷五月六月丁香综合| 色五月激情图片| 日本社区五月天激情| 丁香五月天亚洲综合| 婷婷色正月| AV在线收看| 无码动漫av| 久久婷狠狠色| 五月天激情小说网| 成人AV在线网站| 夜色热久| 激情五月综合网| 成人网站在线观看视频| 丁香五月激情综合| www狠狠| 久热伊人在91| 99热播放| 亚洲精99| 91高潮喷水久久久久久久久 | 蒲京久久无码视频| 婷婷五月天视频免费在线观看| 久久精品综合色| 婷婷五月丁香香蕉| 精品九九视频| www激情网站| 婷婷五月天亚洲| 呦呦v线| 任你搞在线观看视频| 日本色99| 五月天色婷婷视频| 激情综合婷婷久久| 久久伊人五月天| 这里只有国产精品在线| 激情五月天99色| 婷婷伊人五月天| 五月丁香啪啪啪啪| 激情 婷婷| 日本色婷婷| 人人操人人爱丁香五月| 五月综合色| 六月婷婷影院| 涩综合网| 综合欧美五月婷婷| 最新av在线观看| 亚洲激情丁香五月基地| 激情熟女网| 久久久久9| 久久99热这里只有精品| 日韩三级片一区二区| 国产九月婷婷| 开心五月婷婷| 六月激情久久| 停停色综合伊人| 婷婷欧美激情| 成人国产欧美大片一区| 91精品综合久久婷婷九色| 成人色五月天| 久婷婷婷| 丁香操逼| 97色色视频| 色欲婷婷五月天丁香| 婷婷丁香五月天欧美| 九九青草热| 国产偷人爽久久久久久老妇APP| 欧美乱码国产一级A片| 欧美激情xxxXX| www.99热在线观看| 久久久.www| 99综合| 亚洲AV综合网| 综合色五月| 婷婷亚洲五月丁香综合在线 | 婷婷色色欧美综合网| 色婷婷狠狠| 操操操Av| www.av骚货| 九九综合久久丁香婷婷,开心激情综合网| 日都一级A片| AV大片在线播放| 色色色热| 26uuu四色| 91婷婷色 | 午夜激情五月天| 欧美日韩大黄| 久久狠狠欧美| 超碰人人超碰| 久久9热| 日韩天堂久久| 亚洲精品第一国产综合亚AV | 成人国产欧美大片一区| 久久久性爱视频| 偷偷操99| 激情五月婷婷在线观看| 常久最新免费的色吊丝| 色情一区二区播放| 爱草视频在线| aaaaaa片| 狠狠看狠狠| 色五月大香蕉| 久久久www| 视频一二区| 99啊精典免费视频| 五月天堂色色| www亚洲无码| 婷婷情色五月| 丁香六月综合| 日本三级日本黄色| 韩国不卡AC视频| 五月丁香亭亭电影久久| 亚洲三A| 极品人妻VIDEOSSS人妻| 五月天色色色| 五月丁香啪啪啪| 五月丁香网站| 国产精品国产成人国产三级| 97精品综合久久| 色999;丁香五月| 99热99色| 色婷婷成人做爰A片免费看网站| 日本综合久久| 操你av| 丁香五月综合在线播放 | 欧美成人一区二区三区在线视频| 亚洲精品无码一区二区| 欧美色综合天天久久综合精品 | 婷婷久久免费看| 成人婷婷深爱综合网| 五月天欧美 另类小说| www.91有码.com| 99成人无码| 色五月首页| 99热久| 久99久精品视频| 9久久久久久久久久久| 五月婷婷六月天| 激情五月天影院| 欧美激情综合| 久久五月婷天天干| 狠狠久久婷| 另类图片激情五月| 婷婷丁香社区网| 开心久久爱五月天| 天天爽夜夜爽天天爽夜夜爽| 久久怕怕视频| 中文字幕黄色片| 丁香婷婷啪啪| 涩丁香| 丁香 亚洲 久久| 久/久精品99看9| 婷婷成人综合免费视频| 精品草原久久视频| 99riAv1国产在线观看| 六月综合婷婷开心伊人| 免费观看全黄做爰的视频 | 五月婷婷激情综合拍| 婷婷性福五月天| 色九月婷婷| 少妇水多A片太爽了| 日本在线观看91| 亚洲成人网站在线观看| www.色婷婷。com| 亚洲婷婷免费| AV人人操| 色婷婷色99国产综合精品| 婷婷五月情| 大陆极品少妇内射AAAAAA| 婷婷激情五月天激情小说| 色五月婷婷综合| 99热这里只有精品13| 狠狠操狠狠操| 99ri视频| 99人人操| 欧美天天综合网站上去吧| 五月丁香性| 亚洲成人免费电影| 久久国产AV| 美女va| 婷婷五月激情视频在线| 思思久久精品| 日本A片一区| 婷婷五月深情丁香深爱日韩| 成人电影丁香六月天| 9久久婷婷国产综合精品性色| 熟妇人妻中文字幕无码老熟妇| 亚洲蜜乳AV| 久一这里有精品国产| 99久久极情精品一区| 日日夜夜干| 停停综合色色| 天天综合图片| 九九色精品| 9精品国产在热久久| 久久无码激情视频| 天天爽天天日| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | www.丁香六月婷婷久久天堂影院.con| 色婷婷久久综合久色综| 思思久久青草热| 天天色视频| www.无码com| 九九热手机在线视频| 伊人久久婷婷| 4399高清无码视频| 五月婷婷狠狠干| 夜夜操狠狠操| 婷婷丁香色情| 色五婷婷开心缴| 欧美叉叉叉BBB网站| 人妻人人操| 铁牛TV人妻| 四色AVwww| 中文字幕乱码亚洲精品一区| 久久激情视频| 色婷婷五月天成人网| 懂色av粉嫩AV蜜臀AV| 婷婷色五月天第7色| 五月色婷| 九九热10| 99精品热| 人人操大| 婷婷色爱| 超碰天堂网| 狠狠狠人妻| 色优久久| 久久婷婷五月天激情新地址| 九九这里是免费的视频5| 丁香五月婷婷综合激情啪啪啪啪啪啪啪| 在线五月色播| 色婷婷狠狠18禁| 婷婷五月天成人在线视频| 综合久久久| 91九色中文| 久久99热在线观看| 欲求不满的人妻| 精品皮股午夜AV| 666555。COm毛片| 婷婷亚洲激情在线观看视频| 色综合久久久久| 久久只有精| 五月婷激情| 婷色五月| 丁香五月Av| 99热99网| www久久久| 深爱五月婷婷开心中文字幕| 色婷婷六月| 五月色婷婷亚洲| 丁香五月成人| 久久一热免费视频| 五月婷婷深深爱| 亚洲婷婷开心五月| 成人做爰A片免费看视频| 五月婷色丁香| 久草x色在线观看99| 婷婷射图五月天| 日韩三十六页| 99精品小视频| 激情五月天第四色| 婷婷成人AV| 色综合久久44| 高清无码视频网址| 99人人爽| 思思国产99| 99热一本久道| 九九干视频| 婷婷五月天堂| 99精品视频在线观看| 色色永久| 六月丁花香啪啪激情欧美| 天天干天天操| 亚洲婷婷五月| 色婷婷成人| 五月天婷婷一起草| 亚洲午夜成人av电影网| 婷婷视频在线| 丁香婷婷性久久| 97干97色| 丁香婷婷免费| av不卡网站| 五月天成人在线视频网站| 五月婷啪啪| 大香蕉久| 亚州性爱99| 2016日日夜夜操| 色婷婷狠狠| 678五月丁香亚洲综合| 久久久五月天婷婷| 99热综合在线| 高清激情av在线观看| 欧美,日韩成人在线| 婷婷五月色激情欧美激情| 色呦呦免费观看| 人妻丰满精品一区二区A片| 天天综合影院| 久久新地址| 男女啪啪做爰高潮无遮挡| 5月婷婷激情在线| 中文字幕在线播放视频| 色婷婷成人做爰A片免费看网站| 开心五月激情婷婷| 粉嫩av蜜桃av蜜臀av| 三人荫蒂添的好舒服A片| 婷婷五月丁香在线视频| 婷婷五月天在线看| 亚洲天堂色| 啊v视频在线观看| 久热中文字幕在线线观看| 亚洲有码在线视频| 国产亚洲99久久精品| 免费观看欧美成人AA片爱我多深| 九九久久99精品免费观看www| 大地9中文在线观看免费高清| 婷婷九月丁香| 亚洲天天免费| 99狠狠操一| 免费视频WWW在线观看网站| 丁香婷婷情色五月天| 丁香六月婷婷缴情欧美| 亚洲AVwwwwwww| 色色五月婷婷| WWW.17C亚洲精品| 91dy.av| 超碰9| 婷婷色综合网日韩国产| 一起草性爱不卡视频| 丁香婷婷色五月| 狠狠香婷婷五月| 色九网| A久网| wwxx日本| 色狠狠综合网| 91日婷婷在线| 97久久超碰| 天天草天天爽| 日日操,天天操| 久久丁香| 婷婷五月18永久免费网站| 亚洲最大成人综合网720P| 9l视频自拍九色9l视频自拍九色9l社区 | 新97人人上人人| 婷婷综合五月天亚洲综合| 青青操绿aaa一区日v| 极品色丁香| 中文字幕操比影片| 欧洲色色| 九九性视频| 天天日天天干天天操| 国产一级婬片毛片| 播五月婷婷开心| 免费啪啪亚州视频| 激情网色五月| 五月丁香婷婷五月色| 激情五月丁香五月| 久久久WWW| 九九热最新| 日韩十国产极品久久| 色婷婷五月天天天天天天天天天| 精品在线网站| 热久久色| ady狠狠入| 欧美日韩成人h| 国产FREESEXVIDEOS性中国| 色色色色色色色色综合网| 天天肏高清在线| 亚洲成人五月天| 色色色色色爱| 婷婷五月综合激情小说| 69堂午夜视频最新地址| www.99视频| 9久久婷婷国产综合精品性色| 亚洲色基地| 超级碰人人操人人干| 67久久| 熟女强人妻一区二区三区四区无| 亚洲亚洲人成综合网络| 五月婷婷激情网| 激情五月天 婷婷| 一起草AV| 欧美在线视频99| 六月婷婷综合| 99ri国产| 婷婷丁香五月亚洲| 天天干天干| 丁香五月色| 欧美婷婷五月丁香| 无码激情| 天天精品视频免费观看| 婷婷五月无码| 99热97| 伊人久久婷婷| 99er久久| 男人的天堂五月丁香| 色欲天天综合| 熟女激情五月天 | 国产色五月| 久热播这里只有精品| 五月天婷婷中文字幕在线播放| 国产精品久久久久久五月天加勒比| 综合深爱五月| 五月丁香六月婷婷综合| 色播激情五月天| 99热97| 婷婷月综合| 五月丁香婷婷啪啪| 97人人干人人操| 色狠狠色噜噜AV天堂五区| 丰满少妇猛烈A片免费看观看| 久久人妻熟女一区二区| 丁香五月婷婷av影院| 中文字幕av久久爽| 91疯狂操操操操| 五月色色色| 综合激情啪啪| 国产热精品| 五月丁香在线看| 国产无人区大片| 99热这里有精力| 成人精品视频99在线观看免费| 久在线88综合| 九九热青青草| 人妻综合网| 婷婷五月天 偷拍| 色五月色五天色情网| 婷婷激情小说| 日韩无码成人电影| 国产AV一区二区三区最新精品| 超碰婷婷五月| 久久久五月婷婷| 婷婷六月丁香激情| 亚洲男人的天堂婷婷色五月| 天天久| 婷婷五月天电影网| 91久久精品国产91性色TV| 97在线视频 欧美| 网色99| 99色播| 香蕉人在线香蕉人在线 | 亚洲无码色色| 99在线视频操999| 91激情五月开心| 免费日韩99| 直接看的av| 99热这里只有精品99| 97搞在线| 色综合久久99色| 日日操夜夜爽天天天| 99久久五月婷婷| 99无码视频| 色色色五月天激情资源| 日本色色图| 亚洲 五月 婷婷 成人| 激情综合五月天| 婷婷香蕉精品| 久热中文字幕| 日日夜夜噜噜爽爽| 另类激情综合| 97搞在线| 91五月天| 在线另类视频| 婷婷激情综合网| WWW,五月| 日韩成人精品中文字幕电影| 五月丁香婷草| 99精品网站| 色色五月天激情| 欧美日本国产| 欧美黑人大吊| 高清无码视频网址| av国产精品| 九九这里是免费的视频5| 婷婷深爱五月亚洲综合| 噜噜噜狠狠色综| 91九九九色在| 综合五月丁香久久| 97丁香五月| 在线中文字幕免费视频| 六月婷婷天天操夜夜爽视频| 99久热这里只有精品| 欧亚成人A片一区二区| 色婷婷五月天偷拍| 思思热久久婷婷五月天| 天天狠狠夜夜狠狠2023| 日韩xx在线| 五月天激情婷婷五月天久久| 久久久中文| 性爱网六月丁香| 六月婷婷网站| 99热综合| 欧日韩成人| 亚洲第一第二网站| 国产性av| 月月AV| 俺去也五月天婷婷| 婷婷综合在线播放| 99久久大片| 国产精产国品一二三在观看 | 久久伊人日日夜夜| 五月婷婷成人| AV在线免费播放| 丁香婷婷六月男男| 情色五月天 网站| 六月丁香深深爱| 97五月天| 狠狠爱综合网| 五月天丁香网站| 99热高清在线| 色五月丁香五月天| 亚洲九九99精品视频在线播放| 婷婷五月天直播| 亚洲操B| 91丨九色丨国产打屁股| 五月天丁香成人| 伊人玖玖婷婷| 色99在线观看| 日本在线wwww| 五月天久久网站| www.丁香黄色五月天人与| 五月丁香综合伦理片| 激情五月天色色| 久久66er久久| 99啪啪| 久久久婷婷婷| 色婷婷丁香五月| 日韩成人综合网| 超碰人人在线| 日韩成人中文字幕| 日韩成人av在线| 成人短视频在线| www激情| 色婷婷XXXXX| 色婷婷综合网| 丁香无五月网| 五月婷婷激情综合| 五月丁香激情婷婷综合字幕| 极品人妻VIDEOSSS人妻| 婷婷丁香一月| 狠狠插.com| 天天天天天久久久久久| 狠狠爱丁香婷| 久久五月天激情| 日本黄色精品| 超碰国产在线观看| 久久伦乱| 五月丁香香蕉| 国产精品久久久99视频| 丁香激情网| 爱99干99| 激情五月六月丁香| 婷婷五月成人社区| 六月丁香六月婷婷欧美| av最新在线| 99热碰碰热| 久久久妻人人人| 色婷婷在线视频| 六月丁香婷婷在线波多| 九色1区视频在线| 激情五月丁香六月综合AVXXXX| 99精品视频偷拍| 99热综合网| 99亚洲大片精品永久在线观看| 亚洲AV无码成人电影| 亚洲综合五月天婷婷| 91人人网| 五月天激情婷婷| 色5月婷婷| 中文字幕成人影视| 日本高清久久| 激情五月天啪啪| 超碰人人妻| 色色免费网站| 色9色| 开心色色五月天综合| 深爱五月激情| 91色色色| 鲁鲁色五月| 五月天六月色| 亚洲五月天色| 久久R激情| 婷婷久久免费| 久月丁香爱婷婷综合| 久久大大香| www.日韩国产| 秋霞三级影视资源| 婷婷五月天综合久久日| 91婷婷丁香五月| 思思久久精品视频| 欧美男女婷婷| 亚洲综合色色| 五月天婷婷五月| 久久婷婷91| 国产五月视频| 亚洲婷婷基地| 天天插天天很| 免费AV在线网址| 丁香五月AV| 婷婷操婷婷干婷婷射| 久久伊人五月天| 综合色图婷婷| 丝袜人妻| 天天综合网亚洲综合网| www久久久久久久97| 久久色六月| 婷婷五月天黄色| 久久久五月婷婷| 久er免费视频| 中文成人在线|