Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arduino ESP8266韩元';Don’不要从沉睡中醒来_Arduino_Esp8266_Arduino Ide_Nodemcu_Arduino Esp8266 - Fatal编程技术网

Arduino ESP8266韩元';Don’不要从沉睡中醒来

Arduino ESP8266韩元';Don’不要从沉睡中醒来,arduino,esp8266,arduino-ide,nodemcu,arduino-esp8266,Arduino,Esp8266,Arduino Ide,Nodemcu,Arduino Esp8266,这是我从一个项目的代码,我可以控制伺服电机。我试着使用深度睡眠,因为我会使用电池。但是看我的串行监视器,我有这个消息,我不能访问我的web服务器 错误\u连接\u超时\u 连接到Louise 无线上网 Web服务器已启动 您可以在此处连接到服务器: 进入深度睡眠20秒 {l 无线上网 Web服务器已启动 您可以在此处连接到服务器: 进入深度睡眠20秒 {l 无线上网 Web服务器已启动 您可以在此处连接到服务器: 进入深度睡眠20秒 {l 我的代码有什么问题 ——包括“ESP8266WiFi.h

这是我从一个项目的代码,我可以控制伺服电机。我试着使用深度睡眠,因为我会使用电池。但是看我的串行监视器,我有这个消息,我不能访问我的web服务器

错误\u连接\u超时\u

连接到Louise

无线上网 Web服务器已启动 您可以在此处连接到服务器: 进入深度睡眠20秒 {l

无线上网 Web服务器已启动 您可以在此处连接到服务器: 进入深度睡眠20秒 {l

无线上网 Web服务器已启动 您可以在此处连接到服务器: 进入深度睡眠20秒 {l

我的代码有什么问题

——包括“ESP8266WiFi.h”//WiFi库
#包括
#include//include伺服库
const char*ssid=“Louise”//WiFi网络的名称
const char*password=“passme”//WiFi网络的密码
int firstrun=0;//检查系统是否刚刚通电
int buttonpressed=5;//保留网页上按下的按钮
int servoPin=3;//声明伺服pin
伺服伺服1;//创建伺服对象
WiFiServer服务器(80);//定义Web服务器端口
无效设置(){
序列号开始(115200);
延迟(10);
伺服1.连接(伺服销);
//我们需要将伺服连接到使用过的管脚编号
//连接到WiFi网络
串行打印(“连接到”);
序列号println(ssid);
WiFi.begin(ssid,密码);
//等待连接到WiFi
while(WiFi.status()!=WL_已连接){
延迟(250);
连续打印(“.”);
}
//确认WiFi已连接
Serial.println(“”);
Serial.println(“WiFi连接”);
//启动Web服务器
server.begin();
Serial.println(“Web服务器已启动”);
//显示IP地址
打印(“您可以在此处连接到服务器:”;
Serial.print(“http://”);
Serial.print(WiFi.localIP());
Serial.println();
println(“进入深度睡眠20秒”);
特别是深度睡眠(20e6);/20e6是20微秒
}
void循环(){
//检查是否有人连接
WiFiClient=server.available();
如果(!客户端){
返回;
}
//阅读网页上按下的按钮
字符串请求=client.readStringUntil('\r');
//根据按下的按钮点亮LED
if(request.indexOf(“/OFF=1”)!=-1){
伺服1.连接(伺服销);
//将销9上的伺服连接到伺服对象
延迟(100);
1.写入(-90);
//根据缩放值设置伺服位置
延迟(1000);
//等待它到达位置
1.分离();
延迟(1000);
按钮按下=低;
firstrun=1;
}
if(request.indexOf(“/ON=1”)!=-1){
伺服1.连接(伺服销);
//将销9上的伺服连接到伺服对象
延迟(100);
伺服1.写入(90);
//根据缩放值设置伺服位置
延迟(1000);
//等待它到达位置
1.分离();
延迟(1000);
按钮按下=高;
firstrun=1;
}
//显示HTML网页
客户。println(“”);
客户。println(“”);
//CSS设置开/关按钮的样式
//可以随意更改背景颜色和字体大小属性以符合您的偏好
println(“html{font-family:Helvetica;display:inline-block;margin:0px-auto;text-align:center;}”);
println(“文本装饰:无;字体大小:30px;边距:2px;光标:指针;}”);
//网页标题
客户。println(“喂狗器”);
//创建网页
client.println(“HTTP/1.1 200 OK”);//HTML头
client.println(“内容类型:text/html”);
客户。println(“”);
客户。println(“”);
客户。println(“”);
client.println(“”;//HTML的开始
客户。println(“”);
client.println(“body{background color:#acead;}”);//设置背景色
println(“按钮{背景色:#195B6A;边框:无;颜色:白色;填充:16px 40px;”);//设置背景色
客户。println(“”);
客户。println(“狗粮分配器”);
如果(按下按钮==低){
客户。打印(“关闭”);
}
如果(按下按钮==高){
客户。打印(“在”);
}
client.println(“

”); client.println(“
”); client.println(“

”); 客户。println(“”); client.println(“

”); 客户。println(“”); 延迟(10); }
您在
循环()中的代码将永远不会运行。
ESP8266上的深度睡眠(至少对于Arduino项目)实际上会在唤醒时重置处理器,除了RTC内存之外,其他都会丢失。因此,当您调用
ESP.deepSleep()
时,RTC内存中会设置一个标志,处理器将在20秒后重置,下次
设置()
被称为
原因\u DEEP\u SLEEP\u aweep
将被设置为重置原因


由于您正在尝试运行web服务器,因此没有一种理想的睡眠模式可以让您的web服务器保持活动状态。即使是调制解调器睡眠也需要您每次都关闭并重新启动web服务器。这意味着您的浏览器连接将失败,除非您在芯片唤醒时捕捉到芯片。

您需要学习如何缩进你的代码。提示:ctrl-T。