Программеры, ваш выход!
r0l — 15.03.2021 Потом горбоносый спросил: "А где вы работаете?" Я ответил. "Колоссально! - воскликнул горбоносый. - Программист! Нам нужен именно программист. Слушайте, бросайте ваш институт и пошли к нам!"* * *
Рассказываю: понадобилась мне эдакая мини-метеостанция с веб-мордой. Почитал по совету коллег. Заказал, припаял бут-джампер к программатору. Поставил Arduino IDE. Поставил коллекцию библиотек для ESP8266, поставил библиотеки для датчика DH11.
Скомпилил мигалку диодом, залил - работает, мигает. Скомпилил сканер вай-фай сетей, залил - работает, находит. Компилю тот единственный код, ради которого все затевалось. Мне отвечают:
Arduino: 1.8.7 (Windows 7), Плата:"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"
:0:9: error: expected identifier before numeric constant
sketch\ESP8266_Lib.h:39:7: note: in expansion of macro 'ESP8266'
class ESP8266 {
^
:0:9: error: expected unqualified-id before numeric constant
sketch\ESP8266_Lib.h:39:7: note: in expansion of macro 'ESP8266'
class ESP8266 {
^
exit status 1
Ошибка компиляции для платы Generic ESP8266 Module.
* * * * * *
Блять, что это сейчас было? Папа, с кем ты сейчас разговаривал? Я техник, а не программист, я вообще ни черта не понял. Но код должен работать, он проверенный.
Что я делаю не так?
Добавлю, что библиотеки устанавливал по ссылкам из статьи (иначе он на первом инклюде отваливается, что логично)
/* Тестировалось на Arduino IDE 1.8.5 Дата тестирования 25.10.2017г. */ #include "ESP8266WiFi.h" // Подключаем библиотеку ESP8266WiFi #include "Adafruit_Sensor.h" // Adafruit_Sensor #include "DHT.h" // Подключаем библиотеку DHT const char* ssid = "Название Вашей сети"; // Название Вашей WiFi сети const char* password = "Пароль от Вашей сети"; // Пароль от Вашей WiFi сети #define DHTPIN 2 // Пин к которому подключен датчик #define DHTTYPE DHT11 // Используемый датчик DHT 11 // #define DHTTYPE DHT21 // #define DHTTYPE DHT22 DHT dht(DHTPIN, DHTTYPE); // Инициализируем датчик WiFiServer server(80); // Указываем порт Web-сервера void setup() { Serial.begin(115200); // Скорость передачи 115200 delay(10); // Пауза 10 мкс dht.begin(); // Инициализация DHT Serial.println(""); // Печать пустой строки Serial.print("Connecting to "); // Печать "Подключение к:" Serial.println(ssid); // Печать "Название Вашей WiFi сети" WiFi.begin(ssid, password); // Подключение к WiFi Сети while (WiFi.status() != WL_CONNECTED) // Проверка подключения к WiFi сети { delay(500); // Пауза 500 мкс Serial.print("."); // Печать "." } Serial.println(""); // Печать пустой строки Serial.println("WiFi connected"); // Печать "Подключение к WiFi сети осуществлено" server.begin(); // Запуск Web сервера Serial.println("Web server running."); // Печать "Веб-сервер запущен" delay(10000); // Пауза 10 000 мкс Serial.println(WiFi.localIP()); // Печатаем полученный IP-адрес ESP } void loop() { WiFiClient client = server.available(); // Получаем данные, посылаемые клиентом if (client){ Serial.println("New client"); // Отправка "Новый клиент" boolean blank_line = true; // Создаем переменную, чтобы определить конец HTTP-запроса while (client.connected()){ // Пока есть соединение с клиентом if (client.available()){ // Если клиент активен char c = client.read(); // Считываем посылаемую информацию в переменную "с" if (c == '\n' && blank_line){ // Вывод HTML страницы float t = dht.readTemperature(); // Запрос на считывание температуры float h = dht.readHumidity(); client.println("HTTP/1.1 200 OK"); // Стандартный заголовок HTTP client.println("Content-Type: text/html"); client.println("Connection: close"); // Соединение будет закрыто после завершения ответа client.println("Refresh: 10"); // Автоматическое обновление каждые 10 сек client.println(); client.println(""); // Веб-страница создается с использованием HTML client.println(""); // Открытие тега HTML client.println(""); client.println(""); client.println("
ESP8266 - Temperature & Humidity
"); client.println("Temperature = "); client.println(t); // Отображение температуры client.println("*C
"); client.println(""); client.println(""); client.println("Humidity = "); client.println(h); // Отображение влажности client.println("
"); client.println(""); client.println(""); // Закрытие тега HTML break; // Выход } if (c == '\n'){ // Если "с" равен символу новой строки blank_line = true; // Тогда начинаем новую строку } else if (c != '\r'){ // Если "с" не равен символу возврата курсора на начало строки blank_line = false; // Тогда получаем символ на текущей строке } } } client.stop(); // Закрытие соединения Serial.println("Client disconnected."); // Печать "Клиент отключен" } }
|
</> |