首先,我绝对是C ++的初学者,但是我对编程总体上了解。
我尝试构建一个WIFI可控电源插头。硬件已完全完成,并且已经可以使用。我尝试添加一个计时器函数,但没有成功,因此我再次从代码中将其删除。在删除它的同时,我“优化”了我的代码,但是从那以后,我通过串口收到了这个奇怪的消息(在成功刷新之后!) 而且不,我没有与任何I / O引脚相连的任何东西,已经在Google上搜索了很多。
ets Jan 8 2013,rst cause:2, boot mode:(3,6)
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v8b899c12
~ld
它只是反复打印出来,当然,代码不起作用...
这是我的脚本(在index.h中只是不同站点的HTML代码。):
#include <ESP8266WebServer.h>
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include "index.h"
#define PINOUT 5
const char* ssid = "WLAN-746385";
const char* password = "1171572781048589";
ESP8266WebServer server(80);
String state = "0";
String MainPage = MAIN_page; //refers to index.h
String MainScript = MAIN_script; //same
String AdminPage = ADMIN_page; //same
//------------------------------------------------------------
void indexHTML(){
server.send(200, "text/html", MainScript + MainPage);
state = server.arg("state");
}
void statusHTML(){
server.send(200, "text/html", state );
Serial.println(state);
}
void changeON(){
//delay(100);
state = "1";
digitalWrite(PINOUT, HIGH);
Serial.println("an!");
}
void changeOFF(){
//delay(100);
state = "0";
digitalWrite(PINOUT, LOW);
Serial.println("aus!");
}
void admin(){
server.send(200, "text/html", AdminPage);
}
void changeState(){
if (state=="1"){
changeON();
}else if(state=="0"){
changeOFF();
}else if(state==""){
state="0";
}else{
Serial.println("'" + state + "' ist unbekannt");
}
}
//-------------------------------------------------------------
void setup() {
pinMode(PINOUT, OUTPUT);
WiFi.begin(ssid, password);
delay(200);
Serial.begin(115200);
while(WiFi.status() != WL_CONNECTED){
delay(500);
Serial.println(".");
}
Serial.println("connected!");
delay(50);
Serial.println(ssid);
delay(50);
Serial.print("IP: ");
delay(50);
Serial.println(WiFi.localIP());
Serial.println();
server.on("/index.html", indexHTML);
server.on("/status", statusHTML);
server.on("/admin", admin);
server.begin();
}
void loop() {
server.handleClient();
}
非常感谢您的帮助! 如果您需要更多信息,我会在这里提供。