Программеры, ваш выход!

топ 100 блогов r0l15.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."); // Печать "Клиент отключен" } }

Оставить комментарий

Архив записей в блогах:
Федеральное бюро расследований США (ФБР) выдало ордер на арест украинского бизнесмена Игоря Коломойского, сообщило издание «Информатор» со ссылкой на собственные источники. По данным журналистов, ордер выдали 15 октября 2019 года, но информация об этом факте появилась только сейчас. ...
По поводу бесчинств пока неустановленных лиц неславянской национальности в Кельне хотел написать. А то свежеразбаненый human_bean_70 даже специальный запрос сделал , так ему хочется мой комментарий получить, почему-то. Я вчера принял участие в этом обсуждении у zuka1 , ...
Поскольку дикий, лютый, горячечный, чисто украинский бред о " Владимире Мономахе – выпускнике Оксфорда " с фактологической точке зрения уже детально разобран , мне остается только отметить: вся эта галиматья, на самом деле, бред только с точки зрения истории, и ее автор, п. ...
  Нажми на картинку Как делать ден ьги. Мастер-класс. Декор кашпо пшеном ...
Ну и еще-  я,  пока гуляли по Тбилиси,  в сеть редко заходила,  но все таки вечером про Белгород почитала.   И вот тут у меня  прям наивные вопросы возникли. Про восемь пресловутых лет.  Хотя даже  про лет пятнадцать последних  путинских. ...