Telegram реле

Тема в разделе "Глядите, что я сделал", создана пользователем REMBOV, 27 дек 2017.

  1. Airbus

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

    А это скетч для розетки Sonoff
    [​IMG]
    Для управления по Телеграмму.
    Код (C++):
    // Telegram rele
    // реле Sonoff управляемое по Телеграмме
    #include <ESP8266WiFi.h>
    #include <WiFiClientSecure.h>
    #include <UniversalTelegramBot.h>
    #include <ArduinoJson.h>
    char ssid[] = "***";
    char password[] = "*****";

    #define BOTtoken "******"
    WiFiClientSecure client;
    UniversalTelegramBot bot(BOTtoken, client);

    String keyboardJson = "[[\"/ledon\", \"/ledoff\",\"/ledon2\", \"/ledoff2\",\"/ledon3\", \"/ledoff3\"]]";

    void setup() {
      pinMode(12, OUTPUT); //Реле
      pinMode(13, OUTPUT); //Led
      digitalWrite(12, LOW); //выключено
      digitalWrite(13, LOW); //выключено
      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[i].chat_id);
        String text = bot.messages[i].text;
        if (text == "/ledon")
        {
          Serial.println("turnOn");
          bot.sendMessage(chat_id, "вкл", "");
          digitalWrite(12, HIGH); //включено
          digitalWrite(13, HIGH); //включено
        }
        if (text == "/ledoff")
        {
          Serial.println("turnOff");
          bot.sendMessage(chat_id, "выкл", "");
          digitalWrite(12, LOW); //выключено
          digitalWrite(13, LOW); //выключено
        }
        if (text == "/start")
         {
          bot.sendMessageWithReplyKeyboard(chat_id,
              "Choose from one of the following options",
          "", keyboardJson, true);
         }
       }
    }
     
    Пользуйтесь на здоровье!
     
    yucan нравится это.
  2. Securbond

    Securbond Гуру

    Можно поинтересоваться., как Ваш скетч отрабатывает падение WiFi?
     
  3. parovoZZ

    parovoZZ Гуру

    Надо понимать, это вытекающий ток или втекающий.
     
  4. Airbus

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

    А никак.Такая задача и не ставилась.Просто хотел показать как скетчем ТС управлять конкретной розеткой.Например включать обогреватель на балконе.Или Свет.На замену GSM розетке.А как от отрабатывает падение WiFi на родном Ewelinkе?А на Xiaomi(без Гейта)?
     
  5. Securbond

    Securbond Гуру

    Родной стоит дней 5, пока не скажу как отрабатывает (у меня WiFi достаточно стабильный). Xiaomi с нового года завис 1 раз (и то только шлюз), всё остальное работало.
     
  6. Securbond

    Securbond Гуру

    Всё равно спасибо за скетч. Работа через телегу вещь хорошая. Ещё бы боты была возможность (может и есть) без сторонних приложений паролить.
     
  7. Airbus

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

    Завис в первых числах марта?Знаю что у Вас Xiaomi.Я тоже заказал себе пока жду.Розетки приехали за неделю "Голова" через месяц а вот датчики жду уже почти два месяца.Если будут вопросы могу к Вам обратиться?
     
  8. Securbond

    Securbond Гуру

    Конечно. Чем смогу помогу. Вы вроде то же из Питера... обращайтесь.
     
    Airbus нравится это.
  9. Memfis09

    Memfis09 Нерд

    Доброго времени суток,
    у кого-нибудь работает сейчас бот телеграмма с ESP?
    Скопировал приведенные скетчи, попробовал собрать свой, но не видно никаких действий с телеграммом...к сети которой подключается esp однозначно есть доступ к телеграмму...
    Заранее спасибо за помощь.
     
  10. Airbus

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

    Телеграм то вроде заработал?
     
  11. NikitOS

    NikitOS Король шутов Администратор

    Ага. И РКН там завел канал :D
     
    Andrey12 и Рокки1945 нравится это.
  12. sqafaroff

    sqafaroff Нерд

    Попробовал ваш скетч, вписал свой токен который мне выдал бот BotFather при создании нового бота, вписал даже #define CHAT_ID"xxxxxxx" со своим айди. Но никакой реакции. Правда у меня не ESP8266 а ESP32 ... Очень надо сделать уведомление о нажатии на кнопку GPIO0 на плате. Посмотрел в библиотеке UniversalTelegramBot.h вроде как написано что есть поддержка ESP32. Прошу вас помочь.
     
  13. sqafaroff

    sqafaroff Нерд

    Я ее сегодня и так и эдак, ну не хочет она работать. Ужас, не знаю что делать. Бота создал, токен получил, айди пользователя нашел ... Но вот сцуко, сертификат телеграмма не могу сделать. Да и не понял точно, нужен ли он там. В некоторых примерах он напрочь отстутствует.
     
  14. Airbus

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

    Дак он в России не работает я тоже пробовал. А по Esp32 ничем не помогу, я с ней не работаю никак.
     
  15. sqafaroff

    sqafaroff Нерд

    Да не, я не из РФ. Я из Баку. Телеграмм то у нас полностью работает.
     
  16. ИгорьК

    ИгорьК Гуру

    Друже, я тебе ни чем не помогу, потому как на ардуино давно не программирую.

    Просто общие замечания. Пост твой звучит так: "подошёл к машине - а она не работает. Уже и ключ достал, и на колеса посмотрел - а она не работает".

    Что за машина, что ты делаешь, какой код в неё пихаешь - не известно.

    Там по ссылке огромная тема, туча примеров, последний коммит - 11 дней назад.
    То есть это не может не работать, значит проблема в том, что ты делаешь.
     
  17. sqafaroff

    sqafaroff Нерд

    Я понял и уже все сделал )) Просто хотелось побыстрее но и так тоже хорошо. Особенно если учесть что я тоже не бум бум в ардуино )) Телеграмм принимает мои нажатия на кнопку на плате )) это мне и нужно было
     
  18. Airbus

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

    А так?

     
    sqafaroff нравится это.
  19. sqafaroff

    sqafaroff Нерд

    Почти так, просто у меня нет управления через бот. Только уведомления ))
     
  20. Airbus

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

    Жаль сам проверить не могу :mad: