Telegram и Meshtastic

Двунаправленный мост между Telegram-чатом и LoRa mesh-сетью. Сообщения из Telegram уходят в mesh и наоборот.

Способы интеграции

TMesh (.NET)Python-ботMQTT + Node-REDФорк прошивки
Сложностьвысокаянизкаясредняянизкая
Нужен серверда (VPS + MQTT + webhook)да (Pi/VPS)да (Pi/VPS)нет
ШифрованиеPKI + AESнет / PSKнетнет
Multi-gatewayданетнетнет
Delivery trackingданетнетнет
Приватные каналыданетнетнет
Гибкостьвысокаясредняявысокаянизкая
Стабильностьхорошаяхорошаяхорошаясомнительная

Способ 1: Python-бот (рекомендуемый)

Telegram ←──API──→ [Python-бот] ←──USB/MQTT──→ [Gateway нода] ←──LoRa──→ [Mesh]

TMesh (.NET, PKI)

Самый продвинутый вариант. Виртуальная нода с PKI-шифрованием, multi-gateway routing, delivery tracking, поддержка приватных каналов. Требует свой MQTT-брокер и webhook endpoint.

  • Репо: samfromlv/tmesh
  • .NET 8, Docker, SQLite + опционально PostgreSQL (аналитика)
  • Подробнее: TMesh

meshtastic-telegram-gateway

Самый зрелый Python-проект. Двунаправленный, поддерживает USB и MQTT-подключение к ноде.

  • Репо: tb0hdan/meshtastic-telegram-gateway
  • Python 3.8+, настройка в mesh.ini
  • MQTT-режим — работает без физического подключения к ноде
  • Доп. интеграции: APRS, OpenAI

meshgram

Простой мост Meshtastic ↔ Telegram-группа. Обмен сообщениями и GPS-позициями.

  • Репо: gretel/meshgram
  • Конфигурация через YAML: bot_token, chat_id, connection_type
  • Поддержка serial и TCP подключения

meshgram (neoemit)

Лёгкая альтернатива. Фильтрация нод через allowlist.

meshtastic-telegram-bot

Минимальный форвардер. Каждое сообщение от админа пересылается в mesh.

Быстрый старт

  1. Создать бота через @BotFather в Telegram → получить токен
  2. Узнать chat_id группы (отправить сообщение боту, запросить https://api.telegram.org/bot<TOKEN>/getUpdates)
  3. Подключить ноду по USB или настроить MQTT
  4. Заполнить конфиг, запустить

Способ 2: MQTT + Node-RED + Telegram

Telegram ←─API─→ [Node-RED: telegram-bot + MQTT] ←─Wi-Fi─→ [Gateway] ←─LoRa─→ [Mesh]

Более гибкий, позволяет добавить логику (фильтры, форматирование, автоответы, логирование).

Требуется

  • Gateway-нода с MQTT (Wi-Fi + uplink/downlink)
  • Node-RED с плагинами:
    • node-red-contrib-telegrambot — Telegram
    • MQTT-ноды (встроенные) — подписка на msh/RU/2/json/...
  • MQTT-брокер (Mosquitto)

Flow

  • Mesh → Telegram: MQTT in → парсинг JSON → форматирование → Telegram send
  • Telegram → Mesh: Telegram receive → формирование JSON envelope → MQTT publish

JSON envelope для отправки в mesh:

{"from": <nodeNumber>, "type": "sendtext", "payload": "текст сообщения"}

Топик: msh/RU/2/json/mqtt/!nodeId

Способ 3: Форк прошивки (не рекомендуется)

meshtastic-telegram-firmware — форк Meshtastic с встроенным Telegram. Нода сама шлёт через Wi-Fi, без внешнего сервера.

Минусы: отстаёт от основной прошивки, возможные баги, нет поддержки сообщества.

Что нужно

  • Telegram-бот (бесплатно через @BotFather)
  • Компьютер для запуска — Raspberry Pi, VPS, или ПК, который всегда включён
  • Подключение к ноде — USB-кабель к Pi или MQTT-gateway через Wi-Fi

Варианты подключения

ВариантНужен Pi рядом с нодойНужен VPS
USB-подключениеда — Pi + нода рядомнет
MQTT-режимнетда (или Pi с Wi-Fi)

Источники