Что за ошибка?

Тема в разделе "Arduino & Shields", создана пользователем Maksym223, 25 ноя 2021.

  1. Maksym223

    Maksym223 Нерд

    Может у когото есть код для управлением реле через телеграм на esp node mcu
     
  2. b707

    b707 Гуру

    а в интернете поискать?
     
  3. Maksym223

    Maksym223 Нерд

    искал не нашол
     
  4. Airbus

    Airbus Радиохулиган Модератор

  5. parovoZZ

    parovoZZ Гуру

    с таким знанием русского сложно что-либо найти.
     
    vvr, Рокки1945, Airbus и ещё 1-му нравится это.
  6. Maksym223

    Maksym223 Нерд

    по вашей силке ошибка в скетче
    'TELEGRAM_CERTIFICATE_ROOT' was not declared in this scope
     
  7. Airbus

    Airbus Радиохулиган Модератор

    Ну так поправь. Делов то
     
  8. Maksym223

    Maksym223 Нерд

    А что именно поправить?
     
  9. parovoZZ

    parovoZZ Гуру

    Ну поищи другой. Без ошибки.
     
    b707 и Airbus нравится это.
  10. b707

    b707 Гуру

    в сообщении об ошибке все четко написано - переменная не обьявлена. Так возьми и обьяви...
    Или ты надеялся запустить микроконтроллер, вовсе не умея программировать?
     
  11. Airbus

    Airbus Радиохулиган Модератор

    Еще один

     
  12. Airbus

    Airbus Радиохулиган Модератор

    Фил а чего ты хочешь от человека который Гуглом не умеет пользоваться? Скетч кстати тот 100% рабочий я игрался с ним. Возможно нет библиотеки. Но что такое библиотека и как ее устанавливать и куда это уже за рамками Форума
     
    Последнее редактирование: 26 ноя 2021
  13. b707

    b707 Гуру

    да я ничего от него не хочу. это он от нас чего-то хочет :)
     
    Airbus нравится это.
  14. Airbus

    Airbus Радиохулиган Модератор

    Все просто Бро! Устанавливаешь библиотеку UniversalTelegramBot.h потом идешь в примеры—выбираешь нужный и доделываешь его под свои хотелки! И фсе! Да и на форме есть тема. И я даже выкладывал свой скетч для радиорозетки Sonoff под Телегу.
     
    Andrey12 нравится это.
  15. Airbus

    Airbus Радиохулиган Модератор

    Нет там никакой ошибки!Всё компилируется и работает.Тема летит во флуд!
     
  16. Maksym223

    Maksym223 Нерд

    upload_2021-11-26_10-30-21.png
     
  17. Maksym223

    Maksym223 Нерд

    скинул скрин
     
  18. Maksym223

    Maksym223 Нерд

    Пишу код для управления реле на esp8266 Node Mcu через телеграм
    И немогу розобратся с ошибкой
    Код (C++):

    #include <ESP8266WiFi.h>
    #include <WiFiClientSecure.h>
    #include <UniversalTelegramBot.h>

    // Замените на свои сетевые данные
    #define WIFI_SSID "XXXXXXXXX"
    #define WIFI_PASSWORD "XXXXXXXXXX"

    // Инициализация Telegram бота
    #define BOT_TOKEN "XXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"  // Ваш Токен
    #define CHAT_ID "XXXXXXXXXX"                                        // ID чата

    const unsigned long BOT_MTBS = 1000; // среднее время между сообщениями сканирования

    //X509List cert(TELEGRAM_CERTIFICATE_ROOT);
    WiFiClientSecure secured_client;
    UniversalTelegramBot bot(BOT_TOKEN, secured_client);
    unsigned long bot_lasttime; // последнее сканирование сообщений было сделано

    const int Relay1 = D5;      //Реле1 подключено к D5
    const int Relay2 = D6;      //Реле2 подключено к D6
    int Relay1Status = 0;       //Переменная для хранения статуса Реле1
    int Relay2Status = 0;       //Переменная для хранения статуса Реле2

    void handleNewMessages(int numNewMessages)
    {
      Serial.print("обработка Новых Сообщений ");
      Serial.println(numNewMessages);

      for (int i = 0; i < numNewMessages; i++)
      {
        String chat_id = bot.messages[I].chat_id;
        String text = bot.messages[I].text;[/I]

    [I]    String from_name = bot.messages[I].from_name;[/I][/I]
        if (from_name == "")
          from_name = "Guest";

        if (text == "/on")
        {
          digitalWrite(Relay1, LOW);  // включить Свет (НИЗКИЙ уровень реле)
          Relay1Status = 1;           // меняем статус на 1
          bot.sendMessage(chat_id, "Свет включен", "");
        }

        if (text == "/off")
        {
          digitalWrite(Relay1, HIGH);   // выключить Свет (ВЫСОКИЙ уровень реле)
          Relay1Status = 0;             // меняем статус на 0  
          bot.sendMessage(chat_id, "Свет выключен", "");
        }
            if (text == "/on2")
        {
          digitalWrite(Relay2, LOW);    // включить Реле (НИЗКИЙ уровень реле)
          Relay2Status = 1;             // меняем статус на 1
          bot.sendMessage(chat_id, "Реле включено", "");
        }
        if (text == "/off2")
        {
          digitalWrite(Relay2, HIGH);   // выключить Реле (ВЫСОКИЙ уровень реле)
          Relay2Status = 0;             // меняем статус на 0  
          bot.sendMessage(chat_id, "Реле выключено", "");
        }
        if (text == "/offall")
        {
          digitalWrite(Relay1, HIGH);   // выключить Свет (ВЫСОКИЙ уровень реле)
          digitalWrite(Relay2, HIGH);   // выключить Реле (ВЫСОКИЙ уровень реле)
          Relay1Status = 0;             // меняем статус на 0
          Relay2Status = 0;             // меняем статус на 0  
          bot.sendMessage(chat_id, "Всё выключено", "");
        }
        if (text == "/status")
        {
          if (Relay1Status)bot.sendMessage(chat_id, "Свет включен", "");
          else bot.sendMessage(chat_id, "Свет выключен", "");
          if (Relay2Status)bot.sendMessage(chat_id, "Реле включено", "");
          else bot.sendMessage(chat_id, "Реле выключено", "");
        }

        if (text == "/start")
        {
          String welcome = "Добро пожаловать, " + from_name + ".\n";
          welcome += "Включить-выключить реле.\n\n";
          welcome += "------------------------------\n";
          welcome += "/on : включить свет\n";
          welcome += "------------------------------\n";
          welcome += "/off : выключить свет\n";
          welcome += "------------------------------\n";
          welcome += "/on2 : включить реле\n";
          welcome += "------------------------------\n";
          welcome += "/off2 : выключить реле\n";
          welcome += "------------------------------\n";
          welcome += "/offall : выключить всё\n";
          welcome += "------------------------------\n";
          welcome += "/status : показывает включено или выключено\n";
          welcome += "------------------------------\n";
          bot.sendMessage(chat_id, welcome, "");
        }
      }
    }


    void setup()
    {
      Serial.begin(115200);
      Serial.println();

      pinMode(Relay1, OUTPUT);                  // Инициализируем как Выход
      pinMode(Relay2, OUTPUT);                  // Инициализируем как Выход
      digitalWrite(Relay1, HIGH);               // Выключаем свет
      digitalWrite(Relay2, HIGH);               // Выключаем реле

      // attempt to connect to Wifi network:
      configTime(0, 0, "pool.ntp.org");         // Сервер точного времени UTC NTP
      secured_client.setTrustAnchors(&cert);    // Добавляем сертификат api.telegram.org
      Serial.print("Соединяемся с Wifi ");
      Serial.print(WIFI_SSID);
      WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
      while (WiFi.status() != WL_CONNECTED)
      {
        Serial.print(".");
        delay(500);
      }
      Serial.print("\nСоединились. IP адрес: ");
      Serial.println(WiFi.localIP());

      Serial.print("Получение времени: ");
      time_t now = time(nullptr);
      while (now < 24 * 3600)
      {
        Serial.print(".");
        delay(100);
        now = time(nullptr);
      }
      Serial.println(now);
    }

    void loop()
    {
      if (millis() - bot_lasttime > BOT_MTBS)
      {
        int numNewMessages = bot.getUpdates(bot.last_message_received + 1);

        while (numNewMessages)
        {
          Serial.println("Ответ получен");
          handleNewMessages(numNewMessages);
          numNewMessages = bot.getUpdates(bot.last_message_received + 1);
        }

        bot_lasttime = millis();
      }
    }[/I]
     
     

    Вложения:

    Последнее редактирование модератором: 26 ноя 2021
  19. KindMan

    KindMan Гуру

    Попробуйте вручную добавить строку вначало #include <TelegramCertificate.h>
     
  20. b707

    b707 Гуру

    Maksym223
    а зачем новая тема?