本文来源电子发烧友社区,作者:jf_68700789, 帖子地址:https://bbs.elecfans.com/jishu_2293784_1_1.html
局域网点灯
用esp32模块建立局域网,并生成静态网页,点击相关控件即可完成对io的控制
源代码如下,来自官方文档
/*
步骤:
1.连接到WIFI”Beetle ESP32 C3“,已设置WIFI密码:12345678
2.访问网址 http://192.168.4.1/ON 来打开灯 访问 http://192.168.4.1/OFF 来关闭灯
3.在访问后通过点击上下 here 来便捷控制灯的亮灭而不需要输入网址进行
*/
#include
#include
#include
#define myLED 10 //设置引脚10为LED引脚
// 设置WIFI名称以及密码
const char *ssid = "Beetle ESP32 C3";//WIFI名称
const char *password = "12345678";//密码
WiFiServer server(80);//网页服务端口默认为80
void setup() {
pinMode(myLED, OUTPUT);
Serial.begin(115200);
Serial.println();
Serial.println("Configuring access point...");
//如果想要无密码开放网络请删除password
WiFi.softAP(ssid, password);
IPAddress myIP = WiFi.softAPIP();
Serial.print("AP IP address: ");
Serial.println(myIP);
server.begin();
Serial.println("Server started");
}
void loop() {
WiFiClient client = server.available(); // 检测等待连接
if (client) { // 检测是否连接
Serial.println("New Client.");
String currentLine = ""; // 创建String变量来保存数据
while (client.connected()) { // 保持连接时一直循环
if (client.available()) { // 检测连接是否有数据
char c = client.read(); // 读取接收的数据
//Serial.write(c); // 打印在串行监视器
if (c == 'n') { // 如果读取的是换行符
//结尾用换行符提醒结束
if (currentLine.length() == 0) {
client.println("HTTP/1.1 200 OK");
client.println("Content-type:text/html");
client.println();
//将字符与here连接
client.print("Click here to turn ON the LED.");
client.print("Click here to turn OFF the LED.");
// HTTP响应为空行
client.println();
// 跳出循环
break;
} else { // 如果有一个换行符就清除变量缓存的数据
currentLine = "";
}
} else if (c != 'r') { // 如果获得回车以外的字符
currentLine += c; // 获得的字符添加到变量末尾
}
// 检查是否获得/ON或者/OFF
if (currentLine.endsWith("/ON")) {
digitalWrite(myLED, HIGH); //得到/ON时打开灯
}
if (currentLine.endsWith("/OFF")) {
digitalWrite(myLED, LOW); //得到/OFF时关闭灯
}
}
}
// 关闭连接
client.stop();
Serial.println("Client Disconnected.");
}
}
``
可以看到视频中电机开灯,led打开,相应的,点击关闭将熄灭
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
ESP32
+关注
关注
13文章
897浏览量
15858 -
DFRobot
+关注
关注
4文章
1155浏览量
9043
发布评论请先 登录
相关推荐
ESP32-WROOM-32开发板教程
ESP32-WROOM-32是一款功能强大的物联网开发板,它基于Espressif的ESP32芯片,拥有更多的性能和功能。在本篇文章中,我将为您提供一份详尽、详实、细致的教程,以帮助您快速上手
快来!炫酷好玩的像素时钟&音乐频谱,合宙ESP32-C3开发板创意DIY分享
这样的季节,有人赞秋叶之静美,有人叹秋风之悲凉,我们的工程师朋友则是连连催货忙~刚到手 合宙CC表 ,又来催上市一年多仍风头不减的 “DIY神器” 合宙ESP32-C3开发板。 今天不仅补货到了
在ESP32-C3模块上使用MQTT进行通信
;
其中-t /topic/qos0表示需要往那个topic发送。
此时,可以看到开发板正常接受到了pc发过来的消息。
4.手机控制
此处只做局域网内的控制,也就是手机、电脑、
发表于 08-16 07:28
ESP32-C3的编程方式
小结
本文通过环境搭建、外设编程、WiFi程序的演示,大致的描述了ESP32-C3的编程方式。总的说起来,采用ESP-IDF的集成开发环境,很大程度上可以减少环境搭建的烦恼,可以非常顺利的做上层业务
发表于 08-16 06:57
【FireBeetle 2 ESP32-S3开发板体验】在Arduino中充分利用FireBeetle 2 ESP32-S3的16MB Flash做SPIFFS
DFRobot提供的这款 FireBeetle 2 ESP32-S3 开发板,从官方WiKi上,可以了解到详细的硬件信息:
处理器:Xtensa® 双核32位LX7微处理器
主频:240 MHz
发表于 08-02 09:55
【FireBeetle 2 ESP32-S3开发板体验】时间显示 基于ssd1306 I2C 调用开源库 事半功倍
/esp32-hal-adc.c.o
Compiling .pio/build/dfrobot_firebeetle2_esp32s3/FrameworkArduino/esp32-hal-bt.c.o
Compiling .p
发表于 07-29 10:04
ESP32-C2开发板 开发 演示
current ESP-ID,使用本地SDK,也就是前面自定义IDF的路径
4、如下图创建工程
5、选择芯片类型,我们需要选择esp32-c2
6、使用usb数据线连接PC与开发板,选择
发表于 06-09 13:34
ESP32-C2开发板 程序演示
current ESP-ID,使用本地SDK,也就是前面自定义IDF的路径
4、如下图创建工程
5、选择芯片类型,我们需要选择esp32-c2
6、使用usb数据线连接PC与开发板,选择
发表于 05-08 18:29
评论