Ошибка компиляции для платы generic esp8266 module как исправить

arduino ide 1.8.1 Need to update.

подскажите по ошибке компиляции:
никак не могу разобраться о причине ошибки

Arduino: 1.8.15 (Windows 10), Плата:»Generic ESP8266 Module, 80 MHz, Flash, Disabled, nodemcu, 26 MHz, 40MHz, DOUT (compatible), 4M (2M SPIFFS), 2, v2 Lower Memory, Disabled, None, All Flash Contents, 115200″

ПРЕДУПРЕЖДЕНИЕ: библиотека Timezone должна запускаться на архитектурах avr и может быть несовместима с вашей платой на архитектуре esp8266.

In file included from C:Usersmitkir01DownloadsGyverLamp-masterfirmwareGyverLamp_v1.4GyverLamp_v1.4.ino:122:0:

C:Program Files (x86)ArduinolibrariesFastLED/FastLED.h:14:21: note: #pragma message: FastLED version 3.003.002

# pragma message «FastLED version 3.003.002»

^

In file included from C:Program Files (x86)ArduinolibrariesFastLED/FastLED.h:65:0,

from C:Usersmitkir01DownloadsGyverLamp-masterfirmwareGyverLamp_v1.4GyverLamp_v1.4.ino:122:

C:Program Files (x86)ArduinolibrariesFastLED/fastspi.h:130:23: note: #pragma message: No hardware SPI pins defined. All SPI access will default to bitbanged output

# pragma message «No hardware SPI pins defined. All SPI access will default to bitbanged output»

^

In file included from C:Usersmitkir01AppDataLocalArduino15packagesesp8266hardwareesp82662.5.0/tools/sdk/libc/xtensa-lx106-elf/include/string.h:163:0,

from C:Usersmitkir01AppDataLocalArduino15packagesesp8266hardwareesp82662.5.0coresesp8266/Arduino.h:33,

from C:Program Files (x86)ArduinolibrariesTimeDateStrings.cpp:12:

C:Program Files (x86)ArduinolibrariesTimeDateStrings.cpp: In function ‘char* monthStr(uint8_t)’:

C:Usersmitkir01AppDataLocalArduino15packagesesp8266hardwareesp82662.5.0/tools/sdk/libc/xtensa-lx106-elf/include/sys/pgmspace.h:76:81: error: ‘const void*’ is not a pointer-to-object type

#define pgm_read_ptr(addr) (reinterpret_cast<const void>(addr))

^

C:Usersmitkir01AppDataLocalArduino15packagesesp8266hardwareesp82662.5.0/tools/sdk/libc/xtensa-lx106-elf/include/sys/string.h:32:57: note: in definition of macro ‘strcpy_P’

#define strcpy_P(dest, src) strncpy_P((dest), (src), SIZE_IRRELEVANT)

^

C:Program Files (x86)ArduinolibrariesTimeDateStrings.cpp:72:29: note: in expansion of macro ‘pgm_read_ptr’

strcpy_P(buffer, (PGM_P)pgm_read_ptr(&(monthNames_P[month])));

^

C:Program Files (x86)ArduinolibrariesTimeDateStrings.cpp: In function ‘char* dayStr(uint8_t)’:

C:Usersmitkir01AppDataLocalArduino15packagesesp8266hardwareesp82662.5.0/tools/sdk/libc/xtensa-lx106-elf/include/sys/pgmspace.h:76:81: error: ‘const void*’ is not a pointer-to-object type

#define pgm_read_ptr(addr) (reinterpret_cast<const void>(addr))

^

C:Usersmitkir01AppDataLocalArduino15packagesesp8266hardwareesp82662.5.0/tools/sdk/libc/xtensa-lx106-elf/include/sys/string.h:32:57: note: in definition of macro ‘strcpy_P’

#define strcpy_P(dest, src) strncpy_P((dest), (src), SIZE_IRRELEVANT)

^

C:Program Files (x86)ArduinolibrariesTimeDateStrings.cpp:86:28: note: in expansion of macro ‘pgm_read_ptr’

strcpy_P(buffer, (PGM_P)pgm_read_ptr(&(dayNames_P[day])));

^

exit status 1

Ошибка компиляции для платы Generic ESP8266 Module.

