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

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

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

Архив записей в блогах:
Давеча стоял в очереди в ларек «Мегафона». Последний раз такую очередь я видел за шавермой на тарелке. Даже жена успела отстоять очередь в аптеку «Озерки» (а это невероятное достижение, поверьте на слово), а я все еще стоял в своей. И пока я двигался с черепашью скоростью, выявил одну ...
После задержания министра по управлению государственным имуществом Свердловской области Алексея Пьянкова по подозрению в получении взятки в размере 31,5 миллиов рублей, губернатор Свердловской области Евгений Куйвашев сделал заявление: «Я доверял и доверяю Алексею и уверен в том, что он в ...
Минимал, трехмерное, карандаши.dust breedings from goaj on ...
Кучерявые запустили эфирный вирус, хотят подготовить своих информационно:) Ребят. Надо победить !!!! Ситуация простая - если мы побеждаем у Зялта - мы получаем бесплатный пиар от тех, кто всё это дело и затеял:))) Если они потом замухлюют - мы получим ...
Дерьмовый год, скажу я вам. В 2014 я мог ничего не делать неделями, кататься на выходные в Испанию или устроить слет команды в хорошем отеле Турции, чтобы условно работать, а по факту – просто оттягиваться в окружении своих людей. В 2015 изменилось многое: ударивший в голову и би ...