Pull to refresh

Comments 13

Безотносительно содержания, небольшое дополнение по предпосылкам этой статьи.

Возможно, что это я не разобрался до конца, но вот, например, проблема аутентификации (или управлять устройствами и следить за показаниями, в том числе допустим камер, может кто угодно, кто нашёл бота?), является ли Replit бесплатным (или хотя бы более дешёвым, чем айпишник от домашнего провайдера) (и, кстати, если нет, то каким образом они вообще зарабатывают деньги, или они заведомо убыточны, если не считать вкладываемых инвестиций, и могут в любой момент "сдуться" вместе со всей инфраструктурой).

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

Касаемо внешнего статического ip-адреса: существуют такие сети, как I2P, Tor и Yggdrasil. К сожалению, не знаю, насколько пользование ими считается законным, но по сути это децентрализованные сети. Хотя, безусловно, для работы в таком случае потребуется серверное устройство (любое, хоть Raspberry Pi, хоть не очень старенький компьютер) - учитывая, что Вам всё равно потребовалось приобретать дополнительные устройства (пускай это и плата с wifi-модулем), тут получается оба решения требуют доп.вложений, совсем уж "без доп.устройств" не обойтись (хотя, если у вас уже есть свой собственный маршрутизатор, который прошивается OpenWRT, то в таком случае теоретически можно было бы попробовать обойтись совсем без доп.вложений).

P.S. Из-за шифрования на уровне сети, Yggdrasil не требует https, ему достаточно http, а при автоматической настройке генерится IPv6 (причем из подмножества, которое точно никогда не будет занято в официальном Интернете).

P.P.S. Если вдруг заинтересовал, то тут надо предупредить, что роутер Yggdrasil проходит "сквозь" NAT со всеми вытекающими последствиями, не только положительными (считай децентрализованный VPN и self-hosted домашний сервер - который, правда, не на весь интернет виден, а только тем кто знает про эту меш-сеть), но и потенциально отрицательными (становится теоретически возможным проникновение в локальную сеть за NAT).

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

По поводу ReplIt - бесплатный он, если использовать некоторые нюансы, в виде UpTimeRobot. А так, там платные тарифы.

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

каким образом они вообще зарабатывают деньги

Платные подписки с увеличенными объёмами предоставляемых ресурсов и фишками типа "always-on repls" (их не надо дёргать всякими UpTimeRobot'ами), и коммерческие лицензии.

Одним днём не сдуются, но объём бесплатных ресурсов могут подрезать в любой момент.

Может я что-то не понимаю, но разве для таких простых задач нужен отдельный хостинг для бота? Есть куча библиотек, реализующих интерфейс Telegram Bot API для управления ботом с ESP-шки.

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

Мне тоже кажется избыточность данного решения.

Есть Телеграм бот под управлением ESP живущий в закрытом канале. Вся авторизация выполняется на уровне Телеграм.

Ну и интересно было бы увидеть полностью работу ESP через Телеграм включая прошивку OTA (собственно загрузку файла) и прочее.

Повторюсь: в данном контексте-возможно, но если устройств два? На каждое свой телеграм-бот нужен. А если 6 шт по дому развесить?

По поводу работы и прошивки не понял, вы хотите увидеть как это работает?

А MQTT не рассматривали в качестве транспорта? Есть бесплатные сервисы.
MQTT в таком случае возьмет на себя роль канала для получения свежего статуса и будет хранить состояние. Тогда телеграм будет не нужен вообще, ведь mqtt можно привязать напрямую к сценариям умного дома.

Любопытно
В очередной раз ковыряюсь с ардуинками и датчиками, статья весьма кстати
  1. В статье не отмечен смысл использования сервера - как уже было отмечено, здесь он не нужен. В рамках "создаём опору умного дома" так же сомнительно - гораздо надёжнее сделать сервер в локальной сети.

  2. Отпечаток SHA-1 быстро устаревает. Готовы перепрошиваться каждые 3 месяца? Думаю нет - в этом случае лучше взять полный ключ сертификата. По личному опыту скорость на ESP8266 не ухудшается, зато для кучи сервисов имеет актуальность до 2038 года.

  3. ESP8266 кривая и устаревшая, вроде как даже поддержка производителем прекращена. Про кривость и веселье я когда-нибудь обязательно напишу отдельную статью, но вот то, что есть в вашем проекте из подобного - .connect() на 8266 часто (очень часто!) приводит к крашу и перезагрузке при HTTPS подключении. Решения нет и проявляется на всех версиях фреймворка для Arduino как минимум три года (более старые версии и чистый ESP8266 SDK не проверял). Вернее решение имеется, простое, но из другой плоскости - забыть про ESP8266 и взять ESP32-C3/ESP32-S2 - современные микроконтроллеры того же инженерного бюро, но с кучей новых возможностей, мощностью выше ESP32 и гораздо надёжнее.

В общем-то хорошо, что освящена возможность работать с микроконтроллерами через Telegram. Плохо, что максимально неоптимальным способом. Что-то на уровне умных теплиц из 2013-ого - сейчас можно проще и дешевле.

Спасибо за ваш интерес и комментарий!


1) Смысл сервера в возможности работать сразу с несколькими микроконтроллерами
2) Ценный совет
3) Вроде как тут все работает достаточно долго и сбоев не происходило. По поводу современных ESP32 - действительно, стоит их рассмотреть.

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

Sign up to leave a comment.

Articles