Выполнил замену.
Copy and relpace «twi.h», «core_esp8266_si2c.c» in folder %USERPROFILE%AppDataLocalArduino15packagesesp8266hardwareesp82662.3.0coresesp8266
Copy and replace «Wire.h», «Wire.cpp» in folder %USERPROFILE%AppDataLocalArduino15packagesesp8266hardwareesp82662.3.0librariesWire

Пытаюсь подключить SI7021 к ESP01 на пины 0,2. Беру Ваш пример из библиотеки HTU21D-master SI7021_DEMO при компиляции выдает ошибку.

C:UsersHOMEAppDataLocalArduino15packagesesp8266hardwareesp82662.3.0coresesp8266_core_esp8266_si2c.c:157:15: error: conflicting types for ‘twi_writeTo’

unsigned char twi_writeTo(unsigned char address, unsigned char * buf, unsigned int len, unsigned char sendStop){

^

In file included from C:UsersHOMEAppDataLocalArduino15packagesesp8266hardwareesp82662.3.0coresesp8266_core_esp8266_si2c.c:21:0:

C:UsersHOMEAppDataLocalArduino15packagesesp8266hardwareesp82662.3.0coresesp8266twi.h:66:9: note: previous declaration of ‘twi_writeTo’ was here

uint8_t twi_writeTo(uint8_t address, uint8_t *buffer, uint8_t length, bool sendStop);

^

C:UsersHOMEAppDataLocalArduino15packagesesp8266hardwareesp82662.3.0coresesp8266_core_esp8266_si2c.c:181:15: error: conflicting types for ‘twi_readFrom’

unsigned char twi_readFrom(unsigned char address, unsigned char* buf, unsigned int len, unsigned char sendStop){

^

In file included from C:UsersHOMEAppDataLocalArduino15packagesesp8266hardwareesp82662.3.0coresesp8266_core_esp8266_si2c.c:21:0:

C:UsersHOMEAppDataLocalArduino15packagesesp8266hardwareesp82662.3.0coresesp8266twi.h:67:9: note: previous declaration of ‘twi_readFrom’ was here

uint8_t twi_readFrom(uint8_t address, uint8_t *buffer, uint8_t length, bool sendStop);

^

Используем библиотеку Wire версии 1.0 из папки: C:UsersHOMEAppDataLocalArduino15packagesesp8266hardwareesp82662.3.0librariesWire
Используем библиотеку HTU21D-master версии 1.1.0 из папки: D:ArduinolibrarieslibrariesHTU21D-master
exit status 1
Ошибка компиляции для платы Generic ESP8266 Module.

Страница 1 из 2

  1. Недавно купила новый для себя модуль ESP8266
    Загрузила одну программу Blink из примеров Arduino IDE
    После этого ничего не компилирует
    Помогите, пожалуйста, решить эту проблему

  2. Что значит

    выкладывайте ошибки, код.
    Не забывайте про тэги, для удобного чтения.

  3. #include <ESP8266WiFi.h>
    #include <WiFiClientSecure.h>
    #include <UniversalTelegramBot.h>
    //объявляю библиотеки

    char ssid[] = «***»; //мой wifi
    char password[] = «***»; //пароль

    #define BOTtoken «***» //токен бота

    WiFiClientSecure client;
    UniversalTelegramBot bot(BOTtoken, client); //переменная для шифрованного соединения

    String keyboardJson = «[[«/help«]]»; //клавиатура бота
    void setup() {
      Serial.begin(9600);
      WiFi.begin(ssid, password);
      while(WiFi.status() != WL_CONNECTED){
        delay(500);
      }
    }

    void loop() {
      int numNewMessages = bot.getUpdates(
          bot.last_message_received + 1);
      handleNewMessages(numNewMessages);
    } //проверка на новые сообщения, если такие сообщения есть, обрабатываем их

    void handleNewMessages(int numNewMessages){
      for(int i = 0; i < numNewMessages; i++){
        String chat_id = String(bot.messages.chat_id); //проверяем каждое сообщение и запоминаем id
        String text = bot.messages.text; //записываем в переменную текст сообщения
        if(text == «/help») {
          bot.sendMessageWithReplyKeyboard(chat_id,
          «Choose from one of the following options»,
          «», keyboardJson, true);
    }
       if(text == «/help») {
          bot.sendMessageWithReplyKeyboard(chat_id,
          «Choose from one of the following options»,
          «», keyboardJson, true);
    }//если приходит сообщение с этим текстом, отвечаем …
    }
    }

    Последнее редактирование: 30 янв 2019

  4. :(
    (у меня теперь скриншоты с телефона не загружаются)

  5. Онжела!Вставь Его правильно!В нужное место!
    [​IMG]

    Последнее редактирование: 30 янв 2019

  6. Добавь строку #include <ArduinoJson.h>

  7. Добавила, с ней тоже ничего не работает(

  8. @Angelina Dementeva, скетч не компилируется или не работает? Telegram блокируется, попробуйте проверить его доступность

  9. К сожалению, именно не компилируется

    Можете объяснить что это значит?

  10. Если не компилируется — копируете вывод компилятора об ошибках и вставляете его в сообщение на форуме (длинный вывод компилятора прячете под спойлер ). ping — утилита для проверки соединения, запускается из командной строки Windows.


    Daniil и NikitOS нравится это.

  11. E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp: In member function ‘String UniversalTelegramBot::sendPostToTelegram(String, ArduinoJson::JsonObject&)’:

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:85:26: error: ‘ArduinoJson::JsonObject’ has no member named ‘measureLength’

    int length = payload.measureLength();

    ^

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:92:13: error: ‘ArduinoJson::JsonObject’ has no member named ‘printTo’

    payload.printTo(out);

    ^

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp: In member function ‘bool UniversalTelegramBot::getMe()’:

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:269:3: error: ‘DynamicJsonBuffer’ was not declared in this scope

    DynamicJsonBuffer jsonBuffer;

    ^

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:269:21: error: expected ‘;’ before ‘jsonBuffer’

    DynamicJsonBuffer jsonBuffer;

    ^

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:270:22: error: ‘jsonBuffer’ was not declared in this scope

    JsonObject& root = jsonBuffer.parseObject(response);

    ^

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:272:11: error: ‘ArduinoJson::JsonObject’ has no member named ‘success’

    if(root.success()) {

    ^

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp: In member function ‘int UniversalTelegramBot::getUpdates(long int)’:

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:305:5: error: ‘DynamicJsonBuffer’ was not declared in this scope

    DynamicJsonBuffer jsonBuffer;

    ^

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:305:23: error: expected ‘;’ before ‘jsonBuffer’

    DynamicJsonBuffer jsonBuffer;

    ^

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:306:24: error: ‘jsonBuffer’ was not declared in this scope

    JsonObject& root = jsonBuffer.parseObject(response);

    ^

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:308:14: error: ‘ArduinoJson::JsonObject’ has no member named ‘success’

    if (root.success()) {

    ^

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:312:48: error: ‘class ArduinoJson670_0_0::ObjectSubscript<const char*>’ has no member named ‘size’

    int resultArrayLength = root[«result»].size();

    ^

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:316:62: error: invalid initialization of non-const reference of type ‘ArduinoJson::JsonObject& {aka ArduinoJson670_0_0::ObjectRef&}’ from an rvalue of type ‘ArduinoJson670_0_0::enable_if<true, ArduinoJson670_0_0::ObjectSubscript<const char*> >::type {aka ArduinoJson670_0_0::ObjectSubscript<const char*>}’

    JsonObject& message = root[«result»][«message»];

    ^

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp: In member function ‘bool UniversalTelegramBot::sendMessage(String, String, String)’:

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:379:3: error: ‘DynamicJsonBuffer’ was not declared in this scope

    DynamicJsonBuffer jsonBuffer;

    ^

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:379:21: error: expected ‘;’ before ‘jsonBuffer’

    DynamicJsonBuffer jsonBuffer;

    ^

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:380:25: error: ‘jsonBuffer’ was not declared in this scope

    JsonObject& payload = jsonBuffer.createObject();

    ^

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp: In member function ‘bool UniversalTelegramBot::sendMessageWithReplyKeyboard(String, String, String, String, bool, bool, bool)’:

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:394:3: error: ‘DynamicJsonBuffer’ was not declared in this scope

    DynamicJsonBuffer jsonBuffer;

    ^

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:394:21: error: expected ‘;’ before ‘jsonBuffer’

    DynamicJsonBuffer jsonBuffer;

    ^

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:395:25: error: ‘jsonBuffer’ was not declared in this scope

    JsonObject& payload = jsonBuffer.createObject();

    ^

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:404:70: error: invalid initialization of non-const reference of type ‘ArduinoJson::JsonObject& {aka ArduinoJson670_0_0::ObjectRef&}’ from an rvalue of type ‘ArduinoJson670_0_0::ObjectRef’

    JsonObject& replyMarkup = payload.createNestedObject(«reply_markup»);

    ^

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:411:21: error: expected ‘;’ before ‘keyboardBuffer’

    DynamicJsonBuffer keyboardBuffer;

    ^

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:412:29: error: ‘keyboardBuffer’ was not declared in this scope

    replyMarkup[«keyboard»] = keyboardBuffer.parseArray(keyboard);

    ^

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp: In member function ‘bool UniversalTelegramBot::sendMessageWithInlineKeyboard(String, String, String, String)’:

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:432:3: error: ‘DynamicJsonBuffer’ was not declared in this scope

    DynamicJsonBuffer jsonBuffer;

    ^

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:432:21: error: expected ‘;’ before ‘jsonBuffer’

    DynamicJsonBuffer jsonBuffer;

    ^

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:433:25: error: ‘jsonBuffer’ was not declared in this scope

    JsonObject& payload = jsonBuffer.createObject();

    ^

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:442:70: error: invalid initialization of non-const reference of type ‘ArduinoJson::JsonObject& {aka ArduinoJson670_0_0::ObjectRef&}’ from an rvalue of type ‘ArduinoJson670_0_0::ObjectRef’

    JsonObject& replyMarkup = payload.createNestedObject(«reply_markup»);

    ^

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:444:21: error: expected ‘;’ before ‘keyboardBuffer’

    DynamicJsonBuffer keyboardBuffer;

    ^

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:445:36: error: ‘keyboardBuffer’ was not declared in this scope

    replyMarkup[«inline_keyboard»] = keyboardBuffer.parseArray(keyboard);

    ^

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp: In member function ‘String UniversalTelegramBot::sendPhoto(String, String, String, bool, int, String)’:

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:514:3: error: ‘DynamicJsonBuffer’ was not declared in this scope

    DynamicJsonBuffer jsonBuffer;

    ^

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:514:21: error: expected ‘;’ before ‘jsonBuffer’

    DynamicJsonBuffer jsonBuffer;

    ^

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:515:25: error: ‘jsonBuffer’ was not declared in this scope

    JsonObject& payload = jsonBuffer.createObject();

    ^

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:533:72: error: invalid initialization of non-const reference of type ‘ArduinoJson::JsonObject& {aka ArduinoJson670_0_0::ObjectRef&}’ from an rvalue of type ‘ArduinoJson670_0_0::ObjectRef’

    JsonObject& replyMarkup = payload.createNestedObject(«reply_markup»);

    ^

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:535:23: error: expected ‘;’ before ‘keyboardBuffer’

    DynamicJsonBuffer keyboardBuffer;

    ^

    E:UserДокументыArduinolibrariesUniversalTelegramBotsrcUniversalTelegramBot.cpp:536:31: error: ‘keyboardBuffer’ was not declared in this scope

    replyMarkup[«keyboard»] = keyboardBuffer.parseArray(keyboard);

    ^

    exit status 1
    Ошибка компиляции для платы Generic ESP8266 Module.

  12. 1. Вам нужна библиотека ArduinoJson версии 5.13.4 — в менеджере библиотек в выпадающем списке можно выбрать нужную версию
    2. Поправьте —

    bot.messages[i].text
    bot.messages[i].chat_id

    — к сообщениям обращаемся по индексу

  13. Теперь выдаёт новые ошибки

    warning: espcomm_sync failed
    error: espcomm_open failed
    error: espcomm_upload_mem failed
    error: espcomm_upload_mem failed
  14. В итоге, я разобралась с ошибками, но команда не появилась в телеграмм боте. Совсем уже не знаю в чем проблема( Могла ли я сломать как-то этот модуль?

  15. @Angelina Dementeva, api.telegram.org пингуется? Добавьте вывод в UART отладочных сообщений библиотеки UniversalTelegramBot

    void setup() {
      Serial.begin(9600);
      bot._debug=true; // выводим отладочную информацию
  16. Откройте командную строку и выполните команду:

    C:Userss.user>ping api.telegram.org

    Обмен пакетами с api.telegram.org [149.154.167.220] с 32 байтами данных:
    Ответ от 149.154.167.220: число байт=32 время=103мс TTL=53
    Ответ от 149.154.167.220: число байт=32 время=103мс TTL=53
    Ответ от 149.154.167.220: число байт=32 время=103мс TTL=53
    Ответ от 149.154.167.220: число байт=32 время=104мс TTL=53

    Статистика Ping для 149.154.167.220:
        Пакетов: отправлено = 4, получено = 4, потеряно = 0
        (0% потерь)
    Приблизительное время приема-передачи в мс:
        Минимальное = 103мсек, Максимальное = 104 мсек, Среднее = 103 мсек

    У Вас так?

Страница 1 из 2

Решил запрограммировать ESP8266 так, чтобы она считывала показания с датчика температуры и выводила их на веб страницу, но при программировании возникает ошибка. Делал так, как на этом сайте: ESP8266:Примеры/Отображение температуры в браузере с помощью чипа ESP8266 и датчика DHT11/DHT22 — Онлайн справочник

Ошибка:
Arduino: 1.6.12 (Windows 7), Плата:»Generic ESP8266 Module, 80 MHz, 40MHz, DIO, 115200, 512K (64K SPIFFS), ck, Disabled, None»

In file included from D:ПрограммыArduinolibrariesDHTDHT_U.cpp:22:0:

D:ПрограммыArduinolibrariesDHTDHT_U.h:25:29: fatal error: Adafruit_Sensor.h: No such file or directory

#include <Adafruit_Sensor.h>

^
compilation terminated.

exit status 1
Ошибка компиляции для платы Generic ESP8266 Module.

Думаю, проблема в библиотеке DTH.

Скетч:

Код:

// подключаем библиотеку «ESP8266WiFi»:
#include <ESP8266WiFi.h>
#include "DHT.h"
// оставляем раскомментированной строчку,
// соответствующую модели вашего датчика:
#define DHTTYPE DHT11     // DHT 11
//#define DHTTYPE DHT21   // DHT 21 (AM2301)
//#define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321
// вписываем здесь данные для своей WiFi-сети:
const char* ssid = "YOUR_NETWORK_NAME";
const char* password = "YOUR_NETWORK_PASSWORD";
// веб-сервер на порте 80:
WiFiServer server(80);
// датчик DHT:
const int DHTPin = 5;
// инициализируем датчик DHT:
DHT dht(DHTPin, DHTTYPE);
// временные переменные:
static char celsiusTemp[7];
static char fahrenheitTemp[7];
static char humidityTemp[7];
// этот блок будет запускаться только при загрузке ESP:
void setup() {
  // инициализируем последовательный порт (в отладочных целях):
  Serial.begin(115200);
  delay(10);
  dht.begin();
  // подключаемся к WiFi-сети:
  Serial.println();
  Serial.print("Connecting to ");  //  "Подключаемся к "
  Serial.println(ssid);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected"); 
             //  "Подключение к WiFi выполнено"
  // запускаем веб-сервер:
  server.begin();
  Serial.println("Web server running. Waiting for the ESP IP...");
              // "Веб-сервер запущен. Ждем IP-адрес ESP..."
  delay(10000);
  // печатаем IP-адрес ESP:
  Serial.println(WiFi.localIP());
}
// этот блок будет запускаться снова и снова:
void loop() {
  // начинаем прослушку новых клиентов:
  WiFiClient client = server.available();
  if (client) {
    Serial.println("New client");  //  "Новый клиент"
    // создаем переменную типа «boolean»,
    // чтобы определить конец HTTP-запроса:
    boolean blank_line = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
      
        if (c == 'n' && blank_line) {
            // данные от датчика могут запаздывать на 2 секунды
            // (это очень медленный датчик):
            float h = dht.readHumidity();
            // считываем температуру в Цельсиях (по умолчанию):
            float t = dht.readTemperature();
            // считываем температуру в Фаренгейтах
            // (isFahrenheit = true):
            float f = dht.readTemperature(true);
            // проверяем, корректны ли считанные данные,
            // и если нет, то выходим и начинаем заново:
            if (isnan(h) || isnan(t) || isnan(f)) {
              Serial.println("Failed to read from DHT sensor!");
                          // "Не удалось прочитать
                          // данные от датчика DHT"
              strcpy(celsiusTemp,"Failed");
              strcpy(fahrenheitTemp, "Failed");
              strcpy(humidityTemp, "Failed");       
            }
            else{
              // рассчитываем градусы в Цельсиях и Фаренгейтах,
              // а также влажность:
              float hic = dht.computeHeatIndex(t, h, false);     
              dtostrf(hic, 6, 2, celsiusTemp);           
              float hif = dht.computeHeatIndex(f, h);
              dtostrf(hif, 6, 2, fahrenheitTemp);       
              dtostrf(h, 6, 2, humidityTemp);
              // все эти Serial.print() ниже можно удалить,
              // т.к. они для отладочных целей:
              Serial.print("Humidity: ");  //  "Влажность: "
              Serial.print(h);
              Serial.print(" %t Temperature: ");  //  "Температура: "
              Serial.print(t);
              Serial.print(" *C ");
              Serial.print(f);
              Serial.print(" *Ft Heat index: ");
                             //  "Тепловой индекс: "
              Serial.print(hic);
              Serial.print(" *C ");
              Serial.print(hif);
              Serial.print(" *F");
              Serial.print("Humidity: ");  //  "Влажность: "
              Serial.print(h);
              Serial.print(" %t Temperature: ");  //  "Температура: "
              Serial.print(t);
              Serial.print(" *C ");
              Serial.print(f);
              Serial.print(" *Ft Heat index: ");
                             //  "Тепловой индекс: "
              Serial.print(hic);
              Serial.print(" *C ");
              Serial.print(hif);
              Serial.println(" *F");
            }
            client.println("HTTP/1.1 200 OK");
            client.println("Content-Type: text/html");
            client.println("Connection: close");
            client.println();
            // веб-страница, отображающая температуру и влажность:
            client.println("<!DOCTYPE HTML>");
            client.println("<html>");
            client.println("<head></head><body><h1>ESP8266 - Temperature and Humidity</h1><h3>Temperature in Celsius: ");
            client.println(celsiusTemp);
            client.println("*C</h3><h3>Temperature in Fahrenheit: ");
            client.println(fahrenheitTemp);
            client.println("*F</h3><h3>Humidity: ");
            client.println(humidityTemp);
            client.println("%</h3><h3>");
            client.println("</body></html>");   
            break;
        }
        if (c == 'n') {
          // если обнаружен переход на новую строку:
          blank_line = true;
        }
        else if (c != 'r') {
          // если в текущей строчке найден символ:
          blank_line = false;
        }
      }
    } 
    // закрываем соединение с клиентом:
    delay(1);
    client.stop();
    Serial.println("Client disconnected.");
               //  "Клиент отключен."
  }
}

Wed Mar 01, 2017 5:59 am
#63178

Hi. Sorry if this question has cropped up again. I get the error message «error compiling for board Generic ESP8266 Module» when trying to compile the code provided with Marco Schwartz’s book «Internet of things with ESP8266». I have tried the publisher, the author, and I have searched internet and have seen many people have asked the same question but I either cannot understand the answers or the answers do not work for me.
I have Arduino IDE 1.8.1 running on Windows 10

I have tried a couple of the example ESP8266 sketches that come with the IDE and they compile OK, eg blink

An example of code that will not compile is:
//dht_esp8266

#include <TFT.h>

// Import required libraries
#include «ESP8266WiFi.h»
#include <aREST.h>
#include «DHT.h»
#include <pgmspace.h>

// DHT11 sensor pins
#define DHTPIN 5
#define DHTTYPE DHT11

// Create aREST instance
aREST rest = aREST();

// Initialize DHT sensor
DHT dht(DHTPIN, DHTTYPE, 15);

// WiFi parameters
const char* ssid = «wifi-name»;
const char* password = «wifi-pass»;

// The port to listen for incoming TCP connections
#define LISTEN_PORT 80

// Create an instance of the server
WiFiServer server(LISTEN_PORT);

// Variables to be exposed to the API
float temperature;
float humidity;

void setup(void)
{
// Start Serial
Serial.begin(115200);

// Init DHT
dht.begin();

// Init variables and expose them to REST API
rest.variable(«temperature», &temperature);
rest.variable(«humidity», &humidity);

// Give name and ID to device
rest.set_id(«1»);
rest.set_name(«esp8266»);

// Connect to WiFi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(«.»);
}
Serial.println(«»);
Serial.println(«WiFi connected»);

// Start the server
server.begin();
Serial.println(«Server started»);

// Print the IP address
Serial.println(WiFi.localIP());

}

void loop() {

// Reading temperature and humidity
humidity = dht.readHumidity();
temperature = dht.readTemperature();

// Handle REST calls
WiFiClient client = server.available();
if (!client) {
return;
}
while (!client.available()) {
delay(1);
}
rest.handle(client);

}

This has got me stumped. I hope someone can help
Thanks
Cary

Код ошибки:

Arduino: 1.8.13 (Windows 10), Плата:"Generic ESP8266 Module, 80 MHz, Flash, Disabled (new aborts on oom), Disabled, All SSL ciphers (most compatible), 32KB cache + 32KB IRAM (balanced), Use pgm_read macros for IRAM/PROGMEM, 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, 921600"

In file included from C:UsersshitsDesktopMatrixClockClock.ino:2:

C:UsersshitsDocumentsArduinolibrariesESP8266HttpClient-master/SerialResponse.h:15:10: fatal error: Delay.h: No such file or directory

   15 | #include <Delay.h>

      |          ^~~~~~~~~

compilation terminated.

exit status 1

Ошибка компиляции для платы Generic ESP8266 Module.



Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"

Код(Неполный из-за моих «любимых» ограничений):

#include <SerialResponse.h>



/**
* Часы и информер погоды на матричном дисплее 16x32
* 
* Контроллер ESP8266F (4Мбайт)
* Графический экран 16x32 на 8 матрицах MAX8219
* 
* Copyright (C) 2016 Алексей Шихарбеев
* http://samopal.pro
*/
#include <arduino.h>
#include <SerialESP8266wifi.h>
#include <WiFiClient.h> 
#include <ESP8266HttpClient.h>
#include <WiFiUdp.h>
#include <SPI.h>
// https://github.com/adafruit/Adafruit-GFX-Library
#include <Adafruit_GFX.h>
// https://github.com/markruys/arduino-Max72xxPanel
#include <Max72xxPanel.h>
https://github.com/bblanchon/ArduinoJson
#include <ArduinoJson.h>

const unsigned char logo2 [] PROGMEM = {
0xff, 0xff, 0xdf, 0xfd, 0xcf, 0xf9, 0xc7, 0xf1, 0xc0, 0x01, 0xe0, 0x03, 0xe0, 0x03, 0xc2, 0x11, 
0xc7, 0x39, 0xc2, 0x11, 0x80, 0x01, 0x00, 0xc1, 0x00, 0x03, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0f };

const unsigned char wifi_icon [] PROGMEM = {0x07, 0xfb, 0xfd, 0x1e, 0xee, 0xf6, 0x36, 0xb6 };

const unsigned char digit0 [] PROGMEM = {  0x83,0x01,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x01,0x83 };
const unsigned char digit1 [] PROGMEM = {  0xF7,0xE7,0xC7,0x87,0xE7,0xE7,0xE7,0xE7,0xE7,0xE7,0xE7,0xE7,0xE7,0x81 };
const unsigned char digit2 [] PROGMEM = {  0x83,0x01,0x39,0x39,0xF9,0xF9,0xF3,0xE3,0xC7,0x8F,0x1F,0x3F,0x01,0x01 };
const unsigned char digit3 [] PROGMEM = {  0x83,0x01,0x39,0xF9,0xF9,0xF9,0xE3,0xE3,0xF9,0xF9,0xF9,0x39,0x01,0x83 };
const unsigned char digit4 [] PROGMEM = {  0xF3,0xE3,0xC3,0xC3,0x93,0x93,0x33,0x31,0x01,0x01,0xF3,0xF3,0xF3,0xF3 };
const unsigned char digit5 [] PROGMEM = {  0x01,0x01,0x3F,0x3F,0x3F,0x03,0x01,0xF9,0xF9,0xF9,0xF9,0x39,0x01,0x83 };
const unsigned char digit6 [] PROGMEM = {  0x83,0x01,0x39,0x3F,0x3F,0x03,0x01,0x39,0x39,0x39,0x39,0x39,0x01,0x83};
const unsigned char digit7 [] PROGMEM = {  0x01,0x01,0xF9,0xF9,0xF9,0xF1,0xF3,0xE3,0xE7,0xCF,0xCF,0x9F,0x9F,0x9F };
const unsigned char digit8 [] PROGMEM = {  0x83,0x01,0x39,0x39,0x39,0x83,0x83,0x39,0x39,0x39,0x39,0x39,0x01,0x83 };
const unsigned char digit9 [] PROGMEM = {  0x83,0x01,0x39,0x39,0x39,0x39,0x39,0x01,0x81,0xF9,0xF9,0x39,0x01,0x83 };

// Параметры доступа к WiFi
const char W_SSID[] = "DIR-620";
const char W_PASS[] = "irina5540114";
// Параметры погодного сервера
String     W_URL    = "http://api.openweathermap.org/data/2.5/weather";
//IPPID. Получить бесплатно: http://openweathermap.org/appid#get
String     W_API    = "4f790e3aa94b6b8166841333524c78d3";
// Код города перми на сервере openweathermap.org
// Москва = 524901
// Остальные города можно посмотреть http://bulk.openweathermap.org/sample/city.list.json.gz
String     W_ID     = "511196";
String     W_NAME   = "В Перми ";

WiFiUDP udp;
const int NTP_PACKET_SIZE = 48; 
byte packetBuffer[ NTP_PACKET_SIZE]; 
const char NTP_SERVER[]   = "0.ru.pool.ntp.org";          
int TZ                    = 5;//Таймзона для Перми
uint32_t NTP_TIMEOUT      = 600000; //10 минут





int pinCS = 5; // Attach CS to this pin, DIN to MOSI and CLK to SCK (cf http://arduino.cc/en/Reference/SPI )
int numberOfHorizontalDisplays = 4;
int numberOfVerticalDisplays   = 1;

Max72xxPanel matrix = Max72xxPanel(pinCS, numberOfHorizontalDisplays, numberOfVerticalDisplays);


String tape = "";
int wait = 20; // In milliseconds

int spacer = 1;
int width = 5 + spacer; // The font width is 5 pixels

uint32_t ms, ms0=0, ms1=0, ms2=0, ms3=0, ms_mode=0;
uint32_t tm         = 0;
uint32_t t_cur      = 0;    
long  t_correct     = 0;
bool  pp = false;
int   mode = 0;

void setup() {
   Serial.begin(115200);
 
// Настройка дисплея
    matrix.setIntensity(7); // Use a value between 0 and 15 for brightness

// Порядок матриц
// Ориентация каждой матрицы
   matrix.setRotation(0, 1);    // The first display is position upside down
   matrix.setRotation(1, 1);    // The first display is position upside down
   matrix.setRotation(2, 1);    // The first display is position upside down
   matrix.setRotation(3, 1);    // The first display is position upside down

   matrix.fillScreen(LOW);

   
   matrix.drawBitmap(0, 0,  logo2, 16, 16, 0, 1); 

   matrix.write();
   delay(5000); 
// Содиняемся с WiFi
  Serial.print("nConnecting to ");
  Serial.println(W_SSID);

  WiFi.begin(W_SSID, W_PASS);
  for (int i=0;WiFi.status() != WL_CONNECTED&&i<150; i++) {
     Serial.print(".");
// Минаем значком WiFi
     matrix.drawBitmap(20, 4,  wifi_icon, 8, 8, 0, 1); 
     matrix.write();
     delay(500);
     matrix.fillRect(20, 4, 8, 8, LOW);  
     matrix.write();
     delay(500);
  }
/*
// Содиняемся с WiFi

}

Перед загрузкой Flash нажал.

Понравилась статья? Поделить с друзьями:
  • Ошибка коллективной атрибуции
  • Ошибка компиляции для платы esp32 wrover module
  • Ошибка коленвала форд фокус 2
  • Ошибка компиляции для платы doit esp32 devkit v1
  • Ошибка кодировка базы utf8mb4 отличается от кодировки соединения utf8 как исправить