ESP32/ESP8266 使用 WiFi 连接到本地主机服务器
ESP32/ESP8266 connect to localhost server using WiFi
我做了一个简单的 Node.js 本地服务器来接收来自 ESP32 的 POST 请求并将其放入数据库中。服务器工作正常,因为我使用邮递员对其进行了测试。服务器正在侦听端口 127.0.0.1:3000。我的问题是 client.connect(host, port)
总是 returns 错误。我无法连接到客户端以发出 POST 请求。
#include "Arduino.h"
#include "Arduino.h"
#include "WiFi.h"
WiFiClient client;
const IPAddress server(192,168,1,10);
const int httpPort = 3000;
const char* ssid = "******";
const char* password = "********";
void setup() {
Serial.begin(115200);
Serial.println();
Serial.println("Booted");
Serial.println("Connecting to Wi-Fi");
WiFi.begin (ssid, password);
WiFi.mode(WIFI_STA);
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
yield();
}
Serial.println("WiFi connected");
if (client.connect(server,httpPort )) {
Serial.println("Client Connected");
} else {
Serial.println("No Connection");
}
void loop() {
}
解决方案是让服务器监听 0.0.0.0,其中包括服务器计算机上的所有 IPv4 地址,而不是环回 IP 地址 127.0.0.1
我做了一个简单的 Node.js 本地服务器来接收来自 ESP32 的 POST 请求并将其放入数据库中。服务器工作正常,因为我使用邮递员对其进行了测试。服务器正在侦听端口 127.0.0.1:3000。我的问题是 client.connect(host, port)
总是 returns 错误。我无法连接到客户端以发出 POST 请求。
#include "Arduino.h"
#include "Arduino.h"
#include "WiFi.h"
WiFiClient client;
const IPAddress server(192,168,1,10);
const int httpPort = 3000;
const char* ssid = "******";
const char* password = "********";
void setup() {
Serial.begin(115200);
Serial.println();
Serial.println("Booted");
Serial.println("Connecting to Wi-Fi");
WiFi.begin (ssid, password);
WiFi.mode(WIFI_STA);
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
yield();
}
Serial.println("WiFi connected");
if (client.connect(server,httpPort )) {
Serial.println("Client Connected");
} else {
Serial.println("No Connection");
}
void loop() {
}
解决方案是让服务器监听 0.0.0.0,其中包括服务器计算机上的所有 IPv4 地址,而不是环回 IP 地址 127.0.0.1