因此,我让ESP32充当服务器,当我调用http://IP_OF_ESP32:7777/SOMETEXT时,我的代码使我能够查看斜杠后面写的文本,问题是在为我的ESP32分配静态IP之后,它不再工作。这是我的代码
#include <WiFi.h>
const char* ssid = "Inovec1";
const char* password = "ccb255fd8f52";
WiFiServer server(7777);
IPAddress local_IP(192, 168, 121, 100);
IPAddress gateway(192, 168, 1, 1);
IPAddress subnet(255, 255, 0, 0);
IPAddress primaryDNS(8, 8, 8, 8);
IPAddress secondaryDNS(8, 8, 4, 4);
void setup() {
Serial.begin(115200);
WiFi.config(local_IP,gateway,subnet,primaryDNS, secondaryDNS);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.print(".");
}
Serial.println(WiFi.localIP());
server.begin();
}
void loop() {
WiFiClient client = server.available();
String message;
while(client.available()){
char c = client.read();
message += c;
}
String command = getCommand(message);
if(command.length()>0)
Serial.println(command);
}
String getCommand(String s){
String toFind1 = "GET /";
String toFind2 = " HTTP";
int start = s.indexOf(toFind1)+toFind1.length();
int end = s.indexOf(toFind2);
return s.substring(start,end);
}发布于 2019-12-08 01:29:46
因此,作为第一次尝试,给你的ESP一个在你的PC地址范围内的IP地址。
IPAddress local_IP(192, 168, 0, 10);如果这是可行的(我假设没有其他具有该地址的设备),那么您的问题不是固件/程序,而是您的路由。(路由、子网等本身就是一个主题)
发布于 2020-03-29 22:43:12
尝试这个草图,Ip地址必须在同一子网中。
#include <WiFi.h>
const char* ssid = "yourSSID";
const char* password = "yourPWD";
IPAddress local_IP(192, 168, 1, 139);
IPAddress gateway(192, 168, 1, 1);
IPAddress subnet(255, 255, 255, 0);
IPAddress primaryDNS(8, 8, 8, 8);
void setup()
{
Serial.begin(115200);
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
if (!WiFi.config(local_IP, gateway, subnet, primaryDNS)) { //just one DNS and Configuration after connect
Serial.println("STA Failed to configure");
}
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected!");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
Serial.print("ESP Mac Address: ");
Serial.println(WiFi.macAddress());
Serial.print("Subnet Mask: ");
Serial.println(WiFi.subnetMask());
Serial.print("Gateway IP: ");
Serial.println(WiFi.gatewayIP());
Serial.print("DNS: ");
Serial.println(WiFi.dnsIP());
}
void loop()
{
}https://stackoverflow.com/questions/59189947
复制相似问题