Простейший Telegram BOT как альтернатива MQTT

Поділитися
Вставка
  • Опубліковано 15 жов 2024
  • Пример простейшего бота на ESP32-C3 для хранения информации в групповом чате Telegram.
    github.com/Moo...
    PS: напоминаю, что за мат, дебилизм и прочее неадекватное поведение - бан без разбора. Думайте, когда именно оскорбить автора или других комментаторов - второго шанса не будет. :)

КОМЕНТАРІ • 54

  • @efiron
    @efiron Рік тому +8

    Благодарю за очень интересную информацию по подключению telegram-бота в проект. И Вас с Наступающим Новым Годом!

  • @Srvrn-1
    @Srvrn-1 Рік тому +6

    Всё класс!!! Ждём урок с ботом с обратной связью.

  • @maximkorovkin
    @maximkorovkin Рік тому +2

    Красава, почаще бы такие видео! Очень ждём следующее видео.

  • @johnkoffee
    @johnkoffee 11 місяців тому +1

    Имейте в виду только, что суммарное количество личных сообщений на каждого пользователя ограничено. Это количество где-то в диапазоне 3-10 миллионов. После превышения старые сообщения будут исчезать (и из других чатов). Поэтому если бот будет постоянно срать к вам в чат, то вы потеряете старые сообщения. Сообщения в каналах на это число не влияет, так что на счет своих подписок можно не переживать.

  • @avechess
    @avechess Рік тому

    Проверил. Работает. Спасибо!

  • @Storks40
    @Storks40 Рік тому

    Интересная идея! Вопрос от чайника.ESP8266 будет посылать Https запрос? Что-то у меня сходу не получилось.

    • @alexmorozov73
      @alexmorozov73  Рік тому +1

      Будет и ESP8266.
      .setInsecure() на объекте WiFiClientSecure или настройка сертификата для общения по https.

  • @АлександрБулыга-н2г

    @alexmorozov, спасибо за труды, по вашим видео/исходникам пытаюсь постигать азы mbed-разработки. Всех благ и творческих успехов в новом году.

  • @alexandermyagkov7707
    @alexandermyagkov7707 Рік тому +3

    Делал нечто подобное. Работает недолго, так как телеграмм анализирует трафик и через некоторое время банит передачу. Но, если задать плавающее время передачи с чат, к примеру, рандомно прибавляя пару тройку секунд к времени спячки, телеграмм думает, что это нормальные сообщения с плавающим временем появления и это работает четко и без сбоев. Рабочий лайфак 😅

    • @alexmorozov73
      @alexmorozov73  Рік тому +1

      Кварц на ESP32 и т.п. в режиме глубокого сна настолько плавает сам, что особо никакие дополнительные меры не нужны. :) Если, конечно, речь идет о значимых промежутках времени. У меня 2 счетчика сбрасывают показания боту 2 раза в день, пока все работает.

    • @alexandermyagkov7707
      @alexandermyagkov7707 Рік тому

      @@alexmorozov73 Конечно, такие большие перерывы в передаче как раз в полдня не вызывают проблем. Если постить в канал каждую минуту - может быть бан. Но это как раз я решил рандомной передачей сообщений. Спасибо за видео, вы молодец!

  • @SergNF68
    @SergNF68 Рік тому

    "А дальше?" (c) "Данные данные" можно считать каким-либо другим ботом? NodeRed'ои, curl'ом, хоть чем-то? Тоже хотел уйти от MQTT за двумя nat'ами, но без VPN, в телеграм :(

  • @basilstadnik1342
    @basilstadnik1342 Рік тому +1

    ты сказал что у тебя передается от импульсных счетчиков воды ... а можно эту тему поподробней

  • @vasyalapuh2878
    @vasyalapuh2878 Рік тому +1

    Я делаю так же но по запросу. С мобилки выбираешь в меню команду а esp отвечает. Но так она будет дольше отвечать если будет спать. Но не критично.

  • @Трамонтана
    @Трамонтана 2 місяці тому

    А вот расскажите, почему напрямую ботом можно управлять с любого ID? Как так? Разве не должен управлять ботом только администратор с его ID? Как это лечиться?

    • @alexmorozov73
      @alexmorozov73  2 місяці тому

      Причем тут ID и ID кого/чего?
      Bot API использует для авторизации bot key, его никто знать не должен кроме создателя.

    • @alexmorozov73
      @alexmorozov73  2 місяці тому

      Так на вас вся ответственность за список команд и их выполнение. Фильтруйте по пользователю.

  • @fliblomlaslojor
    @fliblomlaslojor Рік тому

    ах да, точно иногда сообщения двоятся(отправленные ботом) это тоже нужно лечить, но благо на это костыль не так сложно прописать. Правда не без последтвий для полноты работы библиотеки

  • @slv8507
    @slv8507 Рік тому

    Здравствуйте! Можно ли одного бота залить в 2 устройства? Для этого в коде для разных устройств прописать разные команды, чтобы каждое отвечало только на свои?

    • @ig55555or
      @ig55555or Рік тому

      В целом можно, но работать будет не очень хорошо

  • @МихаилВ-ч7г
    @МихаилВ-ч7г Рік тому

    Спасибо большое за урок!

  • @volgaleoking3264
    @volgaleoking3264 Рік тому +1

    Приветствую, Алексей!
    Все это хорошо, но в MQTT больше интересна т.н. подписка, т.е. когда переданные данные одного клиента получает другой клиент и каким либо образом их использует.
    А в данном случае это функционал некого логера, да он тоже интересен и нужен, но он одностороннен.

    • @SSSuzd
      @SSSuzd Рік тому

      Почему односторонен? Я управлял своей еспшкой чере телеграмм. Значит, если создать группу есп, то они вполне могут общаться между собой.
      Как пишут в оничениях в телеграм в группу можно включить не более 20 ботов. Ну и есть одно ограничение - не более 30 сообщений в секунду от одного участника.

  • @aleksbotler5358
    @aleksbotler5358 Рік тому

    Спасибо за информацию, было интересно и вполне полезно

  • @romanxyligan62
    @romanxyligan62 Рік тому

    Супер, спасибо большое

  • @smartsustem1099
    @smartsustem1099 Рік тому

    А почему не использовать готовую библиотеку ? К примеру fastbot ?

    • @alexmorozov73
      @alexmorozov73  Рік тому +1

      Простые задачи не требуют сложных решений.

    • @smartsustem1099
      @smartsustem1099 Рік тому

      @@alexmorozov73 получится намного проще же, пару всë умещается в 5 строк кода

    • @alexmorozov73
      @alexmorozov73  Рік тому +1

      Попросите Гайвера написать для вас библиотеку под конкретную задачу, тогда можно будет обойтись одним конструктором нужного класса. :)
      Простота - это не 5 строк кода, а не использовать объекты с избыточной функциональностью и занимаемой памятью для элементарных действий.

  • @fliblomlaslojor
    @fliblomlaslojor Рік тому

    довольно много костылей пришлось дописывать в эту библиотеку бота.
    нужен контроль ошибок принятия ответа, нужен контроль ошибок отправки. Дать функционал нескольких попыток, затем игнорирование. Само по себе инорирование на сколько я понял не задокументированно, хотя помогли в чате разработчиков.
    если ответить боту на его сообщение бот (без переделок) шизанет
    если написать большое сообщение (или какое-то сложное меню опро итд) бот тоже повиснет.
    так что либу надо чуть дописать. И еще если использовать телеграм бота и фото (esp32cam) то рано или поздно начнет крашится. У меня есть либа немного перелопаченная мной, но я ее не делал "красиво" и костыли как костыли вкручены кувалндой =)

  • @fliblomlaslojor
    @fliblomlaslojor Рік тому +1

    сначала лучше боту админ права дать, и только потом Id копировать. иногда ID меняется при переходе в супергруппу

  • @АлександрЗаг-м9о

    Это НЕ замена комару.
    Это навороченный сериал.

  • @alexthebear
    @alexthebear Рік тому +1

    Вы случайно не встречали хорошо работающего брокера которого можно крутить на ЕСП32 ?

    • @alexmorozov73
      @alexmorozov73  Рік тому

      Я этой темой не интересовался, у меня на NAS Mosquitto стоит или у Яндекса 100 000 первых обращений бесплатно, там можно еще и скрипты для БД повесить легко.

    • @alexthebear
      @alexthebear Рік тому +1

      @@alexmorozov73 Да, всё верно. Я просто столкнулся с таким вопросом, когда ты настраиваешь автономно систему, и все работает хорошо. Но если пропадает интернет - все разваливается. А установка в доме сервера на базе малинки или оранжа - тоже не очень надежно. Они раз в несколько лет требуют внимания. То флешка разваливается, то еще какие то проблемы. Пытаюсь найти решение по принципу поставил и забыл.
      И пока что не могу найти.
      Вот родителям умный дом собрал - все работает волшебно. Но интернет пропадает - и как бы всё. Стоял оранж - пару лет поработал и умерла флешка. А я далеко, и обслуживать не могу.
      Пытаюсь придумать решение которое будет работать годами и не требовать постоянного ремонта.

    • @Mr.Leeroy
      @Mr.Leeroy Рік тому

      @@alexthebear "решение по принципу поставил и забыл"
      x86 SoC

  • @timityltd
    @timityltd Рік тому +1

    Алексей молодец! Быстро, просто и без лишних затей.
    Мысль у меня родилась по поводу дальнейших уроков. Я вот быстро глянул Ютуб и как-то не нашёл ничего толкового по поводу использования нативного ESPшного SDK. Может быть плохо искал. Понятно, что если очень захотеть и к тому же прочитать мануал на сайте ESP, то всё будет как надо, но я просто высказываю мысль о следующих уроках. Может быть Вы расскажете, как работать с родным ESPшным SDK? Всё-таки Ваши уроки претендуют на более продвинутый уровень любителей и, вероятно, продвинутые любители заинтересуются темой использования нативного SDK. Во всяком случае, мне было бы очень интересно.
    И конечно же, Алексей, с наступающими! Искренне желаю всего самого наилучшего лично Вам и всем Вашим родственникам! Спасибо Вам за Вашу просветительскую работу.

    • @alexmorozov73
      @alexmorozov73  Рік тому

      У меня был ролик про сравнение Arduino и IDF (ua-cam.com/video/Gz-rxKv-fSw/v-deo.html ), как начальная точка лучше чем ничего. А так я не пишу на чистом IDF, хотя часто использую прямые вызовы, чтобы ардуинские костыли обойти.

    • @aleksbotler5358
      @aleksbotler5358 Рік тому +1

      Совсем плохо искал. Народстрим много рассмотрено работы через sdk

    • @aleksbotler5358
      @aleksbotler5358 Рік тому

      последние ролики как раз посвящены mqtt и работе с ним на esp32

  • @0km_
    @0km_ Рік тому +1

    А у меня сейчас данные с датчиков на esp засылаются в базу firebase. Оттуда беру их в android аппу и строю графики)

  • @androidpasha
    @androidpasha Рік тому

    Точно так же отправку делаю. Не понял зачем группу создавать. Чат id можно посмотреть в http запросе проверки новых сообщений. Он будет в том самом сообщении /start.

    • @alexmorozov73
      @alexmorozov73  Рік тому +4

      В группу можно добавить других заинтересованных в получении данных лиц.

  • @chegleeff
    @chegleeff Рік тому

    👍👍👍

  • @Verial1966
    @Verial1966 Рік тому

    видимо заблокировали у меня не получилось(

  • @kcvents
    @kcvents Рік тому

    А схему можно посмотреть?

    • @alexmorozov73
      @alexmorozov73  Рік тому

      Схему чего? Пример из ролика на голой плате работает.

    • @kcvents
      @kcvents Рік тому

      @@alexmorozov73 подключение к счётчикам воды

    • @alexmorozov73
      @alexmorozov73  Рік тому

      Схема подключения не важна, важен код. Пока результаты энергопотребления неудовлетворительные, так что делиться решением не имеет смысла.

  • @Serjaru
    @Serjaru Рік тому

    Какая альтернатива?? вы о чем? лопата ложке тоже тогда альтернатива!!

  • @АлексейОрлов-м1т

    я первый, комент для продвижения

  • @evgenyn5966
    @evgenyn5966 Рік тому +2

    Всё класс!!! Ждём урок с ботом с обратной связью.

    • @alexmorozov73
      @alexmorozov73  Рік тому +1

      На батарейном питании это так себе идея...

    • @SIM31r
      @SIM31r Рік тому

      ​@@alexmorozov73 можно подождать ответа 3 секунды и отключиться. Но тогда нужен дополнительный бот который будет постоянно в онлайне в каком-нибудь облаке или сервере. Слишком сложно получается.