[请益] 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