完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我在访问网络服务器时遇到了问题。我尝试了在 IDE 中找到的所有示例以及来自 Internet 的大量内容。然而,我可以毫无问题地用 FDti 编程器烧写 ESP07。素描也开始了。它说 esp 已连接到路由器,但它没有显示任何内容(通过 IP 地址以及通过 mDNS 地址)并且它没有看到客户端。
那是我的示例代码: 代码:全选#include #include #include #ifndef STASSID #define STASSID "WLAN-8YZG83" #define STAPSK "*********" #endif const char* ssid = STASSID; const char* password = STAPSK; // TCP server at port 80 will respond to HTTP requests WiFiServer server(80); void setup(void) { Serial.begin(115200); // Connect to WiFi network WiFi.mode(WIFI_STA); WiFi.begin(ssid, password); Serial.println(""); // Wait for connection while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.print("Connected to "); Serial.println(ssid); Serial.print("IP address: "); Serial.println(WiFi.localIP()); // Set up mDNS responder: // - first argument is the domain name, in this example // the fully-qualified domain name is "esp8266.local" // - second argument is the IP address to advertise // we send our IP address on the WiFi network if (!MDNS.begin("esp8266")) { Serial.println("Error setting up MDNS responder!"); while (1) { delay(1000); } } Serial.println("mDNS responder started"); // Start TCP (HTTP) server server.begin(); Serial.println("TCP server started"); // Add service to MDNS-SD MDNS.addService("http", "tcp", 80); } void loop(void) { MDNS.update(); // Check if a client has connected WiFiClient client = server.available(); if (!client) { return; } Serial.println(""); Serial.println("New client"); // Wait for data from client to become available while (client.connected() && !client.available()) { delay(1); } // Read the first line of HTTP request String req = client.readStringUntil('\r'); // First line of HTTP request looks like "GET /path HTTP/1.1" // Retrieve the "/path" part by finding the spaces int addr_start = req.indexOf(' '); int addr_end = req.indexOf(' ', addr_start + 1); if (addr_start == -1 || addr_end == -1) { Serial.print("Invalid request: "); Serial.println(req); return; } req = req.substring(addr_start + 1, addr_end); Serial.print("Request: "); Serial.println(req); client.flush(); String s; if (req == "/") { IPAddress ip = WiFi.localIP(); String ipStr = String(ip[0]) + '.' + String(ip[1]) + '.' + String(ip[2]) + '.' + String(ip[3]); s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n\r\nHello from ESP8266 at "; s += ipStr; s += "\r\n\r\n"; Serial.println("Sending 200"); } else { s = "HTTP/1.1 404 Not Found\r\n\r\n"; Serial.println("Sending 404"); } client.print(s); Serial.println("Done with client"); } 这是我的串行监视器输出: 代码:全选....... Connected to WLAN-8YZG83 IP address: 192.168.2.113 mDNS responder started TCP server started |
|
相关推荐
1个回答
|
|
可能的原因包括:
1. 路由器连接问题:确保您的 ESP07 正确连接到路由器并被赋予正确的 IP 地址。可以尝试重新启动路由器和 ESP07 并查看是否有所改进。 2. 防火墙问题:检查您的防火墙设置,在防火墙中允许 ESP07 的访问。 3. 代码问题:检查您的代码,确保您的服务器正确启动并监听所需的端口。如果需要,您可以尝试使用不同的示例代码或从其他源获取代码。 以下是可能的解决方案: 1. 测试与路由器的连接:使用 ping 命令测试 ESP07 是否与路由器连接。在命令行中输入“ping ESP07 的 IP 地址”,如果返回正常,则您的连接工作正常。 2. 检查防火墙:检查防火墙设置,并确保允许 ESP07 的访问。您可以尝试暂时关闭防火墙以进行测试。 3. 检查代码:检查您的代码并确保服务器正在监听正确的端口。您还可以尝试使用其他示例代码或从不同的源获取代码。 4. 软件更新:考虑更新 ESP07 的软件。您可以尝试升级到最新版本的 ESP07 固件,以便解决已知的问题和漏洞。 |
|
|
|
只有小组成员才能发言,加入小组>>
545浏览 6评论
457浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
437浏览 5评论
441浏览 4评论
411浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 09:14 , Processed in 0.833118 second(s), Total 49, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号