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

ARTICLE DETAIL

資訊詳情

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

Mixly 自制庫開發(fā):從拖積木到造積木的完整實戰(zhàn)

Mixly 自制庫開發(fā):從拖積木到造積木的完整實戰(zhàn) 簡介這套 Mixly 自制庫專為 ESP8266 開發(fā)設(shè)計聚焦物聯(lián)網(wǎng)原型制作中最常用的幾個環(huán)節(jié)EEPROM 斷電保存與字符復(fù)制、WiFi 自動配網(wǎng)、數(shù)據(jù)類型轉(zhuǎn)換以及基于 U8G2 的液晶屏驅(qū)動。壓縮包共 68 個文件核心代碼是 6 個 JavaScript 模塊配以 60 張 PNG 圖解另有 TXT 說明和 XML 配置整體 446KB輕量且容易遷移到不同項目。已有 5786 人學(xué)習(xí)使用尤其適合剛接觸 ESP8266 的愛好者以及想在課堂上演示圖形化編程的教師。借助說明文檔和模塊源碼可以弄清如何在 Mixly 中寫入/讀取 EEPROM 數(shù)據(jù)、實現(xiàn)設(shè)備自動聯(lián)網(wǎng)并掌握整數(shù)與字符串的相互轉(zhuǎn)換U8G2 部分則展示了在 OLED/LCD 上繪制文本和簡單圖形的方法。自制庫對模塊邊界的劃分和組織方式也為讀者擴展自己的圖形化積木提供了清晰范本。1. 自制 Mixly 庫從只會拖積木到能造積木的那道坎第一次從前輩手里拿到一個 mixly庫 文件夾時我還在老老實實拖官方積木。把文件丟進米思齊的庫目錄重啟模塊區(qū)憑空多出一排 WiFi 配網(wǎng)、EEPROM 存儲的積木那一刻就意識到能用積木的人和能造積木的人中間隔著的不過是一份 XML 描述文件加一堆代碼模板。自制庫這件事說白了就是把你已經(jīng)寫好的 Arduino 函數(shù)包裝成 Blockly 認識的積木塊讓不懂代碼的人也能用。這篇筆記會把庫結(jié)構(gòu)、配網(wǎng)庫實戰(zhàn)、數(shù)據(jù)類型轉(zhuǎn)換和 EEPROM 的坑一次講完。2. 自制庫的內(nèi)部結(jié)構(gòu)XML、代碼模板與參數(shù)映射的三層關(guān)系2.1 一個庫文件夾的解剖先搞清每個文件是干嘛的市面上能下載到的 mixly 自制庫包拆開看基本都是同一個骨架。先別急著寫代碼把文件認全。以 Mixly 1.x 生態(tài)為例一個完整庫文件夾通常長這樣文件/目錄作用是否必須MyWifi.xml定義積木的外觀、參數(shù)類型、返回形狀必須_code.txt代碼模板決定積木生成什么 Arduino 語句必須MyWifi.h/MyWifi.cpp函數(shù)實現(xiàn)真正干活的部分強烈建議zh-cn.json積木名的中英文映射部分版本識別可選images/積木分類的圖標(biāo)可選注意一個容易踩的坑Mixly 1.x 和 2.x 對庫的定義方式不一樣。1.x 用 Blockly 風(fēng)格的 XML2.x 改成了 JSON 塊描述。從網(wǎng)上下載的舊庫放到 2.x 里經(jīng)常不識別不是文件壞了是格式換代了。所以下載任何庫之前先確認對方標(biāo)的是哪個版本。我目前講的是 1.x 的主流寫法2.x 的遷移問題放到最后一章說。文件放哪也很關(guān)鍵。Mixly 啟動時會掃描 Arduino 用戶目錄下的libraries文件夾找到里面帶 XML 的子目錄解析后生成積木分類。放錯路徑的表現(xiàn)不是報錯而是模塊區(qū)一片空白很多新手在這卡半天。正確做法是把整個庫文件夾不是 XML 文件本身丟進libraries重啟 Mixly。2.2 block 類型與代碼模板占位符是如何把積木變成代碼的自制庫的核心機制就一句話積木上填的參數(shù)通過占位符拼進代碼模板最終生成 Arduino 代碼。先看一個最小的例子。假設(shè)我要做一個讓 LED 閃一下的積木XML 里這樣描述block typeled_blink_once value namePIN block typemath_number field nameNUM13/field /block /value /block對應(yīng)的代碼模板_code.txt里是pinMode(%1, OUTPUT); digitalWrite(%1, HIGH); delay(300); digitalWrite(%1, LOW);邏輯說明typeled_blink_once是積木的唯一標(biāo)識必須有且不能和別的庫重復(fù)否則會導(dǎo)致積木覆蓋。value namePIN聲明了一個參數(shù)插槽嵌套的math_number表示這個插槽只接受數(shù)字輸入field nameNUM是積木上默認顯示的值。MNemonic%1就是第一個參數(shù)槽位Mixly 生成代碼時會把用戶填的數(shù)字替換進去。如果積木有兩個參數(shù)模板里用%1、%2依次對應(yīng)順序按 XML 里value的排列。參數(shù)說明%1替換的是用戶填的字面值不是變量名。如果用戶填13生成的就是pinMode(13, OUTPUT)如果用戶在積木上改了數(shù)字重新生成代碼時%1也會跟著變。這里有一個血淚經(jīng)驗%1替換后是裸值字符串類型積木會帶引號數(shù)字不會。所以寫模板時不要手抖加引號否則會出現(xiàn)pinMode(13, OUTPUT)變成pinMode(13, OUTPUT)這類編譯報錯或運行時詭異行為。2.3 參數(shù)類型聲明數(shù)字、字符串、布爾與下拉的選用原則寫模板前先想清楚每個參數(shù)允許填什么。Mixly 的 XML 通過嵌套 block 類型來約束參數(shù)類型常見對應(yīng)關(guān)系如下積木控件XML 嵌套 block 類型生成到模板的內(nèi)容適用場景數(shù)字輸入框math_number裸數(shù)字如115200波特率、引腳號、延時文本輸入框text帶引號字符串如MyWiFiSSID、密碼、服務(wù)器地址布爾開關(guān)logic_booleantrue或false功能開關(guān)、高低電平選擇下拉選擇自定義field或映射成數(shù)字選中項對應(yīng)值模式枚舉、通道選擇這里重點說下拉選擇。Mixly 1.x 不同小版本對下拉的實現(xiàn)寫法差異很大有的用dropdown類型有的要求你自定義一個帶options屬性的 block 類型。我踩過一輪坑之后形成了一套保守方案不用花哨的下拉直接把枚舉映射成math_number在.h文件里用switch解析。比如配網(wǎng)模式積木上是一個數(shù)字框填 0 表示 SmartConfig填 1 表示 SoftAP代碼模板里把這個數(shù)字傳給函數(shù)函數(shù)內(nèi)部判斷。雖然積木不夠「傻瓜化」但換版本時最不容易翻車。2.4 加載機制為什么庫放對了目錄還是看不到積木Mixly 對自定義庫的掃描是有緩存的。第一次啟動時解析 XML之后如果不重啟你改了 XML 它也不會重新讀取。更隱蔽的是如果 XML 文件有語法錯誤比如標(biāo)簽未閉合、字段名拼錯Mixly 會靜默跳過整個庫模塊區(qū)不出現(xiàn)任何新積木。我的排查習(xí)慣是三步走先重啟 Mixly再看 XML 有沒有被編輯器標(biāo)紅最后把 XML 里非 ASCII 的中文標(biāo)簽臨時改掉因為 1.x 某些版本對編碼敏感。這三步解決了我 90% 的「庫不顯示」問題。參數(shù)類型的選用直接決定后面類型轉(zhuǎn)換的坑多坑少所以這塊值得花時間想清楚。能用math_number就絕不用text能限定枚舉就絕不放任用戶輸入這是自制庫參數(shù)設(shè)計的黃金法則。3. ESP8266 WiFi 自動配網(wǎng)庫EEPROM 存儲與三個積木塊的完整實現(xiàn)3.1 為什么必須做自動配網(wǎng)從燒死 SSID 到存進 EEPROM開發(fā) ESP8266 項目時最煩的就是每次換 WiFi 環(huán)境都要改代碼重?zé)碳?。固?SSID 的寫法適合演示不適合產(chǎn)品。自動配網(wǎng)的標(biāo)準做法是設(shè)備上電先嘗試連接上次保存的 WiFi連不上就進入配網(wǎng)模式收到手機下發(fā)的 WiFi 信息后存入 EEPROM下次開機直接連。這樣就實現(xiàn)了「一次配網(wǎng)永久記憶」。方案優(yōu)點缺點適用場景固定 SSID 燒死實現(xiàn)最簡單換網(wǎng)絡(luò)必須重?zé)龑嶒炇夜潭ōh(huán)境SmartConfig 一鍵配網(wǎng)用戶操作快需要手機 App 支持阻塞等待有超時坑現(xiàn)場配網(wǎng)、批量部署SoftAP 配網(wǎng)不依賴 App瀏覽器可配開發(fā)量大交互復(fù)雜產(chǎn)品化設(shè)備我選擇 SmartConfig EEPROM 組合原因很實際ESP8266 官方 SDK 直接支持beginSmartConfig()代碼量最小配合 EEPROM 緩存后體驗接近成品路由器。這次的庫設(shè)計成三個積木塊積木塊類型生成代碼作用WiFi 自動配網(wǎng)語句塊wifi_auto_config(30000)讀 EEPROM 嘗試連接失敗則進入配網(wǎng)保存 WiFi 信息語句塊wifi_save_config(%1, %2)將 SSID 和密碼寫入 EEPROM讀取已保存 SSID表達式塊wifi_get_ssid()返回字符串方便 OLED 等顯示3.2 底層實現(xiàn)EEPROM 讀寫和 SmartConfig 配網(wǎng)邏輯先寫庫的核心頭文件MyWifi.h#ifndef MYWIFI_H #define MYWIFI_H #include ESP8266WiFi.h #include EEPROM.h #define WIFI_MAGIC 0xA5 struct WifiConfig { char ssid[32]; char pwd[32]; uint8_t magic; }; extern WifiConfig g_cfg; void wifi_load_config(); void wifi_save_config(const String ssid, const String pwd); bool wifi_auto_config(uint32_t timeout_ms); String wifi_get_ssid(); #endif邏輯說明結(jié)構(gòu)體WifiConfig用定長char[]而不是String存 SSID 和密碼這是 EEPROM 讀寫的基本素養(yǎng)——String內(nèi)部是堆指針斷電重啟后指針指向的內(nèi)存早就不在了只有char[]才能穩(wěn)定序列化。magic字段是校驗位寫固定值0xA5讀出來如果不是這個值就說明 EEPROM 里沒有有效配置從而避免用垃圾數(shù)據(jù)去連 WiFi。所有函數(shù)聲明為extern方便不同代碼模板文件引用#ifndef防止多個積木重復(fù) include 時重定義。接下來是MyWifi.cpp的實現(xiàn)#include MyWifi.h WifiConfig g_cfg; void wifi_load_config() { EEPROM.begin(sizeof(WifiConfig)); EEPROM.get(0, g_cfg); if (g_cfg.magic ! WIFI_MAGIC) { memset(g_cfg, 0, sizeof(g_cfg)); } } void wifi_save_config(const String ssid, const String pwd) { memset(g_cfg, 0, sizeof(g_cfg)); ssid.toCharArray(g_cfg.ssid, sizeof(g_cfg.ssid)); pwd.toCharArray(g_cfg.pwd, sizeof(g_cfg.pwd)); g_cfg.magic WIFI_MAGIC; EEPROM.begin(sizeof(WifiConfig)); EEPROM.put(0, g_cfg); EEPROM.commit(); } bool wifi_auto_config(uint32_t timeout_ms) { wifi_load_config(); if (g_cfg.magic WIFI_MAGIC strlen(g_cfg.ssid) 0) { WiFi.mode(WIFI_STA); WiFi.begin(g_cfg.ssid, g_cfg.pwd); uint32_t start millis(); while (WiFi.status() ! WL_CONNECTED) { if (millis() - start timeout_ms) return false; delay(100); } return true; } WiFi.mode(WIFI_STA); WiFi.beginSmartConfig(); uint32_t start millis(); while (!WiFi.smartConfigDone()) { if (millis() - start timeout_ms) return false; delay(100); } while (WiFi.status() ! WL_CONNECTED) { delay(100); } wifi_save_config(WiFi.SSID(), WiFi.psk()); return true; } String wifi_get_ssid() { wifi_load_config(); return String(g_cfg.ssid); }邏輯說明wifi_load_config()每次調(diào)用都執(zhí)行EEPROM.begin(sizeof(WifiConfig))這是 ESP8266 的規(guī)矩。ESP8266 的 EEPROM 庫是拿 Flash 模擬的不調(diào)用begin(n)直接get會得到全0xFF。beginSmartConfig()啟動配網(wǎng)后smartConfigDone()返回 true 只代表手機 app 已經(jīng)把 WiFi 消息發(fā)過來了此時WiFi.SSID()和WiFi.psk()才能取到有效值所以要再等WL_CONNECTED。參數(shù)說明timeout_ms默認傳 30000 毫秒這是配網(wǎng)等待的上限。很多庫卡死就是因為沒這個超時后面避坑章節(jié)專門講。wifi_save_config接收兩個const String引用避免拷貝開銷toCharArray時第三個參數(shù)傳sizeof是復(fù)制上限防止超長密碼把結(jié)構(gòu)體后面的字段沖掉造成內(nèi)存踩踏。3.3 XML 與代碼模板把三個函數(shù)包裝成積木塊底層函數(shù)寫好了剩下的工作是讓這些函數(shù)從積木區(qū)長出來。新建MyWifi.xml:block typewifi_auto_config value nameTIMEOUT block typemath_number field nameNUM30000/field /block /value /block block typewifi_save_config value nameSSID block typetext/block /value value namePWD block typetext/block /value /block block typewifi_get_ssid value nameRETURN block typetext/block /value /block對應(yīng)_code.txt代碼模板wifi_auto_config(%1); wifi_save_config(%1, %2); wifi_get_ssid();邏輯說明注意第三個積木wifi_get_ssid的類型是表達式塊它嵌套了一個text類型的 value表示這個積木塊最后要返回一個字符串值可以塞進 OLED 顯示或串口打印等其他積木的參數(shù)槽里。_code.txt里的三行分別對應(yīng)三個積木塊的生成代碼wifi_get_ssid()沒有參數(shù)所以生成的就是一條函數(shù)調(diào)用。頭文件的 include 建議加在第一個積木的模板第一行#include MyWifi.h因為頭文件帶了#ifndef防重入多個積木重復(fù) include 不會報錯只是多一次預(yù)處理檢查。參數(shù)說明XML 中block typewifi_save_config的type屬性必須和_code.txt里生成的函數(shù)調(diào)用保持一致否則會出現(xiàn)積木拖出來了、編譯卻報undefined reference。value nameSSID的name屬性是積木內(nèi)部識別槽位用的改不改不影響生成代碼但建議寫成和參數(shù)含義相關(guān)的名字方便你三個月后回來維護時看懂。3.4 在 Mixly 里加載與驗證從模塊區(qū)到串口輸出把MyWifi.xml、_code.txt、MyWifi.h、MyWifi.cpp放在同一個文件夾文件夾命名MyWifi整體丟進 Mixly 的libraries目錄重啟 Mixly。驗證步驟模塊區(qū)出現(xiàn)「MyWifi」分類拖出三個積木到編程區(qū)。燒錄前先打開串口監(jiān)視器波特率設(shè) 115200。上電后觀察串口先打印[WiFi] try saved config...接著嘗試連保存的 WiFi。如果之前沒保存過配置設(shè)備會進入 SmartConfig 配網(wǎng)狀態(tài)此時用支持 ESP-Touch 協(xié)議的手機 App 發(fā)送家庭 WiFi 信息。配網(wǎng)成功后串口打印[WiFi] connected, save config斷電重啟后應(yīng)能看到設(shè)備直接連接 WiFi不再進入配網(wǎng)。這里有一個很多人忽略的驗證點斷電前要確認已經(jīng)走到wifi_save_config。SmartConfig 收到信息到執(zhí)行保存之間有個時間差如果在WiFi.status() ! WL_CONNECTED等待循環(huán)里就斷電設(shè)備會拿不到完整配置下次開機又回到配網(wǎng)流程。這是硬件調(diào)試里典型的「看起來配網(wǎng)成功實際沒存住」問題。4. 自制庫避坑排查數(shù)據(jù)類型轉(zhuǎn)換、EEPROM 與編譯失敗的四個現(xiàn)場4.1 字符串轉(zhuǎn)數(shù)字看似能編譯一跑就出錯現(xiàn)象積木上填的波特率9600生成的代碼是Serial.begin(9600)編譯不報錯串口輸出全亂碼?;蛘甙盐谋緟?shù)轉(zhuǎn)成int后判斷出錯比如空字符串轉(zhuǎn)出來是0導(dǎo)致邏輯誤判成「合法」。原因text 類型積木生成的是字符串字面量9600Arduino 的Serial.begin有l(wèi)ong重載字符串字面量能隱式轉(zhuǎn)換但轉(zhuǎn)換結(jié)果是內(nèi)存地址而不是數(shù)值。更隱蔽的是String(abc).toInt()在解析失敗時返回0這會和真實數(shù)值0混淆沒法區(qū)分「用戶填了 0」和「用戶填了非法字符」。解決模板里顯式轉(zhuǎn)換// 錯誤寫法依賴隱式轉(zhuǎn)換 wifi_send_command(%1); // 正確寫法String 包一層再轉(zhuǎn)明確意圖 wifi_send_command(String(%1).toInt());邏輯說明String(%1)先構(gòu)造臨時 String 對象再調(diào)用toInt()把字符串解析成int。這樣無論用戶填的是不是純數(shù)字語義都明確。參數(shù)說明如果這個參數(shù)本身就是數(shù)字框math_number不用擔(dān)心這個問題只有 text 框才會產(chǎn)生字符串字面量。4.2 EEPROM 寫入靜默失敗重啟后配置全丟現(xiàn)象第一次配網(wǎng)成功斷電重啟后又進入配網(wǎng)模式或者串口打印讀出來的 SSID 是\xFF\xFF...一串亂碼。原因三個高頻根因。第一沒調(diào)EEPROM.begin(n)直接putESP8266 的模擬 EEPROM 不初始化就是全0xFF第二begin(n)的 n 小于實際寫入的結(jié)構(gòu)體大小比如結(jié)構(gòu)體 65 字節(jié)卻begin(64)最后一個字節(jié)寫越界commit 時被丟棄第三寫入后忘記commit()數(shù)據(jù)留在緩存沒刷進 Flash。結(jié)構(gòu)體里直接放String類型的同學(xué)字符串內(nèi)容存在堆上序列化到 Flash 的只是指針的碎片斷電后必丟。解決統(tǒng)一用下面的寫法// 結(jié)構(gòu)體定長、帶 magic 校驗 struct WifiConfig { char ssid[32]; char pwd[32]; uint8_t magic; }; // 寫入前計算真實大小 EEPROM.begin(sizeof(WifiConfig)); EEPROM.put(0, cfg); EEPROM.commit();邏輯說明sizeof(WifiConfig)在這里是 65 字節(jié)begin必須傳 65 或更大。參數(shù)說明ESP8266 的 EEPROM 庫上限是 4096 字節(jié)Flash 扇區(qū)大小超過 4096 的寫入會被截斷別想著拿它當(dāng)大容量存儲用存幾百字節(jié)的配置信息才是它的本分。依靠 magic 字段判斷有效性的好處是第一次上電 Flash 是干凈的0xFFmagic 不等于0xA5讀出來就主動清零避免一堆亂碼 SSID 去連 WiFi 造成長時間假死。4.3 編譯報 undefined referenceblock 類型和函數(shù)名脫節(jié)現(xiàn)象積木拖出來了代碼也生成了編譯報undefined reference to wifi_auto_config(unsigned int)。最氣人的是函數(shù)明明寫在.cpp里了就是鏈接不上。原因函數(shù)聲明和定義的簽名不一致或者 block type 生成的調(diào)用函數(shù)名和庫文件里的定義不是一個名字。我見過最離譜的一次是 XML 里 block type 寫的wifi_auto_config代碼模板寫的也是wifi_auto_config但.h里聲明的是bool wifi_auto_config(int timeout)傳參類型不同C 符號修飾后就不是同一個函數(shù)了。解決先看生成代碼再核對簽名# 把 Mixly 生成的臨時 sketch 目錄打開搜函數(shù)名 grep -rn wifi_auto_config generated_sketch/邏輯說明這行命令把生成目錄里所有引用wifi_auto_config的地方標(biāo)出來。重點看聲明、調(diào)用、定義的參數(shù)類型是否一致。參數(shù)說明const String和String是兩個不同的函數(shù)簽名C 的符號表會對參數(shù)類型做名稱修飾一個字符不匹配都會導(dǎo)致鏈接失敗。建議庫內(nèi)部統(tǒng)一用const String傳參模板生成調(diào)用時就不用關(guān)心副本開銷。4.4 SmartConfig 卡死拿不到 WiFi 信息時程序原地等待現(xiàn)象設(shè)備上電后不執(zhí)行任何后續(xù)邏輯卡在配網(wǎng)等待或者配網(wǎng)成功后重啟依然進配網(wǎng)模式。原因beginSmartConfig()之后庫進入一個等待循環(huán)如果一直沒收到手機下發(fā)信息這個循環(huán)就是死循環(huán)。另外有些版本的 ESP8266 在smartConfigDone()返回 true 后立刻讀WiFi.psk()會讀到空值如果不等待WL_CONNECTED就保存存入 EEPROM 的是空密碼。解決所有等待循環(huán)都加超時并且保存前確認連接狀態(tài)uint32_t start millis(); while (!WiFi.smartConfigDone()) { if (millis() - start timeout_ms) { Serial.println([WiFi] smartconfig timeout); return false; } delay(100); }邏輯說明timeout_ms由積木參數(shù)控制默認 30000 毫秒用戶自己可以在積木上改。超時后返回false程序就有機會走其他分支比如進入 SoftAP 模式或者重啟重試而不是死等。參數(shù)說明delay(100)不能省沒有這個延時millis()讀到的值變化太快循環(huán)空轉(zhuǎn)消耗 CPU 且可能觸發(fā)看門狗復(fù)位。配網(wǎng)完成后的while (WiFi.status() ! WL_CONNECTED)同樣要帶超時把這一層思考基本就避開大多數(shù)配網(wǎng)卡死現(xiàn)場了。5. 讓自制庫更耐用的三個進階習(xí)慣5.1 給庫加調(diào)試開關(guān)把串口輸出留在現(xiàn)場調(diào)試階段沒有串口打印出了問題只能盲猜。但正式使用時滿天飛的Serial.printf又影響性能。我的習(xí)慣是在頭文件里加一個編譯開關(guān)#define WIFI_DEBUG 1 #if WIFI_DEBUG #define DBG(...) Serial.printf(__VA_ARGS__) #else #define DBG(...) #endif邏輯說明WIFI_DEBUG設(shè) 1 時 DBG 宏映射到Serial.printf設(shè) 0 時映射為空操作連參數(shù)求值都被優(yōu)化掉。發(fā)布庫之前把開關(guān)改成 0 即可不用刪代碼。參數(shù)說明所有調(diào)試輸出統(tǒng)一走DBG不要在代碼里裸寫Serial.printf否則后期清理就是一場惡夢。從那以后我每次寫庫都會先鋪好這層宏省掉無數(shù)「這里怎么還有個 print」的尷尬。5.2 留一個清空配置的隱藏積木EEPROM 存了錯誤配置后調(diào)試時想回到配網(wǎng)流程總不能每次拔 Flash 或者改代碼。我在庫里額外加了一個wifi_clear_config()函數(shù)專門把 magic 字段改掉void wifi_clear_config() { g_cfg.magic 0; EEPROM.begin(sizeof(WifiConfig)); EEPROM.put(0, g_cfg); EEPROM.commit(); }邏輯說明把 magic 寫成0下次wifi_load_config()讀出來校驗不通過自動清空結(jié)構(gòu)體設(shè)備重啟后就會重新進入配網(wǎng)。這個函數(shù)不在正式積木區(qū)展示測試時臨時拖出來用也可以綁一個物理按鍵「長按 5 秒恢復(fù)出廠」比重新燒固件快一個量級。5.3 兼容 Mixly 2.x底層邏輯復(fù)用積木描述重寫遷移到 2.x 時MyWifi.h和MyWifi.cpp這兩個底層文件可以原封不動復(fù)用真正要重寫的是 XML 塊描述——2.x 改成了 JSON 格式描述積木的槽位、顏色、類型。一次遷移的經(jīng)驗是把 XML 里的每個block type對照著翻譯成 JSON 塊定義參數(shù)類型、默認值和代碼模板的對應(yīng)關(guān)系不變兩個小時就能完成。不要試圖用兼容層去騙 2.x 讀 1.x 的 XML,這條路我沒走通直接重寫反而快。寫庫這幾年最大的教訓(xùn)來自一次室外驗收設(shè)備配網(wǎng)成功、重啟后總掉線折騰一下午最后發(fā)現(xiàn)是EEPROM.begin長度比結(jié)構(gòu)體小 1 字節(jié)magic 校驗位被丟在 Flash 扇區(qū)外。從那以后我每次寫完庫都強制走一遍完整驗證流程清空 EEPROM、冷啟動進配網(wǎng)、配網(wǎng)成功后斷電、再上電看是否自動連接。這四步走完庫才算真正能交付。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日本操逼九九九九58日本操逼| 九九热99热| 无码区婷婷五月花开| 色色婷| 丁香五月亚洲| 激情五月天色婷婷综合| 狠狠狠人妻| 激情五月综合第一页| 五月婷婷丁香| 五月天精品视频| 这里只有精彩视| 丁香六月婷月91婷月| 久久图色4| 图片区 小说区 区 亚洲五月| 丁香五月天啪啪| AV 3P| 久久久久8888| 欧美日韩成人免费在线| 激情婷婷在线中文字幕| 久久免费丁香| 六月婷婷色色色| 国产毛片操B| www.色五月| 六月丁香激情网| 欧美久久五月婷婷| 婷婷综合网在线| 亚洲天堂久久| 五月婷婷激情四季| 久久99热免费| 综合在线丁香五月| 91啪级电影| 丁香九月综合| 三区激情四射av| 亚洲av免费在线| 五月丁香成年黄色| 色五月婷婷AV| 久久总和99| 99久久婷婷国产综合亚洲| 婷婷五月天激情小说| 天天色综合网吨吧| 婷婷.com| 五月婷婷啪啪| 欧美超级视频97| 激情综合网五月激情| 五月天夜夜爱夜夜操| 亚洲五月六丁香激情| 7777激情基地| 月婷婷亚洲| WWW.夜夜操.com| 激情综合五月天| 亚洲综合无码| 婷婷丁香六月| 国产美女最新VA在线免费观看| 丁香亭亭久久| 色婷婷影音| 夜夜爽日日躁| 五月丁香六月在线| 性生活视频98791| 婷婷五月天激情小说| 五月天色丁香| 天天精品视频免费观看| 国产精产国品一二三在观看| 99A片| 久久婷婷五月天丁香| 春色激情| 99综合熟女| 丁香五婷婷| 五月丁香婷婷综合久久| 蜜桃婷婷丁香五月天狠狠久久综合| 華人性愛AV在線| 免费AV黄在线播放| 日韩欧美一级大黄网站| 另类综合激情| 国产精品国产成人国产三级| 丁香婷婷久久综合在线| 99精品在线观看| 婷婷五月天av网| 很很操很很操| 丁香五月六月| 26uuu国产| 国精产品一区一区三区免费视频| 人人97操| 99热这里只有精品26| 大香蕉福利导航| 9精品一区| 九九中文字幕九| 激情爱爱网站超大免费| 亚洲成色综合网站免费观看| 四色五月婷婷| 久久久久久久人妻| 综合激情在线观看| 热热久久精品视频| 亚洲色热| 免费视频WWW在线观看网站| av在线免费播放观看| 99综合网| 国产黄色在线| 色情五月综合婷婷| 婷婷综合色五月天| 欧美精品99久久久| 色色综合激情| 综合网五月天123| 99成人在线观看| 超碰在线国产| Av在线资源| 九九九九毛片| 亚洲精品色| 久久久久婷婷| 久久久性爱网| 丁香五月激情啪啪| av亚洲国产小电影| 综合亚洲六月婷婷在线| 五月婷啪啪| 色狠狠六月| 欧美狠狠色| 五月丁香啪啪| 五月婷婷综合激情| 91九色中文| 丁香六月婷| 欧美婷婷丁香五月| 国产精品色一哟哟| 亚洲va综合va国产va中文| 99自拍视频网站| 538在线精品| 婷婷五月天综合中文| 91精品综合久久久五月天| 综合激情在线| 天天看夜夜看| 91大操| 噜噜狠狠| 丁香五月天天| 99精品无码| 噼里啪啦在线观看免费完整版视频| 色色色色色色色色色色色色色色,网站| 激情色色| www.久久99| 色色色色区| 丁香五月AV综合激情| 日本久热| 色域五月婷婷丁香| 中文字幕精品在线观看| 婷婷五月色激情欧美激情| 国产又爽又猛又粗的视频A片| 伊人婷婷大香蕉| 天天操狠狠操| 婷婷日本在线| 成人五月天视频播放| 另类视频在线| 99热精品在线播放观看| 人妻AV在线| 亚洲乱码在线观看| 六月婷婷av| 九九九九九九九九九九九九九国产精品| 深爱五月激情网| 超碰com| 亚州婷婷五月激情综合| 激情五月五月婷婷| 开心五月婷婷婷美女| 天天干天天射色综合| 中文字幕网伦射乱中文| 激情网第四色| 久久性爱网| 日韩人妻无码一区二区| 国产乱子轮XXX农村| 色婷婷五月天av在线| 久久久WWW| 狼人婷婷久久| 亚洲色婷婷| 99热99精品| 99精品综合视频| 97五月婷| 99在线小视频| 99日本在线| 色碰碰| 996精品热视频| 色婷婷丁香五月天在线观看| 任你日热视频| 久久99视频| 亚洲av成人在线| 亚洲九区| 婷婷五月开心中文字幕色| 久久香蕉网| 777.色色| wwww.色婷婷| 性天天中文网| 久Se视频在线观看| 五月丁香亭亭| 婷婷四色成人综合色视| 99资源在线| 色婷婷亚洲婷婷在线观看| 9 大屁股在线视频精品| 日本三久久| 国产精品99久久久久久猫咪| 亚洲中文乱字字幕在线永久| 91婷婷五月天综合视频| 青青草99热久久精品国| 九九视频在线观看| 色婷婷在线视频综合| 久久99网| 五月丁香综合啪啪| 米奇影视资源777狠狠色婷婷五月天激情网| 丁香六月天婷婷色| av网址在线| 久热99| 久久久GOGO无码啪啪艺术| 国产婷婷综合| 中文字幕AV网址| 激情五月天丁香| 久久婷出差欧美色两性综合网| 五婷婷综合网| 久月婷婷| 久色五月| 久热这里只有精品性色AV| 免费看欧美成人A片无码 | 五月天婷婷基地| 欧美综合激情五月丁香| 无码yw| 日本狠狠干| 四色女婷婷| 丁香五月97视频| 色五月91| 99视频这里有精品免费观看| 激情婷婷丁香五月天小说| 九九视频在线观看视频6| 激情五月深爱婷婷| 综合五月草| 婷婷操无码| 亚洲婷婷基地| 成人五月天视频播放| 五月婷婷激情综合| 天天干天干| 九九五月天| 国产成人精品一区二三区熟女在线| 丁香婷婷五月基地| 99热欧| 97日本在线| 五月大香蕉| 久久怕怕视频| 五月丁香六月欧美| 色视频2025| 伊人大香蕉毛片| 26uuu精品一区二区| 婷婷六月五月天综合| 免费视频WWW在线观看网站| 99性视频| 五月丁香六月花| 99欧美| 九九99视频精品| 日本一级一级一级一级| 天天操夜夜操| 五月丁香六月婷婷开心网| 亭亭丁香aV| 久久sp免费视频| 精品一二三区久久AAA片| 婷婷娌伦网| 这里只有九九精品| 日本va欧美va精品发布视频| 激情丁香五月天综合| 无码一区二区三区四区五区91c| 热久精品| 亚洲色网络| 开心五月婷婷| 亚洲欧美丁香五月天亚洲欧美| 丁香五月狠狠综合欧美| 色另类五月天| 91精品电影18T| 色一情一乱一乱一区91| 久久多色| 99久久久免费| 99超级碰免费视频| 这里只有精品视频222| 丁香婷婷综合色五月激情国产基地| 五月色情| 六月丁香婷婷五月| 成 久久| 色欲婷婷夜夜| 久久国产精品乱子伦_靑青草…| 伊久久婷婷| 色色色色色日韩午夜激情 | 97成人视频| 丁香五月五月婷婷欧美大香蕉| 婷婷久久久| 久大香蕉| 六月婷婷激情图片| 99日本精品视频热| 五月丁香六月婷婷网| 色哟哟精品| 9999三级片| 日本久久精品18| 99热这里都是精品| 综合99久久| 啪啪综合| 五月丁香婷婷综合| 农村熟妇高潮精品A片| 婷婷丁香六月天| 91精品综合久久久久久五月丁香| 婷婷综合网| 五月天开心激情综合网| 欧美99| 亚洲国产精品二二三三区| 天天做天天爽| 亚洲综合色婷| 婷婷五月超碰| 综合啪啪| 极品 少妇 内射| 婷婷五月天色综合翘| 婷婷五月丁香在线观看| www.开心激情| 天堂中文国产| 综合色图区| 中文字幕丰满孑伦无码专区| 天天色五月婷婷91久久久久久久| 色婷婷五月影视| 91性人人| AV伊人青草丁香六月| 另类五月婷婷| 婷婷五月天激情五月天深爱五月天| 五月丁香啪啪综合| 国产激情视频在线观看| BBWCUCKOLD精品熟妇| 成人做爰A片免费看网站找不到了 国产露脸150部国语对白 | 婷婷色综合| 五月婷婷在线视频免费观看| 狠狠干五码| 丁香五月亚综合图片| www999日韩精品| 婷婷五月激情欧美| 婷色成人| 99无码| 色色色成人网| 色九九九综合| 99热乎| 激情亚洲色图片丁香综合| 亚洲激情精品| 99色婷婷视频| JlZZJlZZ8JlZZ亚洲熟女| 激情性爱网站| 婷婷五月天无码熟女| 五月色丁香激情| 99激情| 久久久人妻| 超碰97在线观看免费| 丁香五月最新网址| 99热网站在线观看| 狠狠色五月| 欧美精品99久久久| 亚洲AV成人无码电影| 中文字幕av在线| 丁香狠狠| 色久女| 亚洲精品又粗又大又爽A片| 色 五月 天 婷婷 丁香 九月| 五月色情婷婷| 免费精品99| 九九伊人网| 久久色吧| 五月色导航| 五月综合激情网| 成人做爰高潮A片免费视频| 日韩精品99久久| 久久丁香五月婷婷激情综合网| 操日挥操日日| 狠狠精品干练久久久无码中文字幕 | 97亚洲视频在线| 婷婷色在线视频| 天堂在线伊久| 九九热视频首页/这里只有精品| 六月丁香色婷婷| 开心激情网在线| 丁香五月婷婷久久久| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 99久久综合网| 男人的天堂五月丁香| 狠狠色综合五月人人| 超碰超碰在线| 5五月综合网亚洲| 免费观看全黄做爰的视频| 色色色地址| 欧美综合五月丁香五月天| 综合网天天| 九九热婷婷| aaa日韩| 九九人人操| 操逼三区| 97se视频在线| 97成人超碰免| 五月婷婷啪| 最近免费中文字幕大全高清大全1| 99在线公开视频| 亚洲夜夜操| 99色爱| 亚洲激情丁香五月天色| 色噜噜狠狠一区二区三区| 中文字幕97超级碰| 五月天婷婷操逼视频| 五月综合视频| 操操操91| 99爱这里只有精品免费视频| 丁香五月激情啪啪啪| 婷婷五月天激情偷拍| 夜夜骑夜夜撸| 在线观看五月婷婷网| 超碰人人艹| 欧美丁香五月| 婷婷大乡焦噜噜| 中文字幕第四色.999| 午夜电影网VA内射| 婷婷激情综合色五月久久91| 丁香婷婷色情社区成人小说| 久久蜜臀婷婷| 五月花婷婷| 四色五月视频| 婷婷性福五月天| 手机在线视频观看9| 五月天电影网| 91九色PORNY中文啦| 九九精品视频在线观看| 操操日韩| 在线色色| 丁香五月天激情五月天激情五月天激情网| 丁香五月婷婷啪啪| www.十八禁不禁AV.com| 婷婷天堂伊人| 极品人妻VideOssS人妻| 久热91精品| 99操逼视频| 99色色网| 国产亚洲精品久久久久久牛牛| ss五月天激情| 丁香五月婷婷图片综合| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 色综合激情| www.婷婷| 我爱宗和色| 色爆五月| 饮料下药迷倒漂亮女同事强干| 伊人色综合久久久| 成人丁香五月| 久久这里只有精品16| 丁香操逼| 欧洲亚洲免费视频9 | 婷婷五月综合免费在线| 色在线99| 色婷婷五月基地在线| 激情5月婷婷| 久久机热/这里只有精品| 激情婷婷五月少妇| 久久丁香五月| 天天五月情| 男女免费视频999| 99啪啪| 五月丁香婷婷综合激情基地| 五月丁香人妻| 99∨VTV| 九色视频这里只有精品| 美国不卡视频| 26uuu成人网| 激情五月天电影| 五月丁香综合精品| 五月婷婷综合在线视频| 婷婷成人综合| 青草激情在线| 九九黄色网| 99国产精品久久久久久久久久久| 综激情网| 五月天色综合| 国产成人精品一区二区三区视频 | 久久与婷婷| 涩综合婷婷| 丁香六月激情综合| 人人操女人| 色丁香综合影院| 欧美丁香五月| 99在线视频操999| 国自产拍偷拍精品啪啪一区二区| 91岛国片| 五月天婷婷成人资源站| 天天激情站| 艹色18p| 色播五月婷婷综合| 99精品一二三四视频| 日韩黄在免| 丁香五月色情| 琪琪色五月天| 丁香五月成人自拍| 综合性视频99| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 五月丁香六月婷婷精品| www.激情| 99艹精品在线观看| 狠狠干总合| 99热综合网| 色吊丝99| www.五月婷婷久久.com| 99这里只有精品| 日韩伊人大香蕉| 婷婷五月天com| 久久a热| 免费亚洲成人电影AV| 午夜激情五月| 亚洲乱码日产精品BD| 丁香五月天堂| av色婷婷| 操日视频| 五月天com| 99精品丁香五月| 五月婷婷激情四季| 日本色五月| 9久国产精品| www天天色天天射| 性色九九| 日日狠夜夜狠| 艹B高清无码| 都市激情蜜桃婷婷五月天| 天天操B| 久久亚洲天堂| 久久综合五月天| 激情婷婷五月综合| 九九亚洲视频| AⅤ在线播放网| 香蕉乱插| 丁香五月色| 欧在线一区| 五月婷六月丁香| 精品久久久久成人码免费动漫| 中文字幕婷婷五月天| 亚洲热久久| 久操热| 日本综合久久| 9色在线| 免费黄色片子| 无码se| 欧美日韩成人在线| 久久丁香五月综合六月激情红杏视频 | 日本99视频精品免费播放| 啪啪小说五月天| 任我肏视频精品| 婷婷五月综合激情免费视频| 97性高潮久久久| 亚洲视频伍月婷婷| 丁香五月综合首页| 99九九玖玖| WWW.99视频| www.91在线观看| 超碰a女人的天堂| 五月婷婷视频| 九九久久五月天综合伊人| 色五月综合| 婷婷五月色播网| 久久九九综合| 天天色天天噜| 99热免费18| 色噜噜五月天| caop在线视频| 97韩国久久电影院| 99久久色| 丁香五月欧美激情| 五月亭亭六月色| 99综合视频一体| 激情纯色婷婷五月天在线不卡视频| www久视频com| 九九婷婷网五月天| 久久9久| 91色久| 精品色色网| 超级碰碰一区| 伊人超碰| www..com色爱| 亚洲啪啪精品| 丁香啪啪| 思思热热久久| 日本欧特黄色刺激一区影视久精品无码| 特黄三级又爽又粗又大| 五月激情综合网| 色5月婷婷| 婷婷综合伊人丁香| 538任你爽视频不一样的| 超碰91在线| 人人干天天操五月丁香| 亚洲图色五月天| 亚洲最大在线| 欧美黑人巨大猛烈cuckold| 99热色综合| 无码啪啪| 五月天激情婷婷丁香| 操逼国产91| 97色色色| 国产午夜一区二区三区| 色一情一乱一乱一区91Av| 青青草视频免费观看| 婷婷香五月天| 色五月婷婷激情综合网| 亚洲成人av在线观看| 丁香六月婷婷开心| 成人性爱精品视频| 亚洲中文av| 久久婷婷五月天激情新地址| 婷婷丁香97| 丁香5月啪啪| 亚洲成人网站在线播放| 国产肥白大熟妇BBBB视频| 高清无码入口| 久久五月婷综合网| 9有码中文| 欧美电影在线观看| 丁香五月婷婷亚洲综合精品| 天堂草在线观| 婷五月天天| 日本天堂久久| 精品亚洲国产成人A片在线鸭王 | 五月婷婷影院| 激情电影五月婷婷| www.zbzhongsen.com| 这里只有精品1| 激情综合4月| 丁香五婷| 婷婷在线五月综合| www.99热视频| 丁香五月天电影| 午夜青草资源| 狠狠香蕉| 婷婷综合日本| 黄色片avv| 五月亭亭开心网| 开心婷婷五月| 色人妻五月| 思恩热国产视频右线观看| 97婷婷久久丁香| 国产真实乱了老女人视频| 久久五月激情综合| 深爱五月网| 天天综合干| 超碰人人射| 青青草Avb在线| 92久久精品一区二区| 中文字幕婷婷| 久99久99精品免| 人人做天天爱| 丁香五月天社区婷婷| h在线看免费版在线看| 91AV婷婷| 激情五月婷| 五月香六月婷| 天天拍夜夜爽| 五月激情精品视频| 婷婷丁香色五月亚洲| 天天综合 99久久婷婷| 97成人丁香| 天天揷综合网| 极品人妻VIDEOSSS人妻| 婷婷综合网| 97综合在线| 亚洲丁香五月天视频| 婷婷视频在线| 五月婷婷开心亚州在线| 欧洲高清免费久久| 最新亚洲色色网| jiujiu无码五区| 中文网AV| 婷婷五月天受日本法律保护| 久99| 色久九| 亚洲成人高清在线| 美欧日韩国产成人在战| 五月婷婷丁香大陆免费| 色人久夂| 人人操插| 99热综合在线| 91人妻人人做人碰人人爽九色| 九九干视频| 亚洲操B视频| 最新日韩久热免费视频看看| 激情久久综合网| 涩 五月 婷婷 狠狠| 久久9热综合| 六月婷婷最新网址| 丁香九月激情久久| 视频一二区| 开心五月婷婷婷美女| 在线观看av网站| 久操激情| 亚洲成人免费在线| www.婷婷五月天,com| 去干网av| 天天综合干| 色五月色综合| 婷婷五月综合激情免费视频| 久久久这里有精品| 狠狠色大香蕉| 日韩啪啪视频| 亚洲高清在线| 中文字幕日本最新乱码视频| 99热有精品在线观看| 97在线日韩| 婷婷激情五月天小说| 五月婷婷婷综合网| 久久伊人大香蕉| AAAA亚洲| 五月天停停成人网| 2025天天日爽| 99精品在线播放| 久热九九| 激情婷婷丁香五月| 97av在线视频| 日本欧美成人片AAAA| 丁香五月天久久| 大香蕉在线观看9| 色婷婷9| 久久婷婷成人视频| www.minyis.com【JT】国内CDN落地页保证转化QQ2101460746 | 青青草伊人婷婷| 五月丁香偷拍| 九九碰九九爱97| 五月激激网w'w'w| 丁香五月网在线观看| 五月亭亭性| 中文字幕永久免费| 欧美叉叉叉BBB网站| 色碰97| 國語久久婷| 五月婷婷久久开心网| Www,五月天| 丁香五月香蕉| 精品国产一区二区三区四区阿崩 | 五月综亚洲| 天天爱天天做天天| 五月天色区| 五月天婷婷偷拍| 久久五月天视频| 九九精品片一| 天天草天天摸| 丁香五月婷婷网| 亚洲精品第一国产综合亚AV | 天天操夜夜操| 另类少妇人与禽zOZZ0性伦| 欧美日本99| 天天综合情| 狠狠五月激情婷婷直播片| 97干在线播放| 国产精产国品一二三在观看 | 亚洲欧洲中文日韩久久AV乱码| 极品少妇婷婷五月| 99re思思热在线视频| 婷婷五月天激情五月天| 综合色图区| 秋霞九九无码| 九九精品在线视频观看| 九色色| 九九热99热| 99久久偷拍视频| 欧美婷婷六月丁香综合色| 深爱激情网五月天| 亚洲五月婷婷| 91丁香| 婷婷 亚洲图片 丁香| 国产精品日日躁夜夜躁| 综合久久十三| 久久精品色| 日本狠狠网| 亚洲精品V天堂中文字幕| 91综合色| 欧美日韩AAAA| 日韩中文字幕| 色色色999| 可以直接看的av| 丁香五月花| 综合网色| 婷婷五月天av| 日韩aⅴ视频| 天天爽—爽| 狠狠色噜噜狠狠狠狠综合| 丁香99| 欧美激情xxxXX| 激情九月综合| 亚洲乱啪| 婷婷五月婷婷五月| www.色婷婷.com| 九九九热精品| 亚洲人人操| av在线免费播放观看| 99热在线里有精品| 玖玖资源在线视频| 久热91精品| 五月六月伦理| 欧美A片在线视频免费观看| 色99亚洲| 成人丁香| 人妻丰满精品一区二区A片| 婷婷综合激情| 久久92| 日韩视频女神99| 日操夜撸| 波多野结衣不卡AV| www.人人操人人看人人想人人摸 人人人人操,COM| 亚洲啪视频| 久热在线观看视频9| 开心五月激情五月丁香五月婷婷| 伊人色综合网| 天天日天天狠狠操| 99精品在这里| 日韩成人av在线| 丁香久久综合| 99亚洲精美视频在线观看| 狠狠做深爱婷婷久久综合一区| 激情五月成年| 亚洲激情色色| 乱精品一区字幕二区| 开心婷婷五月花| 91久久婷婷| 开心五月六月婷婷| 婷婷五月成人| 大香蕉手机视频| 亚洲AV人人操| 色五月婷婷综合| 成人av播放| w婷婷五月婷婷w| 综激情网| 色婷婷香蕉| 婷婷亚洲天堂| 99久久综合| 六月激情婷婷| 色激情综合狠狠婷婷| www狠狠| 天天插综合在线| 五月丁香啪啪网| 五月婷成人网| 日本不卡高字幕在线2019| 26uuuu精品一区二区| 香蕉AV777XXX色综合一区| 99综合99| 性爱激情综合网| 99色最新在线视频网站| 超碰成人在线免费观看| 日本婷色| 婷婷五月综合网| 99精品国产热久久91色欲| 99久视频| 狠狠干狠狠干| 成人在线视频男人的天堂4399| 天天爽天天操| 五月婷婷啪啪啪| 色欲一区二区三区精品A片| 丁香五月天天| 久久97久久99久久综合欧美| 丁香五月六月激情久久| 1234操逼网| 综激情网| 天天色一道本综合婷婷| 久久99最新地址| 99色性爰网络| 9精品在线| 狠狠干婷婷| 婷婷五月天色综合| 97超级操操| 午夜激情综合| 婷婷在线操| 亚洲99一级无嗎特制在线| 激情五月天婷婷| 综合亚洲六月婷婷在线| 97在线观视频免费观看| 婷婷十月激情综合网| 国产色网站| 国产成人网站在线观看| 色五月婷婷啪啪五月| 免费成人网在线观看| 婷婷伊人久久| 9久热这里只有精品视频| 婷综合六月| 日韩999| 狠狠色狠狠鲁| 五月天婷婷久草丁香| 五月婷婷av| 亚州性爱99| 色停停香蕉视频| 久热在线中文字幕色999舞| 色在线视频网2025| wwwss在线观看| 99热10在线高清播放| 超级碰碰91| 丁香五月另类小说在线阅读| 久久婷婷综合色丁香| 另类视频一区| 久久这里只有国产视频| 日韩在线视频中文字幕| 国产一区二区三区影院| 五月丁香六月婷婷色日| 丁香六月婷婷综合激情欧美 | 五月开行婷婷色五月| 日本激情91| 国产午夜伦鲁鲁| 精品99视频| 五月天色五月天| 亚洲超级碰| 午夜少妇在线观看视频| 九九无码| 欧美综合丁香网| 激情五月天啪啪| 98国产精品综合一区二区三区| 人人摸人人澡人人| 婷婷永久在线| 色综合久久综合中文综合网| 五月婷久久久久综合| 久9热| 激情伊人五月天| 五月丁香婷成人网| 色播播婷婷| 99人妻碰碰久久久禁片| 91丨九色丨高潮丰满日本| 能看的AV网站| 97天堂| 五月开心啪啪| 少妇伦子伦精品无吗| 成人在线网| 99热免| 五月香蕉婷婷| 婷婷六月色开| 国产在线自| 在线观看免费观看在线9久| 日本91在线| 99热a片免| 26uuu欧美亚洲日韩| 色五月激情综合网| 五月婷婷激情日本| 99热草草| 欧洲色区| 青青草激情网| 97性视频| 婷婷五月天免费视频| 天天摸天天舔天天爽| VA色婷婷| 操逼巨乳91| 亚洲中文字幕翔田千里| 三男玩一女三A片| 丁香六月婷婷久久综合| 亚洲国产精品VA在线看黑人| 中文字幕 久久9999| 色婷婷基地在线| 超碰九九热| 久热久操久热久草国产91| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 色色色九九九五月婷婷| 午夜婷婷五月天| 五月丁香六月色情网欧美| 丁香六月婷婷久久综合| 九九热99免费视频| 五月天婷婷久草丁香| 26uuu成人网| 亚洲成人在线在线| 专区无日本视频高清8| 激情五月婷婷五月| 成人午夜无码视频| 丁香伊人网| 99热精品在线观看| 五月婷婷开心网| 99热网站| 婷婷综合五月天亚洲综合| 亚洲综合在线丁香五月| 人妻在线中文字幕久久| 色色色综合视频| 五月噜噜噜色综合| 99综合色色色| 99色精品视频| 99re99热| 开心婷婷五| anquye伊人| 六月婷婷六月天天在线免费| 婷婷五月天美女| 噜噜噜噜噜久| 亚州精品色情无码A片| 久久亚洲婷婷| 九九热这里只有精品5| 色区久久| 婷婷丁香五月天婷婷| 丁香五月婷婷久久综合激情网| 91超级碰碰| 天搞天天天天天| 五月丁香六月婷婷,婷| 五月天另类小说亚洲| 天天弄天天爽| 婷婷五月在线综合| 99精品这里只有免费视频| 五月花综合网| 亚洲综合丁香五月| 天天开心AV色综合婷婷五月天| 色婷婷丁香AV综合| 丁香五月六月欧美| 另类激情网| 久久婷婷视频| 99九无网码| 涩五月婷婷| 激情五月婷婷综合| 精品一二三区久久AAA片| 久久婷婷五月综合色区| 九久热| 久久jiuwww| 九九综合| 五月丁香综合网色欲| 日批在线看| 狠狠干综合网| 色噜噜五月天| 久久久婷婷| 国产av天堂| 另类五月激情| 久久日九九| 五月天开心色情网| 丁香六月色婷婷欧美| www.思思99热| 夜夜操天天干| 色玖玖综合网| 涩五月婷婷| 1024欧美看片| 色婷婷天堂| 丁香婷婷激情综合五月激情| wwccc久久久| 五月天婷婷影院影院观看| 婷婷色色丁香五月天| 夜夜撸夜夜骑| 婷婷丁香中文字幕| 亚洲午夜一区二区| 激情图片亚洲| 天天干天天射综合网| 九九热婷婷| 亚洲综合九九| 超碰天堂网| 91久久综合亚洲噜噜成人在线 | 99久久www| 激情五月天婷婷激情| 五月天婷婷深深爱| 五月天激情综合| www.99热这里只有精品| 人妻激情久久| 亚洲六月色婷婷| 色综合久久88色综合天天人守婷| 婷婷十月激情综合网| 超碰在线人人| 国产毛片精品一区二区色欲黄A片| 91日综合欧美| 亚洲日韩国产黑丝黑丝AVAV一区二区三区| 久久午夜理论| 99热资源在线| 另类少妇人与禽zOZZ0性伦| 99精品网址| 欧洲99视频在线| 婷婷激情五月色综合| 国产 码在线成人网站| 色五月丁香A欧美com| 色色色婷婷五月| 涩涩五| www.五月天色色.com| 51精品国自产在线| 99热99极品观看| 亚洲色小说在线综合| 婷婷六月综合基地| 777米奇影视第四色| 激情宗合 激情宗合| 妻久久久久| 亚洲午夜一区二区| 全部老头和老太XXXXX| 9l视频自拍9l九色9l成人| ...婷婷国产成人亚洲日韩| 激情五月天网站| 欧美成人AAA片一区国产精品| 99在线公开视频| 日本熟女一区二区| 天天狠狠夜夜狠狠2023| 人人操91色| 色五月aV| 色婷婷狠狠爱| 开心久久网婷婷| 十月丁香婷婷| 五月丁香啪啪啪综合网| 婷婷五月精品| 亚洲婷婷丁香五月在线| 五月婷婷激情综合av| http:色情日本com| 超碰免费人人| 激情五月天影院| 99人妻碰碰久久久禁片| 九月丁香婷婷| 婷婷五月天国产| www五月婷婷88导航| 日本a片网址| 国产精品成人AV在线| 偷拍99在线视频观看| 欧洲亚洲免费视频区| 97人人操在线| 欧美啪啪五月天| 日日想日日夜日日操| 五月激情六月宗合| 国产午夜精品一区二区| 激情综合亚洲色婷婷五月| 激情五月激情综合网| 亚洲综合另类| 婷婷五月丁香香蕉| 懂色av粉嫩av蜜臀av| 日本精品在线噜噜噜| 久久婷婷五月综合激情国产| 91热在线观看视频| 久久性爱网站| 五月丁香综合激情| 婷婷丁香在线| 色婷婷9| 色五月婷婷AV| 亚洲色在线观看| 影音 五月 婷婷 久久| 五月婷庭丁香在线| 婷婷成人五月天| www激情| 中文字幕不卡+婷婷五月| 狠狠色丁香久久婷婷综合五月| 色婷婷五月天不卡| 夜夜嗨一区二区三区直播内容| 婷婷五六月丁香| 99热这里只有精品免费| 色射影院| 天天肏在线观看| 日本九九视频| 这里有精品| 大香蕉九九操| 五月天亚洲综合网| 婷婷激情五月天桃花网| 五月天婷婷基地| 99精品偷自拍| 五月激情五月丁香| 四色99久久| 丁香六月久久| 内射综合网| 七七九色| 蜜桃人妻无码AV天堂三区| 九一牛视频探花| 热99精品视频| AV成人在线网站| 五月丁香六月色婷婷| 97亚洲视频在线| 丁香五月丁香伊人| 性色做爰片在线观看WW| 色婷婷丁香五月观看| 99∨VTV| 免费99情趣网视频| 五月婷婷丁香六月| 五月天播播综合| 91男女视频在线观看| 丁香婷婷久久老熟女综合网| 日日躁夜夜躁狠狠久久AV| 五月丁香网中文字幕| 亚洲午夜成人av电影网| 五月五丁香婷婷| 色青青电影色五月| 开心五月深爱激情| 国产探花一片区| 欧美成人网99网| 影音先锋 一区| 玖玖在线| 丁香五月激情婷婷视频| 久久视频这里有精品99| 五月丁香激情片| 国产美女无遮挡裸体毛片A片| 操逼在线视频| 激情婷婷五月丁香啪啪啪| 婷婷五月天综合小说网| 中文字幕+中文在线| 亚洲色vA| AV免费在线网站| 色域五月婷婷丁香| 丁香婷婷六月激情文学| 激情五月天网站| 六月婷婷七月丁香| 九一九九黄色| 免费播放片大片| 99久在线观看| 91Chinese在线| 色色aⅤ網| 婷婷五月天性爱视频| 久久婷婷五月天| 97操碰| 99人妻碰碰久久久禁片| 五月婷在线视频免费看| 色色丁香五月| 26uuu精品一区二区| 色综合久久伊伊婷婷五月| 色婷小说| 日本美女五月天| 99久在线精品99re8热| 精品一二三区久久AAA片| 五月丁香六月激情啪| 激情久久丁香| 婷婷五月色天| 99在线国| 99热在线资源| 五月天开心网| 九九热视频思思| 综合性爱网| 六月激情网| 少妇人妻综合色6699| 久久WW| 色婷丁香| 狠狠 婷婷| AV大片在线观看| 99热综合在线| 激情综合网丁香| 丁香五月婷婷五月| 五月婷婷六月少妇激情| www.henhenl| 搡BBBB搡BBB搡五十| 在线只有精品| 96人人操人人操人人| 无码字幕中文| 五月天综合久久| 天天干天天操天天上| 亚洲性视频| 超碰9799| 91久久色| 奸逼视频| 五月色婷婷中文字幕| 亚洲视频在线网站| 中文久久婷婷| 精品综合久久久久久五月天| 五月天婷婷色情| 99re在线播放| 亚洲久热无码| 91精品久久久久久综合五月天| 五月天丁香啪啪网| 久久草大香蕉| 色五月婷婷内射| 激情四射五月天| 亚洲欧洲一二| 成AV人片一区二区三区久久| 最新va在线播放| 天天舔天天摸天天射| 99人人操人人操人人精| 91人人人人人| 色激情五月| 天天操夜夜爽| 色综合久久久久| 偷偷操九九| 无码激情AAAAA片-区区| 性爱网五月天| 色播丁香婷婷五月激情| 涩五月婷婷| 伊人大香蕉综合在线| 做爰丰满少妇1313| 色色色色色综合| 婷婷丁香六月激情综合| 亚洲激情av| 91色干| 真实的国产乱XXXX在线91| 五月婷婷性爱| 婷婷五月激情中文字幕| 天天拍久久| 五月丁香日本在线视频观看| 免费97碰碰| 123日本不卡在线| 色色激情五月天| 丁香六月婷婷综合激情欧美| 色在线视频网2025| 五月天丁香六月综合| 另类国产区| 97干资源在线观看| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 操操啪| 久久这里有精品| 伊人久久五月天| 天天爽,天天操。| 欧美成性色| 成人片在线播放| 婷婷五月丁香香蕉|