Простейший Telegram BOT как альтернатива MQTT
Вставка
- Опубліковано 15 жов 2024
- Пример простейшего бота на ESP32-C3 для хранения информации в групповом чате Telegram.
github.com/Moo...
PS: напоминаю, что за мат, дебилизм и прочее неадекватное поведение - бан без разбора. Думайте, когда именно оскорбить автора или других комментаторов - второго шанса не будет. :)
Благодарю за очень интересную информацию по подключению telegram-бота в проект. И Вас с Наступающим Новым Годом!
Всё класс!!! Ждём урок с ботом с обратной связью.
Красава, почаще бы такие видео! Очень ждём следующее видео.
Имейте в виду только, что суммарное количество личных сообщений на каждого пользователя ограничено. Это количество где-то в диапазоне 3-10 миллионов. После превышения старые сообщения будут исчезать (и из других чатов). Поэтому если бот будет постоянно срать к вам в чат, то вы потеряете старые сообщения. Сообщения в каналах на это число не влияет, так что на счет своих подписок можно не переживать.
Проверил. Работает. Спасибо!
Интересная идея! Вопрос от чайника.ESP8266 будет посылать Https запрос? Что-то у меня сходу не получилось.
Будет и ESP8266.
.setInsecure() на объекте WiFiClientSecure или настройка сертификата для общения по https.
@alexmorozov, спасибо за труды, по вашим видео/исходникам пытаюсь постигать азы mbed-разработки. Всех благ и творческих успехов в новом году.
Делал нечто подобное. Работает недолго, так как телеграмм анализирует трафик и через некоторое время банит передачу. Но, если задать плавающее время передачи с чат, к примеру, рандомно прибавляя пару тройку секунд к времени спячки, телеграмм думает, что это нормальные сообщения с плавающим временем появления и это работает четко и без сбоев. Рабочий лайфак 😅
Кварц на ESP32 и т.п. в режиме глубокого сна настолько плавает сам, что особо никакие дополнительные меры не нужны. :) Если, конечно, речь идет о значимых промежутках времени. У меня 2 счетчика сбрасывают показания боту 2 раза в день, пока все работает.
@@alexmorozov73 Конечно, такие большие перерывы в передаче как раз в полдня не вызывают проблем. Если постить в канал каждую минуту - может быть бан. Но это как раз я решил рандомной передачей сообщений. Спасибо за видео, вы молодец!
"А дальше?" (c) "Данные данные" можно считать каким-либо другим ботом? NodeRed'ои, curl'ом, хоть чем-то? Тоже хотел уйти от MQTT за двумя nat'ами, но без VPN, в телеграм :(
ты сказал что у тебя передается от импульсных счетчиков воды ... а можно эту тему поподробней
Я делаю так же но по запросу. С мобилки выбираешь в меню команду а esp отвечает. Но так она будет дольше отвечать если будет спать. Но не критично.
А вот расскажите, почему напрямую ботом можно управлять с любого ID? Как так? Разве не должен управлять ботом только администратор с его ID? Как это лечиться?
Причем тут ID и ID кого/чего?
Bot API использует для авторизации bot key, его никто знать не должен кроме создателя.
Так на вас вся ответственность за список команд и их выполнение. Фильтруйте по пользователю.
ах да, точно иногда сообщения двоятся(отправленные ботом) это тоже нужно лечить, но благо на это костыль не так сложно прописать. Правда не без последтвий для полноты работы библиотеки
Здравствуйте! Можно ли одного бота залить в 2 устройства? Для этого в коде для разных устройств прописать разные команды, чтобы каждое отвечало только на свои?
В целом можно, но работать будет не очень хорошо
Спасибо большое за урок!
Приветствую, Алексей!
Все это хорошо, но в MQTT больше интересна т.н. подписка, т.е. когда переданные данные одного клиента получает другой клиент и каким либо образом их использует.
А в данном случае это функционал некого логера, да он тоже интересен и нужен, но он одностороннен.
Почему односторонен? Я управлял своей еспшкой чере телеграмм. Значит, если создать группу есп, то они вполне могут общаться между собой.
Как пишут в оничениях в телеграм в группу можно включить не более 20 ботов. Ну и есть одно ограничение - не более 30 сообщений в секунду от одного участника.
Спасибо за информацию, было интересно и вполне полезно
Супер, спасибо большое
А почему не использовать готовую библиотеку ? К примеру fastbot ?
Простые задачи не требуют сложных решений.
@@alexmorozov73 получится намного проще же, пару всë умещается в 5 строк кода
Попросите Гайвера написать для вас библиотеку под конкретную задачу, тогда можно будет обойтись одним конструктором нужного класса. :)
Простота - это не 5 строк кода, а не использовать объекты с избыточной функциональностью и занимаемой памятью для элементарных действий.
довольно много костылей пришлось дописывать в эту библиотеку бота.
нужен контроль ошибок принятия ответа, нужен контроль ошибок отправки. Дать функционал нескольких попыток, затем игнорирование. Само по себе инорирование на сколько я понял не задокументированно, хотя помогли в чате разработчиков.
если ответить боту на его сообщение бот (без переделок) шизанет
если написать большое сообщение (или какое-то сложное меню опро итд) бот тоже повиснет.
так что либу надо чуть дописать. И еще если использовать телеграм бота и фото (esp32cam) то рано или поздно начнет крашится. У меня есть либа немного перелопаченная мной, но я ее не делал "красиво" и костыли как костыли вкручены кувалндой =)
сначала лучше боту админ права дать, и только потом Id копировать. иногда ID меняется при переходе в супергруппу
Это НЕ замена комару.
Это навороченный сериал.
Вы случайно не встречали хорошо работающего брокера которого можно крутить на ЕСП32 ?
Я этой темой не интересовался, у меня на NAS Mosquitto стоит или у Яндекса 100 000 первых обращений бесплатно, там можно еще и скрипты для БД повесить легко.
@@alexmorozov73 Да, всё верно. Я просто столкнулся с таким вопросом, когда ты настраиваешь автономно систему, и все работает хорошо. Но если пропадает интернет - все разваливается. А установка в доме сервера на базе малинки или оранжа - тоже не очень надежно. Они раз в несколько лет требуют внимания. То флешка разваливается, то еще какие то проблемы. Пытаюсь найти решение по принципу поставил и забыл.
И пока что не могу найти.
Вот родителям умный дом собрал - все работает волшебно. Но интернет пропадает - и как бы всё. Стоял оранж - пару лет поработал и умерла флешка. А я далеко, и обслуживать не могу.
Пытаюсь придумать решение которое будет работать годами и не требовать постоянного ремонта.
@@alexthebear "решение по принципу поставил и забыл"
x86 SoC
Алексей молодец! Быстро, просто и без лишних затей.
Мысль у меня родилась по поводу дальнейших уроков. Я вот быстро глянул Ютуб и как-то не нашёл ничего толкового по поводу использования нативного ESPшного SDK. Может быть плохо искал. Понятно, что если очень захотеть и к тому же прочитать мануал на сайте ESP, то всё будет как надо, но я просто высказываю мысль о следующих уроках. Может быть Вы расскажете, как работать с родным ESPшным SDK? Всё-таки Ваши уроки претендуют на более продвинутый уровень любителей и, вероятно, продвинутые любители заинтересуются темой использования нативного SDK. Во всяком случае, мне было бы очень интересно.
И конечно же, Алексей, с наступающими! Искренне желаю всего самого наилучшего лично Вам и всем Вашим родственникам! Спасибо Вам за Вашу просветительскую работу.
У меня был ролик про сравнение Arduino и IDF (ua-cam.com/video/Gz-rxKv-fSw/v-deo.html ), как начальная точка лучше чем ничего. А так я не пишу на чистом IDF, хотя часто использую прямые вызовы, чтобы ардуинские костыли обойти.
Совсем плохо искал. Народстрим много рассмотрено работы через sdk
последние ролики как раз посвящены mqtt и работе с ним на esp32
А у меня сейчас данные с датчиков на esp засылаются в базу firebase. Оттуда беру их в android аппу и строю графики)
Точно так же отправку делаю. Не понял зачем группу создавать. Чат id можно посмотреть в http запросе проверки новых сообщений. Он будет в том самом сообщении /start.
В группу можно добавить других заинтересованных в получении данных лиц.
👍👍👍
видимо заблокировали у меня не получилось(
А схему можно посмотреть?
Схему чего? Пример из ролика на голой плате работает.
@@alexmorozov73 подключение к счётчикам воды
Схема подключения не важна, важен код. Пока результаты энергопотребления неудовлетворительные, так что делиться решением не имеет смысла.
Какая альтернатива?? вы о чем? лопата ложке тоже тогда альтернатива!!
я первый, комент для продвижения
Всё класс!!! Ждём урок с ботом с обратной связью.
На батарейном питании это так себе идея...
@@alexmorozov73 можно подождать ответа 3 секунды и отключиться. Но тогда нужен дополнительный бот который будет постоянно в онлайне в каком-нибудь облаке или сервере. Слишком сложно получается.