完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
简介
在上一节中,搞到了热点控制LED,但是都是刷新或者加后缀的方式。。我就想点一下。。。懒人癌患者抓狂,太复杂了,按钮简单一点嘛 那就搞一搞按钮吧 这里延续之前的代码进行了一丢丢修改 /* 192.168.1.4 */ #include #include #include #ifndef APSSID #define APSSID "ESPap" #define APPSK "123789" #endif const char *ssid = APSSID; const char *password = APPSK; ESP8266WebServer server(80); void handleRoot() { server.send(200, "text/html", " "); } void handleLed(){ digitalWrite(D6,!digitalRead(D6)); server.sendHeader("Location","/"); server.send(303); } void setup() { delay(1000); WiFi.softAP(ssid,password); IPAddress myIP = WiFi.softAPIP(); server.on("/", handleRoot); server.on("/LED", HTTP_POST,handleLed); server.begin(); pinMode(D6, OUTPUT); } void loop() { server.handleClient(); } 效果 这样子的话只要点一点网页中的按钮,LED就会发生变化啦!!! 原理 其实这个和之前是一样的原理啦 server.on("/LED", HTTP_POST,handleLed); 这个就是和前面一样的,当有人访问192.168.1.4/LED就调用handleLed函数 但是首页加了一个按钮之后,就不用你自己去地址栏输入地址了,点击按钮之后就会跳转到192.168.1.4/LED,然后LED状态就会变化,如果你嫌弃handle太复杂看不懂,也可以用这个替代 void handleRoot() { server.send(200, "text/html", " Change LED"); } 了解HTML的应该知道点击这玩意就会跳转到192.168.1.4/LED,那你又问为什么又回到了首页呢??? 在 handleLed()中有第二句server.sendHeader("Location","/");就表示灯搞完就跳转回首页,然后网页处理速度挺快的,你的视力也就只能看到首页了 |
|
|
|
只有小组成员才能发言,加入小组>>
3278 浏览 9 评论
2955 浏览 16 评论
3455 浏览 1 评论
8987 浏览 16 评论
4050 浏览 18 评论
1102浏览 3评论
570浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
568浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2301浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1857浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 01:19 , Processed in 1.240015 second(s), Total 81, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号