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.
- Репо: neoemit/meshgram
meshtastic-telegram-bot
Минимальный форвардер. Каждое сообщение от админа пересылается в mesh.
Быстрый старт
- Создать бота через
@BotFatherв Telegram → получить токен - Узнать
chat_idгруппы (отправить сообщение боту, запроситьhttps://api.telegram.org/bot<TOKEN>/getUpdates) - Подключить ноду по USB или настроить MQTT
- Заполнить конфиг, запустить
Способ 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) |