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

ARTICLE DETAIL

資訊詳情

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

Wio Terminal以太網(wǎng)連接實(shí)戰(zhàn):W5500硬件協(xié)議棧與Arduino網(wǎng)絡(luò)編程

Wio Terminal以太網(wǎng)連接實(shí)戰(zhàn):W5500硬件協(xié)議棧與Arduino網(wǎng)絡(luò)編程 1. 從Wi-Fi到有線為什么我們需要Wio Terminal的以太網(wǎng)連接如果你玩過(guò)Seeed Studio的Wio Terminal大概率是從它的Wi-Fi功能入手的。這塊自帶屏幕、按鍵和豐富傳感器的小板子配合Arduino框架和Grove生態(tài)做物聯(lián)網(wǎng)原型開(kāi)發(fā)確實(shí)方便。但當(dāng)你把項(xiàng)目從實(shí)驗(yàn)室搬到工廠車間或者想做一個(gè)更穩(wěn)定的數(shù)據(jù)采集節(jié)點(diǎn)時(shí)Wi-Fi的局限性就暴露出來(lái)了信號(hào)波動(dòng)、連接中斷、配置復(fù)雜尤其是在電磁環(huán)境復(fù)雜的工業(yè)現(xiàn)場(chǎng)無(wú)線連接的不確定性可能成為整個(gè)系統(tǒng)的阿喀琉斯之踵。這時(shí)有線以太網(wǎng)連接的價(jià)值就凸顯出來(lái)了。它提供的是物理層級(jí)的穩(wěn)定性和確定性。想象一下一個(gè)24小時(shí)不間斷監(jiān)測(cè)溫濕度、光照并將數(shù)據(jù)上傳到服務(wù)器的環(huán)境監(jiān)測(cè)站或者一個(gè)需要毫秒級(jí)響應(yīng)執(zhí)行指令的自動(dòng)化控制終端穩(wěn)定的網(wǎng)絡(luò)連接不是“錦上添花”而是“雪中送炭”。Wio Terminal本身集成了Realtek RTL8720DN雙頻Wi-Fi和藍(lán)牙芯片但它并沒(méi)有以太網(wǎng)控制器。要實(shí)現(xiàn)有線連接我們需要借助一個(gè)外部模塊——通常是一個(gè)基于W5500或ENC28J60芯片的以太網(wǎng)擴(kuò)展板或PHY模塊。這篇文章我就來(lái)詳細(xì)拆解如何為Wio Terminal“插上網(wǎng)線”從硬件選型、庫(kù)的適配、代碼編寫到實(shí)際部署中的坑分享一套完整的實(shí)戰(zhàn)方案。2. 硬件選型與連接W5500還是ENC28J60給微控制器擴(kuò)展以太網(wǎng)市面上最常見(jiàn)的是兩款芯片Microchip的ENC28J60和WIZnet的W5500。為Wio Terminal選擇哪一款不是一個(gè)隨意的決定它直接關(guān)系到后續(xù)開(kāi)發(fā)的復(fù)雜度、性能和穩(wěn)定性。2.1 核心芯片對(duì)比與選型邏輯我們先從最根本的差異說(shuō)起。ENC28J60是一個(gè)標(biāo)準(zhǔn)的以太網(wǎng)控制器它只負(fù)責(zé)OSI模型中的數(shù)據(jù)鏈路層MAC和物理層PHY這意味著TCP/IP協(xié)議棧的處理需要完全由主控芯片也就是Wio Terminal用的ATSAMD51通過(guò)軟件來(lái)實(shí)現(xiàn)。你會(huì)聽(tīng)到它常與“輕量級(jí)TCP/IP協(xié)議?!比鏓therCard或UIPEthernet庫(kù)綁定出現(xiàn)。這種方案的優(yōu)點(diǎn)是成本相對(duì)較低但缺點(diǎn)也很明顯它會(huì)大量占用主控的CPU資源和內(nèi)存用于處理協(xié)議解析、數(shù)據(jù)包組裝等繁重任務(wù)。對(duì)于Wio Terminal這種同時(shí)要驅(qū)動(dòng)屏幕、處理傳感器數(shù)據(jù)的應(yīng)用軟件協(xié)議??赡艹蔀樾阅芷款i特別是在需要高網(wǎng)絡(luò)吞吐量或多連接并發(fā)時(shí)。而W5500則是一個(gè)硬件TCP/IP協(xié)議棧芯片。它內(nèi)部集成了完整的TCP/IP協(xié)議棧包括TCP, UDP, ICMP, IPv4, ARP, IGMP, PPPoE等并提供了8個(gè)獨(dú)立的硬件Socket。你可以把它理解為一個(gè)自帶“網(wǎng)絡(luò)協(xié)處理器”的模塊。主控芯片MCU只需要通過(guò)SPI接口像讀寫普通寄存器一樣告訴W5500“建立連接到這個(gè)IP的80端口”或者“從Socket 0讀取數(shù)據(jù)”剩下的建立連接、數(shù)據(jù)分包、確認(rèn)重傳等復(fù)雜的網(wǎng)絡(luò)協(xié)議交互全部由W5500自己完成。這極大地解放了主控MCU使其能專注于應(yīng)用邏輯。對(duì)于資源并不算特別寬裕的Wio TerminalATSAMD51 Cortex-M4F 120MHz 192KB RAM來(lái)說(shuō)W5500幾乎是追求穩(wěn)定和性能時(shí)的唯一選擇。因此我的選型建議非常明確對(duì)于Wio Terminal優(yōu)先選擇基于W5500芯片的以太網(wǎng)擴(kuò)展模塊。除非你的項(xiàng)目對(duì)成本極度敏感且網(wǎng)絡(luò)通信負(fù)載極低例如每分鐘只發(fā)送幾個(gè)字節(jié)的數(shù)據(jù)否則W5500帶來(lái)的穩(wěn)定性和易用性提升遠(yuǎn)超其微小的成本差價(jià)。市面上有大量為Arduino設(shè)計(jì)的W5500擴(kuò)展板我們需要關(guān)注的是其與Wio Terminal的引腳兼容性。2.2 硬件連接與引腳定義Wio Terminal的側(cè)邊有40pin的Grove兼容接口但更通用、更可靠的方式是使用其底部的引腳焊盤或?qū)S玫臄U(kuò)展底座。W5500通常通過(guò)SPI接口通信我們需要連接以下四根核心信號(hào)線SPI總線SCK (Serial Clock): 時(shí)鐘線。連接到Wio Terminal的SCK引腳在Arduino框架中通常對(duì)應(yīng)數(shù)字引腳D24作為主SPI的SCK。MOSI (Master Out Slave In): 主設(shè)備輸出從設(shè)備輸入。連接到Wio Terminal的MOSI引腳通常對(duì)應(yīng)D23。MISO (Master In Slave Out): 主設(shè)備輸入從設(shè)備輸出。連接到Wio Terminal的MISO引腳通常對(duì)應(yīng)D22。SS/CS (Slave Select / Chip Select): 片選線低電平有效。這根線需要連接到一個(gè)普通的GPIO引腳用于在SPI總線上選中W5500芯片。你可以自由選擇一個(gè)未被占用的數(shù)字引腳例如D10。復(fù)位線 (RST)用于硬件復(fù)位W5500芯片通常也連接到一個(gè)GPIO引腳如D8。這不是必須的但建議連接以便在軟件卡死時(shí)能強(qiáng)制復(fù)位網(wǎng)絡(luò)模塊。中斷線 (INT)W5500可以通過(guò)此線向主控發(fā)送中斷信號(hào)通知有數(shù)據(jù)到達(dá)或連接狀態(tài)改變。這可以替代輪詢方式提高效率。可以連接到如D9引腳。如果不用中斷此引腳可不接。電源W5500模塊通常需要3.3V供電請(qǐng)務(wù)必連接到Wio Terminal的3.3V輸出引腳。絕對(duì)不要接到5V上否則會(huì)損壞模塊。GND連接到Wio Terminal的GND。一個(gè)典型的連接表示例如下使用Wio Terminal的底部引腳或擴(kuò)展底座W5500模塊引腳Wio Terminal 引腳 (Arduino Pin Number)說(shuō)明VCC3.3V電源GNDGND地SCKD24 / SCKSPI時(shí)鐘MOSID23 / MOSISPI主出從入MISOD22 / MISOSPI主入從出SCS (SS)D10片選自定義RSTD8復(fù)位可選建議INTD9中斷可選注意不同廠家生產(chǎn)的W5500模塊引腳絲印可能略有不同例如CS、SS、NSS都指片選請(qǐng)務(wù)必以你手中模塊的說(shuō)明書為準(zhǔn)。連接前最好用萬(wàn)用表確認(rèn)一下電源和地。3. 軟件環(huán)境搭建與庫(kù)的抉擇硬件連好后軟件才是讓一切動(dòng)起來(lái)的關(guān)鍵。在Arduino IDE中我們需要安裝核心板支持包和相應(yīng)的以太網(wǎng)庫(kù)。3.1 安裝Seeed SAMD核心與以太網(wǎng)庫(kù)首先確保你的Arduino IDE已經(jīng)安裝了Seeed Studio的SAMD核心板支持。在“工具”-“開(kāi)發(fā)板”-“開(kāi)發(fā)板管理器”中搜索“Seeed SAMD”安裝“Seeed SAMD Boards by Seeed Studio”。這提供了對(duì)Wio Terminal的完整支持。接下來(lái)是重頭戲以太網(wǎng)庫(kù)。正如硬件選型部分所述針對(duì)W5500我們有兩個(gè)主流庫(kù)可選官方兼容的Ethernet庫(kù)和第三方的Ethernet3庫(kù)。官方Ethernet庫(kù)Arduino IDE自帶的庫(kù)最初為Arduino官方以太網(wǎng)盾W5100/W5200/W5500設(shè)計(jì)。它對(duì)W5500有基本支持但可能不是最新或最優(yōu)化的。在Arduino IDE的“庫(kù)管理器”中搜索“Ethernet”并安裝即可。Ethernet3庫(kù)這是一個(gè)由社區(qū)維護(hù)的、更現(xiàn)代、功能更強(qiáng)大的庫(kù)。它針對(duì)WIZnet芯片尤其是W5500進(jìn)行了大量?jī)?yōu)化修復(fù)了官方庫(kù)的一些Bug提供了更好的性能和更豐富的示例。我強(qiáng)烈推薦使用這個(gè)庫(kù)。安裝Ethernet3庫(kù)打開(kāi)Arduino IDE點(diǎn)擊“項(xiàng)目”-“加載庫(kù)”-“管理庫(kù)…”在搜索框中輸入“Ethernet3”找到由“Arkadiusz666”發(fā)布的版本進(jìn)行安裝。3.2 庫(kù)的配置與關(guān)鍵對(duì)象解析安裝好庫(kù)后我們來(lái)看看代碼中需要關(guān)心的核心部分。無(wú)論是用Ethernet還是Ethernet3其編程模型非常相似都遵循begin()初始化、client/server對(duì)象操作的流程。但Ethernet3在細(xì)節(jié)上更友好。首先你需要包含正確的頭文件并定義我們硬件連接時(shí)使用的片選和復(fù)位引腳#include Ethernet3.h // 如果使用Ethernet3庫(kù) // 根據(jù)你的實(shí)際連接定義引腳 byte mac[] { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // 一個(gè)自定義的MAC地址 IPAddress ip(192, 168, 1, 177); // 為Wio Terminal設(shè)定的靜態(tài)IP IPAddress myDns(192, 168, 1, 1); // 你的路由器/DNS服務(wù)器地址 IPAddress gateway(192, 168, 1, 1); // 網(wǎng)關(guān)地址 IPAddress subnet(255, 255, 255, 0); // 子網(wǎng)掩碼 // 定義我們硬件連接時(shí)使用的引腳 #define W5500_CS_PIN 10 // 片選引腳連接至D10 #define W5500_RST_PIN 8 // 復(fù)位引腳連接至D8如果連接了在setup()函數(shù)中進(jìn)行初始化void setup() { Serial.begin(115200); while (!Serial); // 等待串口連接實(shí)際部署時(shí)可注釋掉 // 如果有連接復(fù)位引腳先將其設(shè)置為輸出模式并拉高 pinMode(W5500_RST_PIN, OUTPUT); digitalWrite(W5500_RST_PIN, HIGH); delay(200); digitalWrite(W5500_RST_PIN, LOW); // 復(fù)位脈沖 delay(200); digitalWrite(W5500_RST_PIN, HIGH); delay(200); // 等待W5500啟動(dòng) // 初始化以太網(wǎng)連接 Serial.println(Initializing Ethernet with DHCP...); // 方法1: 使用DHCP動(dòng)態(tài)獲取IP推薦在測(cè)試階段使用 if (Ethernet.begin(mac, 10000, 4000) 0) { // 參數(shù)超時(shí)時(shí)間響應(yīng)等待時(shí)間 Serial.println(Failed to configure Ethernet using DHCP); // 如果DHCP失敗可以回退到靜態(tài)IP Ethernet.begin(mac, ip, myDns, gateway, subnet); } // 方法2: 直接使用靜態(tài)IP適合固定網(wǎng)絡(luò)環(huán)境 // Ethernet.begin(mac, ip, myDns, gateway, subnet); // 等待連接建立 delay(1000); // 打印網(wǎng)絡(luò)信息 Serial.print(My IP address: ); Serial.println(Ethernet.localIP()); }這里有幾個(gè)關(guān)鍵點(diǎn)MAC地址需要為你的設(shè)備設(shè)置一個(gè)唯一的MAC地址。在局域網(wǎng)內(nèi)每個(gè)設(shè)備的MAC地址必須不同。示例中的{ 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }是一個(gè)常見(jiàn)的測(cè)試地址但在實(shí)際部署中最好為每個(gè)設(shè)備分配一個(gè)唯一的地址或者使用W5500芯片自帶的唯一MAC地址某些高級(jí)庫(kù)函數(shù)或模塊支持讀取。DHCP vs 靜態(tài)IP在測(cè)試和家庭環(huán)境中使用DHCPEthernet.begin(mac)最方便路由器會(huì)自動(dòng)分配IP。但在工業(yè)或需要固定尋址的場(chǎng)景必須使用靜態(tài)IP如示例中注釋掉的部分所示。超時(shí)設(shè)置Ethernet3庫(kù)的begin函數(shù)允許設(shè)置超時(shí)和等待時(shí)間這在網(wǎng)絡(luò)環(huán)境不佳時(shí)非常有用。官方庫(kù)可能沒(méi)有這個(gè)參數(shù)。硬件復(fù)位通過(guò)代碼控制RST引腳進(jìn)行一次硬件復(fù)位可以確保W5500從一個(gè)已知的干凈狀態(tài)啟動(dòng)避免因之前狀態(tài)殘留導(dǎo)致的奇怪問(wèn)題。這是一個(gè)非常實(shí)用的技巧。4. 實(shí)戰(zhàn)應(yīng)用構(gòu)建TCP客戶端與HTTP服務(wù)器示例網(wǎng)絡(luò)連通后我們就可以開(kāi)始真正的應(yīng)用了。最常見(jiàn)的兩種模式是作為客戶端主動(dòng)連接服務(wù)器如上報(bào)數(shù)據(jù)到云平臺(tái)或作為服務(wù)器接收請(qǐng)求如提供簡(jiǎn)單的Web配置界面。4.1 作為TCP客戶端上報(bào)數(shù)據(jù)假設(shè)我們要將Wio Terminal傳感器采集的數(shù)據(jù)上報(bào)到一個(gè)TCP服務(wù)器比如運(yùn)行在電腦上的一個(gè)Python測(cè)試服務(wù)器地址為192.168.1.100:8080。#include Ethernet3.h #include EthernetClient.h byte mac[] { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; IPAddress serverIP(192, 168, 1, 100); // 目標(biāo)服務(wù)器地址 int serverPort 8080; EthernetClient client; void setup() { Serial.begin(115200); // ... 以太網(wǎng)初始化代碼同上建議使用靜態(tài)IP避免DHCP租期問(wèn)題 ... Ethernet.begin(mac, IPAddress(192,168,1,177), IPAddress(192,168,1,1), IPAddress(192,168,1,1), IPAddress(255,255,255,0)); Serial.println(Ethernet initialized); delay(2000); // 給網(wǎng)絡(luò)一點(diǎn)穩(wěn)定時(shí)間 } void loop() { // 模擬讀取傳感器數(shù)據(jù)例如一個(gè)隨機(jī)溫度值 float temperature random(200, 350) / 10.0; // 20.0°C - 35.0°C // 檢查客戶端是否已連接如果沒(méi)有則嘗試連接 if (!client.connected()) { Serial.println(Attempting to connect to server...); if (client.connect(serverIP, serverPort)) { Serial.println(Connected to server); } else { Serial.println(Connection failed); delay(5000); // 等待5秒后重試 return; } } // 如果連接成功則發(fā)送數(shù)據(jù) if (client.connected()) { // 構(gòu)造一個(gè)簡(jiǎn)單的數(shù)據(jù)報(bào)文例如 JSON 格式 String data {\device\:\WioTerminal\,\temp\: String(temperature, 1) }; client.println(data); // 發(fā)送數(shù)據(jù)并換行方便服務(wù)器按行讀取 Serial.print(Data sent: ); Serial.println(data); // 可選等待并讀取服務(wù)器的響應(yīng)如果有 unsigned long startWait millis(); while (client.available() 0 millis() - startWait 3000) { delay(10); // 等待響應(yīng)超時(shí)3秒 } if (client.available() 0) { String response client.readStringUntil(\n); Serial.print(Server response: ); Serial.println(response); } } // 斷開(kāi)連接對(duì)于短連接或保持連接對(duì)于長(zhǎng)連接 // client.stop(); // 如果是每次發(fā)送后斷開(kāi)則取消注釋此行 delay(10000); // 每10秒發(fā)送一次數(shù)據(jù) }實(shí)操心得連接狀態(tài)管理client.connected()只能判斷TCP連接是否在技術(shù)上建立并不能感知對(duì)端是否已關(guān)閉。更健壯的做法是結(jié)合client.available()讀取數(shù)據(jù)和設(shè)置讀寫超時(shí)。如果長(zhǎng)時(shí)間沒(méi)有數(shù)據(jù)交互可以主動(dòng)發(fā)送心跳包或重新連接。數(shù)據(jù)格式選擇一種簡(jiǎn)單通用的格式如純文本加換行、CSV或微型JSON。避免在資源有限的MCU上解析復(fù)雜的XML。錯(cuò)誤處理connect可能因?yàn)榫W(wǎng)絡(luò)路由問(wèn)題、服務(wù)器未開(kāi)啟、端口錯(cuò)誤而失敗。務(wù)必添加重試邏輯和失敗提示這對(duì)于現(xiàn)場(chǎng)調(diào)試至關(guān)重要。4.2 作為簡(jiǎn)易HTTP服務(wù)器提供Web頁(yè)面讓W(xué)io Terminal作為一個(gè)Web服務(wù)器可以通過(guò)瀏覽器訪問(wèn)其IP地址來(lái)查看傳感器數(shù)據(jù)或進(jìn)行簡(jiǎn)單控制。#include Ethernet3.h #include EthernetServer.h byte mac[] { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; IPAddress ip(192, 168, 1, 177); EthernetServer server(80); // 在80端口監(jiān)聽(tīng)HTTP請(qǐng)求 void setup() { Serial.begin(115200); Ethernet.begin(mac, ip); server.begin(); Serial.print(HTTP Server is at: http://); Serial.println(Ethernet.localIP()); } void loop() { // 監(jiān)聽(tīng)傳入的客戶端連接 EthernetClient client server.available(); if (client) { Serial.println(New client connected); boolean currentLineIsBlank true; // HTTP請(qǐng)求以空行結(jié)束 String request ; while (client.connected()) { if (client.available()) { char c client.read(); request c; // 累積請(qǐng)求頭用于簡(jiǎn)單解析 // HTTP請(qǐng)求以連續(xù)兩個(gè)換行符結(jié)束\n\n if (c \n currentLineIsBlank) { // 請(qǐng)求頭接收完畢開(kāi)始發(fā)送響應(yīng) sendHttpResponse(client, request); break; } if (c \n) { currentLineIsBlank true; } else if (c ! \r) { currentLineIsBlank false; } } } // 給瀏覽器一點(diǎn)時(shí)間接收數(shù)據(jù) delay(10); client.stop(); Serial.println(Client disconnected); // 簡(jiǎn)單解析請(qǐng)求這里可以判斷GET /data 或 GET /control?ledon等 Serial.println(Request:); Serial.println(request); } } void sendHttpResponse(EthernetClient client, String req) { // 發(fā)送標(biāo)準(zhǔn)的HTTP響應(yīng)頭 client.println(HTTP/1.1 200 OK); client.println(Content-Type: text/html); client.println(Connection: close); client.println(); // 空行分隔頭部和主體 // 發(fā)送HTML頁(yè)面主體 client.println(!DOCTYPE HTML); client.println(html); client.println(headtitleWio Terminal Status/title/head); client.println(body); client.println(h1Wio Terminal Ethernet Server/h1); client.println(pThis page is served directly from the Wio Terminal!/p); // 可以在這里動(dòng)態(tài)插入傳感器數(shù)據(jù) // int sensorValue analogRead(A0); // client.print(pAnalog Input A0: ); // client.print(sensorValue); // client.println(/p); // 添加一個(gè)簡(jiǎn)單的按鈕表單用于控制例如控制板載LED client.println(form action\/\ method\GET\); client.println(input type\hidden\ name\led\ value\toggle\); client.println(input type\submit\ value\Toggle LED\); client.println(/form); // 簡(jiǎn)單解析請(qǐng)求中的查詢參數(shù)非?;A(chǔ)的解析 if (req.indexOf(GET /?ledtoggle) ! -1) { // 這里可以執(zhí)行控制動(dòng)作例如 digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN)); client.println(pLED state toggled!/p); } client.println(/body); client.println(/html); }注意事項(xiàng)資源消耗即使是一個(gè)簡(jiǎn)單的HTTP服務(wù)器也需要解析請(qǐng)求頭和組裝響應(yīng)。W5500的硬件協(xié)議棧處理了TCP的復(fù)雜性但HTTP應(yīng)用層邏輯仍需MCU完成。確保你的HTML頁(yè)面盡可能精簡(jiǎn)避免復(fù)雜的字符串操作耗盡內(nèi)存。單線程處理EthernetServer是單線程的一次只能處理一個(gè)客戶端請(qǐng)求。在處理一個(gè)長(zhǎng)請(qǐng)求時(shí)其他客戶端會(huì)被阻塞。對(duì)于需要并發(fā)服務(wù)的場(chǎng)景需要考慮更復(fù)雜的狀態(tài)機(jī)或使用Ethernet3庫(kù)中更高級(jí)的異步特性如果支持。安全性這個(gè)服務(wù)器僅用于內(nèi)網(wǎng)演示或調(diào)試。它沒(méi)有考慮任何安全措施如輸入驗(yàn)證、防緩沖區(qū)溢出。絕對(duì)不要將其暴露在公網(wǎng)。5. 高級(jí)話題與疑難排坑在實(shí)際部署中你會(huì)遇到比示例代碼更復(fù)雜的情況和問(wèn)題。這里分享幾個(gè)進(jìn)階技巧和常見(jiàn)坑點(diǎn)。5.1 同時(shí)處理多路連接與Socket管理W5500有8個(gè)硬件Socket這意味著理論上它可以同時(shí)維持8個(gè)TCP或UDP連接。在Arduino的Ethernet庫(kù)中EthernetClient和EthernetServer對(duì)象底層會(huì)管理這些Socket。但你需要理解每個(gè)活動(dòng)的EthernetClient對(duì)象無(wú)論是通過(guò)server.available()接受的還是通過(guò)client.connect()創(chuàng)建的都會(huì)占用一個(gè)Socket。一個(gè)常見(jiàn)的誤區(qū)是在循環(huán)中不斷創(chuàng)建新的EthernetClient對(duì)象去連接服務(wù)器而不及時(shí)調(diào)用client.stop()釋放。這會(huì)導(dǎo)致Socket迅速耗盡后續(xù)連接失敗。正確的做法是對(duì)于周期性上報(bào)的客戶端考慮使用長(zhǎng)連接Keep-Alive在一個(gè)連接上多次發(fā)送數(shù)據(jù)而不是每次發(fā)送都建立新連接。并在檢測(cè)到連接異常時(shí)再重建。對(duì)于服務(wù)器在處理完一個(gè)客戶端請(qǐng)求并發(fā)送響應(yīng)后應(yīng)及時(shí)調(diào)用client.stop()關(guān)閉連接釋放Socket資源以供下一個(gè)客戶端使用。Ethernet3庫(kù)提供了Ethernet.maintain()函數(shù)它可以幫助處理DHCP租約續(xù)期等后臺(tái)任務(wù)在長(zhǎng)時(shí)運(yùn)行的客戶端程序中應(yīng)在loop()中定期調(diào)用它。5.2 網(wǎng)絡(luò)異常處理與重連機(jī)制工業(yè)環(huán)境下的網(wǎng)絡(luò)并非永遠(yuǎn)穩(wěn)定。路由器重啟、網(wǎng)線松動(dòng)、交換機(jī)故障都可能導(dǎo)致鏈路中斷。一個(gè)健壯的程序必須具備網(wǎng)絡(luò)異常檢測(cè)和自動(dòng)恢復(fù)能力。心跳機(jī)制與連接健康度檢查 對(duì)于客戶端除了檢查client.connected()更可靠的方法是定期例如每30秒通過(guò)連接向服務(wù)器發(fā)送一個(gè)小的“心跳”數(shù)據(jù)包比如一個(gè)換行符或特定的“PING”字符串并期待一個(gè)“PONG”回應(yīng)。如果在若干次重試后仍無(wú)回應(yīng)則判定連接失效執(zhí)行client.stop()并嘗試重新connect。unsigned long lastHeartbeat 0; const long heartbeatInterval 30000; // 30秒 void loop() { // ... 其他邏輯 ... if (client.connected()) { if (millis() - lastHeartbeat heartbeatInterval) { if (!sendHeartbeat()) { // 自定義的心跳發(fā)送/檢測(cè)函數(shù) Serial.println(Heartbeat failed, reconnecting...); client.stop(); delay(1000); // 嘗試重新連接 } lastHeartbeat millis(); } } else { // 嘗試重連邏輯 attemptReconnect(); } }鏈路中斷檢測(cè)W5500的硬件中斷引腳INT可以配置為在連接斷開(kāi)等事件時(shí)觸發(fā)。你可以將此引腳連接到Wio Terminal的一個(gè)外部中斷引腳并在中斷服務(wù)程序ISR中設(shè)置標(biāo)志位在主循環(huán)中處理重連。這比軟件輪詢更加及時(shí)。5.3 典型問(wèn)題排查流程當(dāng)你發(fā)現(xiàn)Wio Terminal無(wú)法通過(guò)以太網(wǎng)通信時(shí)可以按照以下步驟排查物理層檢查電源用萬(wàn)用表測(cè)量W5500模塊的VCC引腳確認(rèn)是穩(wěn)定的3.3V。電壓不足會(huì)導(dǎo)致芯片工作異常。連接檢查所有杜邦線或焊接點(diǎn)是否牢固。SPI總線對(duì)接觸不良非常敏感??梢試L試重新插拔。網(wǎng)線與路由器換一根已知好的網(wǎng)線將模塊直接連接到路由器LAN口排除中間交換機(jī)故障。軟件與配置檢查引腳定義反復(fù)核對(duì)代碼中的W5500_CS_PIN、W5500_RST_PIN是否與實(shí)際硬件連接一致。這是最常見(jiàn)的錯(cuò)誤。MAC地址沖突確保局域網(wǎng)內(nèi)沒(méi)有其他設(shè)備使用了相同的MAC地址。嘗試修改MAC地址的最后一位。IP地址沖突如果使用靜態(tài)IP確認(rèn)該IP沒(méi)有被路由器分配給其他設(shè)備??梢試L試在路由器后臺(tái)查看DHCP客戶端列表或者使用一個(gè)非??亢蟮腎P如.200以上。防火墻如果作為服務(wù)器確保電腦防火墻沒(méi)有阻止對(duì)Wio Terminal IP端口的訪問(wèn)。診斷工具使用Ping測(cè)試在網(wǎng)絡(luò)連通后第一時(shí)間從電腦pingWio Terminal的IP地址。如果能ping通說(shuō)明鏈路層和網(wǎng)絡(luò)層IP是通的問(wèn)題可能出在應(yīng)用層端口、服務(wù)器程序。串口輸出充分利用串口打印調(diào)試信息。在初始化、連接、發(fā)送、接收的每個(gè)關(guān)鍵步驟都打印狀態(tài)信息。Ethernet3庫(kù)的Ethernet.hardwareStatus()和Ethernet.linkStatus()函數(shù)可以返回硬件和鏈路狀態(tài)非常有用。網(wǎng)絡(luò)抓包對(duì)于復(fù)雜問(wèn)題可以在電腦端使用Wireshark等工具抓包查看TCP握手SYN, SYN-ACK, ACK是否成功數(shù)據(jù)包是否被正確發(fā)送和確認(rèn)。這是定位網(wǎng)絡(luò)協(xié)議問(wèn)題的終極手段。庫(kù)與兼容性如果你從Ethernet庫(kù)切換到Ethernet3庫(kù)或者更新了庫(kù)版本有時(shí)需要完全清理并重新編譯項(xiàng)目Arduino IDE: 項(xiàng)目 - 清理項(xiàng)目。檢查是否有其他庫(kù)與以太網(wǎng)庫(kù)存在沖突特別是那些也使用SPI或定時(shí)器的庫(kù)。為Wio Terminal添加以太網(wǎng)能力實(shí)質(zhì)上是為其賦予了工業(yè)級(jí)通信的可靠性。這個(gè)過(guò)程涉及硬件接口、底層驅(qū)動(dòng)、網(wǎng)絡(luò)協(xié)議和應(yīng)用邏輯多個(gè)層面。從選擇硬件協(xié)議棧芯片W5500開(kāi)始到正確連接SPI總線再到選用功能更完善的Ethernet3庫(kù)每一步的選擇都影響著最終項(xiàng)目的穩(wěn)定性。在代碼層面處理好連接狀態(tài)管理、異常重連和資源釋放是構(gòu)建長(zhǎng)期穩(wěn)定運(yùn)行設(shè)備的關(guān)鍵。最后掌握一套從物理層到應(yīng)用層的系統(tǒng)化排查方法能讓你在遇到問(wèn)題時(shí)快速定位而不是盲目地修改代碼。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
五月婷婷激情| 婷婷丁香九月| 91老熟女91老女人| 欧美色图中文字幕| 日韩欧美视频青青| 开心五月激情网| 免费一级特黄特色大片在线观看看| 欧美黑人91| 另类综合另类| 九九亚洲视频| 91精品综合久久久久久五月丁香| 日韩精品 视频一区二区| 日韩啪啪视频| 超碰九7免费| 偷拍导航视频网站| 探花精品视频| 亚洲欧美97√| 超碰97人人乐| 东京热熟女亚洲视频网站| 97色伦欧美| 99激情视频| 久久精品中文字幕无码l| 曰韩人妻中文字幕在线| 91久久国产精品| 久久人妻少妇| 丝袜高跟澳门91视频| 一区二区三区蜜桃成人撸久久东京热 | 男人精品区| 美女91色黄18| 2019午夜福利视频| 91美女看B| 久久夜色一区二区| 亚洲激情色片| 九九九九九九九九九九九九九九九女| 操逼精品视频| 熟女网站最新| 任你干在线视频| 精品性爱久久视频| 啪啪啪男女亚洲中文字幕99| 日日骚av| 嫩草在线视频| 手机看片1024你懂的国产| 3P乱轮视频| 久久亚洲AV成人精品无码| 岛国免费黄色网址| 中国国国产一级特黄毛片| 久久九九国产精品| 盗摄 精品 另类 一区| 91Chinese在线| 99久在线精品99re8热| 欧美做爰无码A片视频| 久久久免费的精品| 99性爱视频| 中文字幕人妻丝袜| 青青草啪啪网| 日韩成人人妻网站| 2017天天插| 绯色一区二区三区不卡少妇 | www.zbzhongsen.com| 色区久久| 熟女天天干| 精品9999| 91老熟女| 多乙久久久久久| 狠狠操综合| 亚洲国产精品久久久久婷婷青年| 3级毛片一二| 欧美性xxxxx狂欢| 极品综合| 婷婷久久五月天| 人人澡人人爽人人精品| 粉嫩av一区二区三区四季| 日日骚av| 人人看人人爰人人操| 婷婷激情综合网| AV天堂丝袜| 欧美色图片欧美色图| 男人久久天堂| 艳美熟妇先锋一二三区| 欧美日韩精品久久久久东北老熟妇| 久九九九九九九九热| 国产捆绑一区| 中文字幕 国产区| 欧美日日夜夜| 久久东京热久久| 黄色AAAAA欧美| 日本特黄f c2| 天天网综合| 国精精品无码一二三区水多多| 91精品黄在线观看| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 欧美在线伊人色| 亚洲自拍青操视频| 黄色AAAAAAAAAAA大片| 婷婷色色五月天| 密臀视频一区二区三区| 色欲三区| 日日干日日操五月天伦理视频| 蜜臀99久久精品久久久久久| 乱伦av麻豆| 欧美性战999| 97天天| 欧美性爱三区二区| 秋霞福利网| 高清国产无码av| 成人欧美一区二区三区黑人一| 欧美亚洲涩涩| 一区操逼日比视频| 伊人一区二区三区| 国产二区视频在线观看电影| 91色黑人少妇| 91大神精品长腿在线观看网站| 人人操人人狠狠操| 99在线精品观看视频中文| 超97在线精品视频| 欧美极品少妇| 凸凹视频在线观看| 啊啊啊男女| 日韩乱中文 | 国产亲戚伦亲在线| 91青青在线视频| 国产h片在线观看视频| 大香蕉男人的天堂| 精品亚洲国产成人av网站| 久久久熟妇熟女国产| 国产9 9在线 | 亚洲| AV一二区| 思思在线免费视频| 亚洲国产精品无石码久久| 综合网欧美在线| 天天看天天日天天操| 爆乳免费黄网站| 午夜小电影在线插入淫高潮 | 三级精品三级在线观看| 久久少妇视频| 婷婷激情五月天小说网| 国产尤物在线三区| 翘臀vidoes| 伊人专区一区二区三区| 色综合99999| 精品国产肉丝袜在线拍国语| 亚洲性高潮| 蜜臀AV成人精品蜜臀AV久久| 狼狼色丁香久久婷婷综合五月| 97 国产一区| 一区二区三区 日韩欧美| 一本色道久久综合狠狠操| 天天爽天天操| 日韩人妻无码专区| a级成人毛片免费视频高清| 97中文综合| 电影69乱码96| 在线观看精品国产免费| 尤物网站91| 综合97亚洲| 久久久97| 在线看的av| 成人国产二区三区在线,男女精品。| 日韩成人色图| 日韩视频啪啪| 秋霞 色色| 中文字幕精品三级久久久| 亚洲无套久久嗯嗯| 久久精品中文字幕观看| 97se亚洲综合自| 自拍视频大全亚洲专媒视频/一区二区三区 | 漂亮人妻被强中文字幕hd| 操九九九九九九| 秋霞无码av鲁丝片一区| 亲子敌伦对白在线播放| 激情综合 婷婷五月 红杏| 久久AV无码1区2区3区| 在线观看国产黄色| 国产三级资源在线观看| 东京热男人的天堂| 国产精品麻豆成人av| 91熟女视频网| 白丝在线一区| 97超碰逼| 怡红院视频在线| 狠狠色色| 国模精品娜娜一二三区| 大香蕉免费乱伦视频| 久96热在线观看视频| 国产精品电| 精品国产一区二区三区久久久蜜臀| 丁香五月AV| 一级久久性爱视频| 欧美日韩亚洲一区二区在线观看| 91精品微拍福利| 日韩在线观看三级电影| 国产91av在线播放| 欧美日韩精品一区二区三区高清| 波多野结衣先锋影音| 99无码狠狠久久| AV女资源| 中文字幕一区二区三区人妻不卡| 不卡在线观看视频| 9久久精品| 亚洲综合首页| 性夜影院爽黄A爽免费动漫| 97超碰欧美手机在线| 伊人色综合欧美| A啊啊在线观看| 日韩内射视频| 97内射偷拍| 国产精品老熟女一区二区| 久热无码| 国产丰满熟夫69mpp| 亚洲人妻熟妇三十三区| 久久久久久91香蕉国产| 国产第二页| 久久大精品乱码视频人妻熟女| 黄色十八禁网站| 91爱看| 操91| 国产国产亚洲一二三久久| 大香交| 91麻豆天美国产欧美高潮| 玖玖爱视频网站| 国产91美女视频| 麻豆精品.欧美精品.日韩精品.| 欧美美逼| 2024年最新色情网站在线观看 | 夜夜肏2021| 一本一道人妻久久一区二区三区 | 久久春色| 国产亚洲深夜激情| 爱av免费| 99热色这里只有精品| 色五月69夫妻| 国产成人五月天丁香花| 91国产操逼视频| 成人精品一区二区91毛片不卡| 超碰人人超在线观看| 天天日日夜夜| 亚洲免费97免费| 久久风骚城市| 亚洲国产成人7777| 亚洲中文字幕网| 后入内射蜜桃臀| 日韩综合97P| 97美日韩视频| 欧美 日韩 亚洲 春色| 全免费a敌肛交毛片免费| www.色99| 96国产污污污丝袜| 97视频免费| 欧美极品性爱天天射| 亚洲综合婷婷| 人人搡人人肉久久精品| 天啪| 操逼操操操91| 亚洲欧美另类少妇精品| 综合熟妇一区二区三区| 天天干夜夜操网| 久热久一区二区三区| 国产视频大全| 日韩字幕一区| 亚洲 中文 女同| 夜夜青青无码影院| 综合av社区| 日韩AV电影网站| 玖玖大干人妻| 探花一区二区三| 青青11操操操操操操操操| 黄站在线免费观看| 久久成人国产| 日本一天色道久久久精品视频| 蜜臀99久| 久久亚洲av成人无码国产| 亚洲少妇色图自慰直播| 成人午夜高潮av猛片| 国产原创剧情在线丝袜| 天天影视之亚洲综合网| 被男人添B超爽视频| 欧美一区91大爱| chaopen97久久| 做爱A级亚欧| 色91综合网| 欧美色人| juliaann精品熟女一区| 白嫩少妇| 97视频观看| 97亚洲欧美| 大香蕉婷婷| 97精品人妻一二三四| 国产一区二区av综合| 91路www| 久久无码成人| 熟女91网| 99人人干| 国产成人91一区二区三区| 69精品少妇一区二区三区蜜桃| 精品国产乱码久久久影院| 国产18精品亚洲精品| 亚洲熟女乱色一区二区三区久久久| .精品人妻一区二区三| 中文乱码99| 国产精品福利视频播放| 91激情网| 国产在线视视频有精品| 青青草公开在线免费不卡视频| 国产小u女在线观看| 综合色久欲| 大伊香蕉在线视频免费| 91岛国动作片| 上床不卡网站| 五月天婷精品激情| 超碰美国| 91视频成人福利网站在线一区 | 色噜噜国产在线| PMv在线观看| 蜜臀AV成人精品蜜臀| 亚洲天堂AV在线播放| 亚洲色图伊人网| 欧美强奸一区二区诱惑| 91综合网在线| 久久久久久久久久久999| 久久久久久久久成人av解说| 亚洲熟女av中文字幕| 中文字幕 一区二区 亚洲无码| 亚洲精品成人动漫在线| 91精品久久久久久| 日韩99999色| 成人日韩3| 天美传媒精品久久视频| 狠肏骚人妻| 国产精品蜜乳AV| 伊人操| 曰本91情色| 99久久9| 九九热久久99精品re| 国产中午字一暮区| 秋霞午夜视频一区二区| 色墦五月丁香| 精品国产肉丝袜在线拍国语| 国产兽交视频在线播放| 伊人天天久久动态图| 亚洲日韩东京热一区| 欧美色图天堂在线| 国人欧美精品一区二区| 久久久新亚洲AV| 青青草AV色| 97超碰逼| 大稥蕉免费视频这里只有精品| 一级片在线观看高清无码| 超碰97国产欧美| 青青伊人久久| 日本日日色视频| 久热91| 欧美国产欧美在线观看| 亚洲本色精品一区二区久久| 四季av一区二区凹凸精品小说| 超碰碰97| 中文字幕日韩精品一区二区三区| 日产狠狠干| 欧美专区日本专区| 国内亚洲精彩视频在线| 2019久久久久久久久福利| 日夜伊人网| 97 国产精品| 色综合20p| 岛国人妻少妇av在线观看| 亚州色图第三区| 欧美一级黄片免费播放| 女人喷水视频在线观看| 91在线精品| 亚洲成A∨人影院在线欢看| 国产日韩欧美中文在线播放| 国产午夜福利专区综合| 美女被啪到深处抽搐视频| 超碰97综合在线| 国产视频97| 9ⅰ久久久天天| 蜜臀久久精品久久久久视频| 亚洲国产青青| 福利大香蕉| 人人摸人人舔一区二区| 日韩淫色网| 亚州大图综合色图| AV中文字幕三四五| 超碰97精品| 神马久久午夜| 乱伦一二三| www.黄色在线| 天天碰久久入| 91麻豆天美国产| www.97在线| 男人的天堂成人的社区| 麻豆区99999| 91国产丝袜足交精品视频| 极品五月天噜噜| 亚洲丝袜色| 国产精品青青草| 欧美日本久久精品一区| 蜜桃臀一区二区三区久久| 久久久熟女一区| 久久久78| 国产激情视频一区区三区| 蜜臀一区二区三区在线| 无码高清少妇久久| 无码国产精品久久久久| 99性爱| 久久久999网站| 国产超碰在线一区| 老色鬼成人精品视频下载大在线观看| 欧美色性情| 免费AV中文网在线观看| 97在线观看播放视频| 国产AV久久野战精品| 国产一区二区三区精品观看啪| 国产毛片精品一区二区色欲黄A片| 午夜精品一区二区三区三上悠亚| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 午夜呻吟欧美| 日韩色女精品| 97视频在线| 午夜福利免费福利视频| 日韩亚洲美女一区久久| 青久久| 亚洲欧美综合| 精品国产久热在线观看| 国产午夜视频| 国产 日韩,欧美 自拍| av在线不卡一区二区三区| 99综合免费视频| 亚洲av热热色| 欧美啪啪色吧在线| 婷婷久久五月| 亚洲天堂日本| 亚洲av综合伊人久久| 极品色www影院| 中文字幕88av在线| 九九AV| 亚洲Av无码成人精品国产| 99久久无色码| 欧美 亚洲| 国精精品无码一二三区水多多| 国产女上位好爽在线| 欧美色图在线视频少妇| 国内毛片国产欧美拍| 99在线免费观看| 毛片麻豆91糖心精品毛情片| 人人操人人干xxx| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 中文字幕伊人| 91搞逼视频| 超碰97起碰| 91插B网站| 国产欧美一级在线观看| 91jk色拍| 午夜乱轮操逼视频免费看| 国产乱码久久| 亚洲熟女人妻中文字幕一区二区| JULIA一区二区三区在线播放| 欧美成人色| 欧美性生活免费网| 青春草A| 2019精品国产无码成人| 人妻夜夜爽天天爽麻豆三区网站| 国产精品久久久久久久久久久久久久| 亚洲欧美日韩夜夜| 性色高清..……| 精品国产人成在线| 久久久久极品| 婷婷视频网| 风间由美日韩欧美久久| 强奸a片网| av天堂加勒比| 淫淫总合网| 97香蕉网| 秋霞午夜视频一区二区| 日韩无码三级影院| 另类老少妇| 国产成人+综合亚洲+天堂| 亚洲欧美天| 五月丁香综合激情| 精品视频一区二区| 天天享受天天看| 26UUU欧美激情一区二区| 18禁久极品美女久久哦哟呀!| 日本狂喷奶水在线播放212| 亚洲激情天堂网| 欧美不卡二区| 久久久亚洲精品中文字幕人妻| 91丨九色丨43老版熟女| 精品九九| 欧美中字不卡| 亚洲操操| 九九精品无码专区免费| 人人操人人精品影片| 亚洲操操操| 肉动漫无遮挡h在线观看| 97久久久精品| 中文字幕日本久久| 99久久精品国产系列| 色网在线| 极品五月天噜噜| 日本性爱欧美性爱| 亚洲人妻爽爽爽| 亚洲棕合电彰| 超碰av在线| 成人小说另类在线| 人妻另类| 亚洲成人妻日韩在线| 五月丁香六月婷| 福利视频香蕉免费一区二区在线| 学生妹天天看| 欧美制服网站美腿丝袜| 亚洲成?V人片在线观看福利| 欧美一级在线观看成人| 美女骚尻视频| 亚洲激情 欧美色图| 欧美网站免费| 国产精品视频自拍在线| 亚洲人妻五月丁香婷婷| 人人爽人人精品乱人伦AV| www.天天干| 亚洲色色探花| 天天射天天操天天干天天吃2018| 嗯嗯啊啊啊好爽| 久久久国产精品亚洲精品| 老女人爆菊| 97最新在线播放视频| 91视频伊人| 一起草视频在线| 亚洲欧美日韩中文久久自慰| 久久久久久久久久久久久久久乱码| 人妻激情偷乱视三区频一区二区| 另类TS人妖一区二区三区 | 精品一区二区三区蜜桃臀赵总| 国产精品自拍xxxx| 久久久久久99AV无码免费网站| 国产美女高潮视频| 亚洲色综网| 国产小炒后入式| 91女在线观看| 殴美牲| 天美麻花大全视频| 国产色呦呦| 操逼片国产| 黄人人操人人操| 国产品精品自在在线午夜免费| 蜜臀久久99精品久久久久久成人小说| 国产精品一级二级在线| 热久久国产精品视频大陆精品| 久久久久久久久久久97| 五月丁香啪啪| www.99热| 日韩欧美视频青青| 久久色人体| 夜夜肏2021| 99亚洲精品| 久久女人一区二区三区| 2010男人的天堂| 五月丁香综合| 99热色这里只有精品| 97亚洲综合电影| 后入 亚洲 美女 射| 激激五月| 超碰97色色| 欧美日韩亚洲天堂网| 亚洲综合99999| 亚洲综合校园春色| 欧美同性恋 的搜索结果 - 91n| 91在线一起| 大香蕉视频啪啪啪啪| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 97久久免费| 亚洲精品1区| 99精品丰满人妻无码| 日日玩天天干| 九九热九九| 日韩性爱免费观看视频| 国产高清在线观看欧美| 人妻熟女av国产网站| 这里只有精品视频| 97爱欧美| 久久9999 | 密臀在线免费观看| 欧美91丝袜| 超碰九九| av网站在线看| 91成人在线免费视频| 丁香六月啪啪| 西西美女视频网| 五月天九九日国产精品一区二区三区| 日日夜夜免费| 无套内射人妻在线播放| www.99视频| 色盈盈影院| 国内精品久9| 久久超碰国产一区二区三区| 男人a天堂手机在线版| 狠狠综合| 啊啊啊不要嗯嗯在线观看| 亚洲成人ab| 天天综合网日韩7799| 久久女人一区二区三区| 亚热日本熟女| 97日韩| 在线中文字幕极品av| 91亚洲黑人| 一区超碰一区| 色综合久久av| 久久熟女人| 中文字幕精品三级久久久| 色色毛片| 九九在线视频| 一摸二插三插| 少妇一区二区三区高速| 欧美第一页性| 理论久久婷婷网8| 色婷婷视频| 97色欧州| 秋霞网无码| 国产激情视频在线观看| 欧洲亚洲人人爽爽视频| 视频一区二区三区精品| 91人人爽人人爽| 蜜桃臀av一区二区| 精品性爱一区二区| 丝袜美女诱惑 91 视频| 蜜乳视频网站| 日韩紧密久久| 亚洲一区二区在线观看91| 天天综合网站| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 久久草草亚洲蜜桃臀| 开心激情婷婷| 97这里有精品| 依人大香蕉| 97ai亚洲| 六月天婷婷| 99热这里都是精品| 色色色五月婷婷| 人妻少妇无码| 91超碰人人操| 91美女片在线| 五月综合久久| 91青青草| 亚洲AV免费在线观看| 亚洲精品久久久久久久蜜桃臀| 91狠狠综合久久久| 伊人麻豆传媒| 亚洲色图激情小说| 青娱乐淫乱1314| 午夜天堂网| 秋霞成人一级在线观看| 天天色怡春院| 国产成人无码高清| 超碰人人干天天射| 亚州国产精品乱| 色五月AV| 久久精品视频28| 国产中文大片资源中文字幕| 亚洲蜜臀视频精品久久| 91干熟女| 亚洲精品97久久| 天天操av懂色| 370p日韩欧美亚洲精品| 激情情色五月天| 五月天开心网| 欧美精品久久久久久久丰满| 麻豆精品天美| 爱我干综合| 久热一区二区| 九九九九九九九九九五码| 日本女优在线视频福利| 日本二三四区| 久久久久久久久久黄色网| 国产精品探花在线| 起碰97| 99精品人人爽| 五月天婷婷基地| 一级做a爰片性色毛片久久| 情侣操 逼视频99| 久9热| 日日操免费视频| 久久人妻一区二区三区高清| caorenqi shipin| 国产精品一区二区亚洲人成毛片| 91热色| 极品粉嫩一区二区| 亚洲熟女中文字幕在线| 亚洲 欧美 精品专区 极品| 超碰免费欧美7| 极品丝袜无码| 怡红院一区二区熟女人妻| 男人天堂网站| 一本色道久久综合亚洲二区三区| 97色在线观看| www.人人cao| 中文字幕精品免费一区二区| 一级免费精品| 丰满搜索结果 -第18页- 久久高清无码| 丰满人妻大屁一区二区| 搡老熟女免费视频| 国产精品久久久亚洲第一牛牛_在线观看 | 99这里有精品| 国产成人无码久久精品| 黄片视频,下载| 亚洲丝袜诱惑| 91欧美少妇| 熟妇高潮一区二| 99国内精品| 超碰在线看| 亚洲图片日本AⅤ欧美在线| 麻豆尤物视频网| 青操影院| 超碰在线97国产| 人妻精品综合中文字幕在线 | AAA久久| 中文字幕亚洲热播人妻| A级国产欧美激情在线| 欧美性爱一区二区三区| 伊人在线大香蕉视频久久| 婷婷色香| 日日日啊啊啊| 热天堂一区二区| 私色综合网| 日日操天天操| 丁香五月激情啪啪| 噜噜噜无码AV一级一级久久影院| 亚洲高清无码在线桃色| 人妻献身系列第54部| 中文AV制服乱伦| 日本成人在线不卡一区二区三区 | 久久激情视频| 国模精品娜娜一二三区| 人妻中文字幕日韩电影| 操逼啊啊啊91| av日韩手机在线影视| 操逼国产免费| 东京热男人的天堂精品| 最新三级网址| 乱伦图一区| 成年女人黄网站| 午夜啪啪片| 蜜乳AV一区二区三区四| 操逼视频免费日韩无码| 92人人操人人| 91久久久久久久| 天天操天天插| 蜜臀精品1区2区| 97久久超碰国产网站| 91久久伊人婷婷青青草| 国产美女激情| 久草线上视频免费看| 久久久久久无码人妻中文字幕| 白嫩妹子国产骚| 欧美色97| 99久久无码| 91午夜无码| 国产精品一区二区 尿失禁| 亚洲黄色影视| 91久热这里只有精品| 中文乱码99| 亚洲一区制服诱惑| 精品国产乱码久久久| 好爽免费视频| 成人a级高清视频在线观看| 欧美,日韩综合久久| 熟女被操视频网址| 久久久艹艹艹| 97超碰精品成| 加勒比中文av| 蜜臀AV秘一区翔田千里| 91在线精品| 69超碰综合| 97欧美色资源| 无套后入双马尾| a片 xxxx受爽视频| 黄页网站免费高清在线观看| 玖玖婷婷五月天| 宅男91视频在线播放| 狠狠色一区二区中文字幕| 另类图片五月天| 久久久久久久强迫| 中文字幕123| 青青青操| 日韩无码服务区| 操屄日韩| 国产99热| 伦在线97| 九九久久玖玖| 国产色呦呦| 99啪啪视频| 91黄射| 男女猛烈无遮掩视频免费软件| 亚欧国产无码精品在线| 国产性感在线观看| 无码二级三级| 岛国黄色短视频| 高清不卡国产| 中文字幕乱妇免费视频| 在线无码网站| 99国产精品人妻人伦| 日韩人妻精品| 岛国在线免费视频| 精品国产乱码久久久久久影片| 97在线资源| 超碰免费人妻人人| 亚洲欧洲偷拍一区| 俺去啦自拍| 搡老女人老妇女AAA一VU麻豆| 碰碰在线视频| 99久久久| 美女黄频a美女大全免费皮| 国产精品 午夜福利| 中文字幕精品码亚洲| 999国产精品999| 精品九九九九九九九九九| 九九九色| 黑操B| 丝袜 中出 制服 人妻 美腿 中文字幕| 色色色欧美| 亚洲第91页| 欧美一级美片在线观看免费| 亚码激情| 九热久| 亚洲va综合va国产va中文| 日韩无码服务区| 色呦呦呦在线观看视频| 啊啊啊啊操死我了| 精品久久久久久AV无码| 少妇蜜汁| 91精品国产91久久青草| 美女诱惑爱爱| 国产精品网址| 欧美日韩夜夜| 亚洲学生妹高清av| 淫色网综合| 国产亚洲色婷婷久久99精品91 - 百度 | 亚洲欧洲久久天堂| 国产一级特黄大片处女| 国产精品suv一区| 久久69精品久久久久久久| 性色中出| 亚洲一区二区三区中文字幕| 久久九精品| 秋霞影音一区二区三区| 91精品免费| 极品白嫩美女白浆成人福利在线看| 国产丸一视频| 日本精品第一视频在'| 51一区二区三区| a在线视频免费观看| 欧美综合1性辶| 91人人看| 久艾草在线精品视频在线观看| 1204av韩国| 国产精品久久久久中文字幕| 天操天操夜操夜月月年年操操| 在线看免费无码AV天堂的| 啊啊啊啊嗯嗯在线久久久| 九九九九久久久| 亚洲影院无码在线| 久久少妇人妻| 99精品在线| 欧洲性爱无码区| 性爱AV天堂| 婷婷精品视频| 91看黄片| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 国产高清亚洲日韩一区| 欧美日韩资源在线| 国产一区二区精品久久99| 国产日韩美女小穴视频网站不卡| 欧美性天天影视| 51久久夜色精品国产麻豆| 久久久免费懂色| 黑丝少妇| 艹精品| 亚洲色电影在线| 三上制服丝AV| 久久露脸国产老熟女| 一级黄色性爱裸体视频| 91男人天堂网| 嗯嗯,啊啊,国产精品| 免费看A片毛毛片在线播| 美女9118禁| 久久熟妇五十路一区| 丁香五月激情综合国产| 一级性爱视频免费在线| 日韩欧美天堂| 黄总AV色图| 综合久久婷婷| 人人 操人人 操人人| 97综合激情| 日日骚精品视频| 亚洲精品久久久久久久久豆丁网| 久久一级无码精品毛片6| 97在线视频观看| 成人夜夜| 亚洲综合九| 色婷婷aV一区二区三区麻豆综合| 亚洲AV无码久久久国产精品| 激情小说日韩无码| 日本一区二区三区四区五区六区七区八区九区 | 欧美日韩资源| 五十路熟女,国产欧美精品区一区二区三区| 精品99999久久久久久| 五月丁香社区婷婷日韩欧美精品影院 | 1024人妻熟女一区二区三区| 黄色无码高清黄色无码网站| av2014 日韩在线中文字幕| 欧美 日韩 另类 亚洲| 伊色综合天堂色97| 亚洲高清在线| 深田咏美亚洲精品福利社| 成人a级高清视频在线观看| 欧美后入| 亚洲毛片基地专区| 天天综合网在线91| 高潮9999外国| 90后后入| 亚洲伊人青青草| 日韩淫色网| 欧美激情久久久久| 精品美女少妇一区二区三区| 欧美在线伊人色| 后入内射蜜桃臀| 大鸡吧尹人在线| 天堂av2019| www.97在线| 91黑丝少妇| 狠狠久久四虎| 人妻天天爽夜夜爽爽| 国产精品久久久亚洲一区| 五月天激情婷婷| 激情深爱五月天| 五月激情综合网| 国产按摩一区二区三区| 婷婷中文字幕| 久久久久免费少妇| 偷拍伦理视频| 精品久一区免费| 日韩AV一区二区三区三州三州| 人妻精品综合中文字幕在线 | 天美一二三在线观看Av| 东京成人一区| 成人一区二区三区四区| 黑人与人妻| 国产免费一区| 97人人夜| 精品人妻一区二区三区四区不卡在| 中欧人妻丝袜中文字幕| 国产精品午夜AV完会免费| 99精品国产户外露出| 手机看片日韩人妻| 色yeye成人免费视频| 欧美一区二区亚洲天堂| 99色在线| 97人亚洲综合字幕| 精品人妻一区二区三区视频| 伊人少妇久久久| 97亚洲综合在线| 91丝袜在线观看| 中文字幕一区二区三区四区在线视频| 密乳无码| 综合久久婷婷| 综精品久久久aaaa| 性交一区二区在线播放| 91痴汉| 热99这里有精品综合久久| 国产a片操逼| JULIA一区二区三区在线播放| 婷婷五月在线视频| wwe 天天干.com| 久久9精品网站| 人妻少妇精品久久久久久久| 99e久久国产精品| 欧美综合区| 欧洲乱码一区二区| 国产人伦精品一区二区三区| 欧美色图99| 天天日天天操天天射河南省| 93人人操人人| 男人的天堂,欧美亚洲另类国产日韩,日本高清一区二区 | 欧美日动态视频| 日韩欧美三级| 亚洲无码太久| 99色在线| 在线情色电影 91大| 一起草视频在线| 精品一区二区成人| 18精品一区| 欧美性少妇| 91av一区二区在线观看| 欧美久热| 97国产伦理| 中文字幕在线免费观看2| 成年人一级黄色毛片大全在线观看| 97天天搞在线| 色九九九九九九| 成年人三级黄色片视频| 夜夜爽爽爽| 97操97干| 岛国AB视频| 欧美熟妇人体| 美女91在线| 日韩中文字幕在线视频观看| 欧美成人亚洲精品| 97在线看| 99热99在线| 97久久国产亚洲精品超碰热| 亚洲欧美国产中文视频| 九九热最新| 草B在线| 家庭乱伦网站国产| 国产精品亚洲四五区在线观看| 啊啊啊久久| 97久久久| 中日992视频| a天堂视频| 欧美与日韩97| 黄色av网站在线播放| 蜜桃中文字日产乱幕4区| 欧美天天干| 色婷婷丁香五月| 青青草大香蕉视频| 青青草丝袜在线视频| 欧美青青草视频| 欧美东京热精品A∨| 超碰久久草| 一本大道不卡一二三区| 少妇三P| 中文字幕日韩电影人妻| 97欧美精品综合| 亚欧无码线免费观看视频| 久久久久久夜夜夜夜夜| 久久精品人妻一区| 中文字幕av色| 尤物av网站免费在线播放| 综合网,亚洲,欧美| 久草加勒比一区在线| 精品久久青青草| 亚洲啪啪综合?v一区综合精品区| 天天影视网综合少妇| 免费国产视频| 国精品一区二区三| 欧美日韩午夜精品一区二区三区| 天天综合影院91| 日本操逼视频不卡直接放| 色色99| 韩国午夜理伦三级好看| 97操综合| 亚洲综合色网| 久草加勒比一区在线| 久九九九九九九热| 日本欧美一区二区三区视频麻豆| 国产精品熟妇一区二区三| 国产区91柔拿会所技师| 青草伊人久久| 中文字幕 人妻不满 在线视频| 欧美色图20p| 老师充足的奶水小说| 国产精品爽爽v| 亚洲色棕合| 3571色综合一区二区二区| 国产在线视频午夜精华在| 亚洲日韩青青草色月| 成人aⅴ一区二区三区| 少妇熟女视频一区二区三区| 亚洲精品色| 色欲三区| 99热这里只有精品1| 97色伦欧美| 国产精品干干干| 欧美综合色图网| 成人色女网| 一区二区娱乐网站| 久久久久久网址| 中文熟女五十乱码在线| 五月丁香六月| 久久首页| 超碰97男女| 中出789在线视频| 九九Av| 五月天久久综合网| 深喉吞精| 久久久久78| 久久极品一区二区| 你想操日本小逼吗| 久久久久99999| 久久久久久久六六 | 欧美午夜熟妇黑人精品91| 99热免费| 欧亚在线视频| 美女操逼A A| 久久日韩肥臀| 北条麻妃性愛视频| 亚洲,欧美,春色,另类| 成年女人黄网站| 深夜福利黄片| 精品丰满熟妇人妻一区| 青青草精玖玖69精品| 91久久久久久| 日韩中文字幕人妻视频| 97干在线| 国产伊人精品在线| 欧美91网站| 日本淫色网| 91一区二区| 亚洲欧洲国产综合av| 国产第12页| 极品另类| 欧美78P| 欧美色交| 亚洲熟女少妇免费视频| 欧美在线55555| 男人下部插入女人下部| 日韩成人精品中文字幕| 一区二区影院| 囯戸精品高潮呻吟旡码| 操国产高清| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 日韩黄色成人性爱| 亚洲成人无码影院| 最新av网站在线观看| aa片毛片| 久久久久久97| 婷婷色香伊人| 久热这里只有精品9| 夫妻AV网站| 中文字幕精品三级久久久| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 立川理惠被中出无码| 香蕉人欧美综合| 日韩无限资源| 激情小说亚洲| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 久久透逼视频| 伊人在线大香蕉视频久久| 日本999精品| 国产成人主播| 亚洲限制级| 久久99草| 超碰久在线天天做| 日韩精品系列| 国产高清在线自在拍69| 九九九九九九免费视频| 人人爽夜夜玩视频| 熟妇一区,二区,三区。| 夜夜爽夜夜摸夜夜操免费视频| 欧美第一页| 大香蕉99re| 96久久久久| 9久在线视频只有精品| 日韩欧美亚洲自拍偷拍| 日本一级特级毛片视频| av毛片aaaaa免费看| 中文字幕美女91| 岛国网址国产 | 欧美手机在线综合| 超碰97男女| 成人国产视频在线观看|