1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
您好,这是我在论坛上的第一篇帖子,我是 ESP8266 模块的新手。我正在使用 Arduino IDE 尝试让网络服务器显示一些网页,然后做一些其他事情。不幸的是,似乎一旦客户端与 Web 服务器断开连接,void loop() 将停止循环大约 6 或 7 分钟!我似乎无法弄清楚为什么,我尝试了几个不同的示例脚本,但它们似乎都有同样的问题。谁能帮忙解决这个问题?这是我的代码,如果你运行它,你会注意到在提供网页后,它应该回到每秒打印两次“Waiting”,但它不会:#include const char*
ssid = "天捷网-TPLink-5G"; 常量字符 * 密码 = " WiFiServer服务器(81); void setup() { Serial.begin(115200); 序列号.println(); Serial.printf("正在连接到 %s", ssid); WiFi.begin(ssid, 密码); while (WiFi.status() != WL_CONNECTED) { delay(500); 序列号.print("."); } Serial.println("已连接"); 服务器.开始(); Serial.printf("网络服务器启动,在网络浏览器中打开 %s\n", WiFi.localIP().toString().c_str()); } // 准备要发送给客户端(网络浏览器)的网页 String prepareHtmlPage() { String htmlPage = String("HTTP/1.1 200 OK\r\n") + "Content-Type: "Connection: close\r\n" + // 响应完成后关闭连接 "Refresh: 5\r\n" + // 每5秒自动刷新页面 "\r\n" + "< !DOCTYPE HTML>" + "" + "模拟输入:" + String(analogRead(A0)) + "" + "\r\n"; 返回 html 页面; } void loop() { WiFiClient client = server.available(); // 等待客户端(网络浏览器)连接 if (client) { Serial.println("\n[Client connected]"); 而(客户。 // 逐行读取客户端(网络浏览器)请求的内容 if (client.available()) { String line = client.readStringUntil('\r'); 串行打印(行); // 等待客户端请求结束,用空行标记 if (line.length() == 1 && line[0] == '\n') { client.println(prepareHtmlPage()); 休息; } } } 延迟(1);// 给网络浏览器时间来接收数据 // 关闭连接: client.stop(); Serial.println("[客户端断开连接]"); } Serial.println("等待..."); } |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1132 浏览 1 评论
576浏览 6评论
477浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
461浏览 5评论
462浏览 4评论
435浏览 4评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 23:55 , Processed in 0.705079 second(s), Total 73, Slave 57 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号