[請益] NodeMCU ESP8266與EMQX Docker連線

作者: lavender19 (lavender19)   2024-03-10 14:38:31
各位先進們大家好~
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
}
因上述問題已苦惱多天
在此請教各位前輩~
非常感謝!!

Links booklink

Contact Us: admin [ a t ] ucptt.com