看板 Programming 關於我們 聯絡資訊
各位先進們大家好~ NodeMCU ESP8266 透過Http協定,連線到本機Docker 上面的EMQX,確認Http溝通是否正 常,目前wifi可以正常連線,但HTPP連線失敗? 皆在本機執行,請問那種情況下可能會造成這些錯誤? https://imgur.com/a/MoFdCC6 以下為程式碼 ====================================== #include <ESP8266WiFi.h> #include <ESP8266HTTPClient.h> const char* ssid = "xxx"; const char* password = "xxx"; WiFiClient wifiClient; // Create a WiFiClient object HTTPClient http; // Declare the HTTPClient object here // Replace with your EMQX server URL (without the trailing slash) //const char* emqx_server = "http://xxx.xxx.xxx.xxx"; //priviate ip const char* emqx_server = "http://xxx.xxx.xxx.xxx"; //public ip? void setup() { Serial.begin(115200); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("Connecting to WiFi..."); } Serial.println("Connected to WiFi"); // Your other setup code here... } void loop() { // Check if WiFi is still connected if (WiFi.status() != WL_CONNECTED) { Serial.println("WiFi connection lost. Reconnecting..."); WiFi.reconnect(); } // Check if HTTP connection is still active if (!wifiClient.connected()) { Serial.println("HTTP connection lost. Reconnecting..."); http.begin(wifiClient, "http://172.17.0.2:18083"); // Use any valid UR L for testing int httpCode = http.GET(); if (httpCode == 200) { Serial.println("HTTP connection re-established."); } else { Serial.println("Error reconnecting to HTTP server."); } http.end(); // Close the connection } // Your other loop code here... delay(1000); // Adjust the delay as needed } 因上述問題已苦惱多天 在此請教各位前輩~ 非常感謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.250.15.80 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Programming/M.1710052718.A.D5F.html
ssdoz2sk: 你手機連同一個wifi 連的到?如果不行, 39.9.138.8 03/12 08:56
ssdoz2sk: 檢查一下防火牆,跟 port forwarding 設 39.9.138.8 03/12 08:56
ssdoz2sk: 定 39.9.138.8 03/12 08:56
shadowjohn: if (!wifiClient.connected()) 這行怪 111.246.106.78 04/07 23:57
shadowjohn: 為什麼wifi連線失敗才要連http ? 111.246.106.78 04/07 23:57