完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在尝试使用 ESP8266 NodeMCU 开发板创建本地 WiFi 服务器。
这个想法是让用户直接连接到 ESP WiFi 网络(开放)并浏览本地页面,无需互联网连接或桥接。用户可以选择接收时事通讯,电子邮件地址已在 SD 卡上注册。 我尝试使用 CaptivePortalAdvanced 示例草图,但它似乎不起作用,主要是因为用户必须手动输入主页的 IP 地址,没有自动重定向。 如何让它发挥作用?谢谢 这是我正在使用的代码: 代码:全选const char *ssid = "...."; ESP8266WebServer server(80); DNSServer dnsServer; IPAddress apIP(192, 168, 1, 1); const byte DNS_PORT = 53; IPAddress subnet(255, 255, 255, 0); void handleRoot() { String s = "........."; server.send(200, "text/html", s); } void setup() { delay(1000); Serial.begin(115200); Serial.println(); Serial.print("nConfiguring wifi access point..."); WiFi.mode(WIFI_AP); WiFi.softAPConfig(apIP,apIP,IPAddress(255,255,255,0)); WiFi.softAP(ssid); Serial.print("OK"); delay(500); Serial.println("nConfiguring dns server..."); dnsServer.setTTL(300); dnsServer.setErrorReplyCode(DNSReplyCode::NoError); dnsServer.start(DNS_PORT, "*", apIP); Serial.print("OK"); delay(500); server.on("/", handleRoot); server.on("/wifi", handleRoot); server.on("/generate_204", handleRoot); //Android captive portal. Maybe not needed. Might be handled by notFound handler. server.on("/fwlink", handleRoot); //Microsoft captive portal. Maybe not needed. Might be handled by notFound handler. server.onNotFound(handleRoot); server.on("/register_newsletter", []() { String newsletter = server.arg("email"); // written to SD card server.send(200, "text/html", " Thank you!");}); server.begin(); Serial.println("nHTTP server started"); } void loop() { server.handleClient(); } |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
545浏览 6评论
457浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
438浏览 5评论
441浏览 4评论
411浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 09:43 , Processed in 1.030475 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号