При компиляции я получаю #endif без ошибки #if. Вот код. Пожалуйста помоги!
#include <Arduino.h>
#endif
#include <ESP8266WiFi.h>
#define watersensor D2
const char* ssid = "pooja";
const char* password = "ranip2780@";
WiFiServer server(301);
IPAddress ip(192, 168, 43, 67);
IPAddress gateway(192, 168, 43, 1);
IPAddress subnet(255, 255, 255, 0);
IPAddress dns(192, 168, 43, 1);
void setup() {
Serial.begin(115200);
delay(10);
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.config(ip, dns, gateway, subnet);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
server.begin();
Serial.println("Server started");
Serial.print("Use this URL to connect: ");
Serial.print("http://");
Serial.print(WiFi.localIP());
Serial.println("/");
}
void loop()
{
// Проверяем, подключился ли клиент
< WiFiClient client = server.available();
if (!client) {
return;
}
// Подождем, пока клиент отправит какие-то данные
Serial.println("new client");
while (!client.available()) {
// delay(1);
client.setNoDelay(1);
}
String request = client.readStringUntil('\r');
Serial.println(request);
client.flush();
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("");
client.println("");
client.println("<html>");
client.println("<meta http-equiv='refresh' content='20'>");
client.println("<title>WATER OVERFLOW ALARM WITH ONLINE UPDATES</title>");
client.println("<center>");
client.println("<style>");
client.println("H1 {");
client.println("background-color: blue;");
client.println("}");
client.println("</style>");
client.println("<H1 style='color:white'><table>");
client.println("<tr>");
client.println("<td><div class='inner'><font size= '+3' color='white'><b>");
client.println("WATER OVERFLOW ALARM WITH ONLINE UPDATES<br>");
client.println("USING NODEMCU 1.0 BOARD</font></b>");
client.println("</div></td>");
client.println("<td><div class='relative'>");
if (digitalRead(watersensor) == LOW)
{
client.println("<button style='background-color:red;width:200px;height:100px'><font size= '+2' color='white'><b>FULL LEVEL ALERT</b></font></button><br>");
}
else
{
client.println("<button style='background-color:gray;width:200px;height:100px'<font size= '+2' color='white'><b>NOT FULL</b></font></button><br>");
}
client.println("</div></td>");
client.println("</tr>");
client.println("</table><hr></center>");
client.println("<body style = 'background-color:lightgray;'>");
client.println("<br>");
client.println("<style>");
client.println("div.relative {");
client.println("position: relative;");
client.println("left:100px;");
client.println("}");
client.println("div.inner {");
client.println("position: relative;");
client.println("left:10px;");
client.println("}");
client.println("div.sample1 {");
client.println("position: relative;");
client.println("left:85px;");
client.println("}");
client.println("</style><hr><br>");
client.println("<b>LEGENDS: </b> <button style='background-color:gray;width:100px;height:50px'><font color='white'<b>NOT FULL</b></font></button>");
client.println("<font color='black'><b>WATER LEVEL IS BELOW SENSOR.</b></font><p>");
client.println("<div class='sample1'><button style='background-color:red;width:100px;height:50px'><font color='white'><b>FULL LEVEL ALERT</b></font></button><font color='black'><b> WATER LEVEL IS ALREADY FULL.</b></font>");
client.println("</div><br><hr>");
client.println("</body>");
client.println("</html>");
delay(1);
Serial.println("Client disconnected");
Serial.println("");
delay(500);
}
@pooja, 👍-3
Обсуждение1 ответ
▲ 2
Среда разработки Arduino IDE дает вам важную подсказку
Arduino: 1.8.12 (Windows 10), Board: "Arduino Uno"
sketchX:2:2: error: #endif without #if
#endif
^~~~~
sketchX:3:10: fatal error: ESP8266WiFi.h: No such file or directory
#include <ESP8266WiFi.h>
^~~~~~~~~~~~~~~
compilation terminated.
exit status 1
#endif without #if
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
Это указывает на строки #2 & № 3 на скетче с ошибкой. Поэтому мы исправим их и попробуем еще раз
//#endif
Я также установлю ESP8266, так как его нет на моем новом ноутбуке.
Arduino: 1.8.12 (Windows 10), Board: "Generic ESP8266 Module, 80 MHz, Flash, Legacy (new
can return nullptr), All SSL ciphers (most compatible), dtr (aka nodemcu), 26 MHz, 40MHz,
DOUT (compatible), 1MB (FS:64KB OTA:~470KB), 2, nonos-sdk 2.2.1+100 (190703), v2 Lower
Memory, Disabled, None, Only Sketch, 115200"
C:\Users\winuser\Arduino\sketchX\sketchX.ino: In function 'void loop()':
sketchX:42:3: error: expected primary-expression before '<' token
< WiFiClient client = server.available();
^
sketchX:42:16: error: expected primary-expression before 'client'
< WiFiClient client = server.available();
^
sketchX:42:16: error: expected ';' before 'client'
sketchX:43:8: error: 'client' was not declared in this scope
if (!client) {
^
sketchX:49:11: error: 'client' was not declared in this scope
while (!client.available()) {
^
sketchX:54:20: error: 'client' was not declared in this scope
String request = client.readStringUntil('\r');
^
sketchX:4:21: error: 'D2' was not declared in this scope
#define watersensor D2
^
C:\Users\winuser\Arduino\sketchX\sketchX.ino:79:19: note: in expansion of
macro 'watersensor'
if (digitalRead(watersensor) == LOW)
^
exit status 1
expected primary-expression before '<' token
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
В общем, использовать сообщения, которые выдает среда IDE, очень просто, чтобы найти свою ошибку и исправить ее, работая сверху вниз по скетчу. Это не то, что нужно публиковать на StackExchange, пока вы не исправите основы.
,
@Dougie
Смотрите также:
- Отправка данных из ESP8266 в PHP
- Wifi Регистратор данных без Задержки
- NODEMCU 1.0 HX711 Тензодатчик читает странный текст
- Почему вывод отправки влияет на вывод приема с помощью библиотеки емкостных датчиков Arduino
- У меня есть код, печатающий нужные мне данные, но я не знаю, как подключить данные к IP-веб-серверу ESP8266.
- AT-команда не отвечает на последовательный монитор
- Отправка данных Arduino в MySQL с помощью phpMyAdmin и XAMPP на Windows10
- Arduino выводит значения мусора на serial monitor с ESP8266
удалить
#endif
, @JurajВы, вероятно, могли бы узнать это сами, просто прочитав сообщение об ошибке. Возможно, [это руководство](https://www.hackerearth.com/blog/developers/arduino-programming-for-beginners) поможет вам начать кодирование для Arduino., @StarCat