# Прошивка MeshCore-репитеров с WEB и MQTT
Это форк прошивки [MeshCore-EastMesh](https://github.com/xJARiD/MeshCore-EastMesh), в котором поддержка австралийского сервиса телеметрии EastMesh AU заменена на поддержку сервиса [MeshCoreTel](https://meshcoretel.ru/), а также выполнен ряд других доработок и адаптация.
В остальном прошивка базируется на официальных версиях прошивок МеshCore. Благодарность Scott Powell / Ripple Radios и всем контрибьюторам MeshCore за оригинальную прошивку и основу проекта, а также Jared Dohrman за доработки, выполненные в рамках EastMesh.
## Ключевые особенности прошивки
### Дополнения ретранслятора
- поддержка Wi-Fi в клиентском режиме
- автонастройка сети через DHCP
- синхронизация времени по NTP
- поддержка MQTT-брокеров:
- `meshcoretel`
- `letsmesh-eu`
- `letsmesh-us`
- транспорт plain TCP и WSS по пути `/mqtt`
- JWT-аутентификация с использованием идентификации устройства для WSS
- CLI-команды для:
- учётных данных WiFi
- энергосбережения WiFi
- отчётов о заряде батареи на поддерживаемых платформах
- включения конечной точки MQTT
- отправки пакетов MQTT и публикации сырых данных
- публичного ключа владельца и адреса электронной почты
- включения локальной веб-панели
- управления вентилятором на TBeam 1W
- включения и отключения внешнего LNA на Heltec v4.3
- все сетевые процессы (включая обработку MQTT и веб-панели) вынесены на отдельное ядро и не вносят задержек в обработку LoRa-пакетов и функционирование ретранслятора
### Локальная веб-панель
Дополнительно на поддерживаемых устройствах (с достаточным количеством памяти) ретранслятор может предоставлять локальную панель конфигурации по HTTPS через WiFi.
#### Возможности:
- доступ по паролю, используя существующий административный пароль ретранслятора
- выполнение CLI-команд
- изменение основных настроек репитера и MQTT через веб-интерфейс
- сгруппированные быстрые действия
- вся ключевая статистика по репитеру
- список последних услышанных соседий с показателями качества сигнала
- хранение истории показателей за последние несколько часов (только на устройствах с PSRAM)
- безопасное обновление прошивки по HTTPS
- подгружаемые через API радио-пресеты и IATA-коды
- светлая и тёмная темы
- возможность отключения командой `set web off`
- адаптация для мобильных устройств
Подробнее в документации: [Использование веб-панели ретранслятора](https://vbart.github.io/MeshCoreTel-firmware/web-panel/)
### Веб-API по HTTPS
На устройствах с поддержкой веб-панели также возможно использование встроенного API по Wi-Fi.
#### Возможности:
- авторизация по паролю администратора с получением временного токена
- выполнение любых CLI-команд для управления, настройки и статуса
- получение всей доступной телеметрии
Данный API может быть использован для мониторинга с хранением долгосрочной истории (например с использованием таких инструментов как Prometheus и Grafana), а также автонастройки и управления устройством с помощью скриптов.
Подробнее в документации: [Использование веб-API ретранслятора](https://vbart.github.io/MeshCoreTel-firmware/api/)
## Релизы
Готовые прошивки публикуются на GitHub Releases:
-
А также доступны в веб-прошивальщике от MeshCoreTel:
- (под заголовком _Прошивки наблюдателя от VBart_)
## Документация
-
Основные разделы пользовательского руководства:
- [Сравнение устройств](https://vbart.github.io/MeshCoreTel-firmware/boards/)
- [Загрузка и прошивка релизов](https://vbart.github.io/MeshCoreTel-firmware/releases/)
- [Использование веб-панели ретранслятора](https://vbart.github.io/MeshCoreTel-firmware/web-panel/)
- [Использование веб-API ретранслятора](https://vbart.github.io/MeshCoreTel-firmware/api/)
- [Пользовательские команды CLI](https://vbart.github.io/MeshCoreTel-firmware/custom-cli/)