Настройка MQTT для ONEmesh

Описание настроек ноды для подключения к MQTT-серверу карты устройств Meshtastic в России, с разделением по городам.
На карте сообщество получает визуальное отображение. Это полезно для развития сети в вашем городе - люди видят, что сеть в городе активна и захотят присоединиться. При корректной настройке, в работе устройства Meshtastic ничего не изменится.

Вам не обязательно настраивать подключение самостоятельно, если у вас есть соседи, уже подключенные к серверу mqtt.onemesh.ru - они могут передавать ваши данные. Но вам нужно включить "OK в MQTT" в разделе LoRa и настроить местоположение.

Если ваше устройство передает своё местоположение, то эта история хранится картой 30 дней. Если нужно удалить ноду или очистить историю местоположения - пишите в группу Telegram или MAX

1. MQTT

Адрес:mqtt.onemesh.ru
Имя пользователя:onemesh
Либо onemeshz или onemeshd для Downlink.
Пароль:onecat
Шифрование включено:Да
Отключите, если у вас активен "Лицензированный радиолюбитель (HAM)" в разделе "Пользователь" или не заполнен "PSK" у каналов, а иначе - включите.
Вывод JSON включен:Нет
TLS включен:Да
Корневая тема:msh/RU/XXX
Замените XXX на код вашего города отсюда →
Прокси клиенту включен:Да
Отключите, если ваше устройство подключено по Wi-Fi. Если же вы подключаетесь через Bluetooth - включите и данные будут отправляться через телефон.
Отчеты по карте:Да
Я согласен:Да
Точность:729 м
Интервал отчета карты:1 час (3600 сек)

MQTT-сервер ONEmesh поддерживает три режима работы, в зависимости от использованного имени пользователя:
1. onemesh — имя пользователя по-умолчанию, большинству стоит использовать его (downlink для него отключен со стороны сервера).
2. onemeshz — downlink включен в режиме zero-hop policy (ваша нода может получать данные из интернета, но по радио их не ретранслирует).
3. onemeshd — режим downlink без ограничений (не рекомендуется использовать). Его можно использовать в строго ограниченных случаях, например: для какой-либо интеграции; когда рядом нет других нод; когда вам требуется соединить два разных сегмента, не имеющих прямой связи по радио (разные районы города, пригород и т.д.). Использование "onemeshd" с включенным Downlink будет сильно нагружать радио-сеть пересылкой пакетов из интернета - используйте его только если полностью понимаете, что вы делаете.

Важно: Возможно настройку MQTT придется выполнить в два этапа - сначала основную часть, потом отчеты по карте, т.к. в некоторых версиях приложения кнопка "Сохранить"/"Отправить" не активна, если заполнить сразу всё. Возможно даже придется пробовать разные комбинации параметров с сохранением, например - включать/отключать TLS, если MQTT не включается и сохранять вместе несколько опций.

Выполнив эти настройки и при наличии интернет-подключения на устройстве / вашем телефоне, а также GPS на устройстве или фиксированных координатах / включенной настройке в приложении "Предоставление местоположения для сети" (на устройствах Apple понадобится также включить Location и Share Location в разрешениях для приложения) - ваше устройство должно появиться на карте с выбранной точностью в течение нескольких часов (3600 сек = 1 час, но это минимум). Интервал можно не увеличивать, т.к. эти данные отправляются только на сервер.

Информация будет передаваться когда есть подключение к интернету и только про ваше устройство и местоположение, без сообщений и телеметрии. Учитывайте, что история местоположения хранится картой 30 дней. При необходимости вы можете уменьшить точность передаваемых координат, либо прописать в настройках раздела "Местоположение" фиксированные координаты в стороне от реальных.

Если вы подключаетесь для интеграции своим сервисом, а не нодой, то подписывайтесь только на топик msh/RU/# или msh/RU/XXX/# (где XXX код вашего города). Если вы подпшитесь на какие-то другие топики, то сервер может отклонить ваше подключение.

2. LoRa

Ограничение прыжков:5
Либо больше, если необходимо.
Игнорировать MQTT:Нет
OK в MQTT:Да

"OK в MQTT" разрешает соседним устройствам передавать ваши данные на карту, если кто-то из ваших соседей настроил подключение у себя и выполнил остальные настройки (а вы настроите трансляцию местоположения в канале как описано далее), даже если вы сами не настроите подключение к MQTT. После включения этой опции, ваше устройство может появиться на карте в течение нескольких минут, если вы связаны с настроившим подключение соседом и ваша нода отправит ему свои данные.

"Игнорировать MQTT" используется, если кто-то из ваших соседей настроил подключение к MQTT, включил Downlink и его устройство начало ретранслировать получаемые из интернета данные по радио, а вы такие данные получать не хотите. При включении этой опции, ваша нода перестанет принимать пакеты с данными, которые хотя бы раз на своем пути прошли по MQTT (через интернет).

3. Каналы / Channels

Обычно так настраивают основной канала / Primary Channel.

PSK:AQ==
Если ранее вы включили "Шифрование" в MQTT, то должен быть хотя бы один канал с "PSK" AQ==, если же "Шифрование" отключено, то PSK не важен и данные будут поступать. Не рекомендуется отключать шифрование.
Uplink включен:Да
Downlink включен:Нет
Если необходимо, то можете включить, но используйте соответствующее имя пользователя в разделе MQTT.
Позиция включена:Да
Precise location:Нет
Точность:182 м

Желательно настроить так хотя бы один канал (обычно - основной). Обратите внимание на настройку "PSK", "Позиция включена" и "Точность" - их корректной настройки достаточно для передачи местоположения, данных об устройстве и сообщениий, даже если вы не настраивали MQTT у себя - ваши данные сможет отправить соседнее устройство.

Если же вы сами настроили у себя MQTT, то нужно также включить "Uplink" и ваше устройство будет передавать данные на MQTT-сервер самостоятельно.

Вы можете включить "Downlink" если хотите получать данные и сообщения в том числе через интернет. Можно включить свободно, если в разделе MQTT вы использовали имя пользователя "onemeshz" (Downlink сработает без ретрансляции по радио). С логином "onemeshd" включать "Downlink" не рекомендуется, т.к. это сильно нагружает радио-сеть пересылкой пакетов из интернета, сделать это можно для какой-либо интеграции или когда рядом нет других нод или вам требуется соединить два разных сегмента, не имеющих прямой связи по радио (разные районы города, пригород и т.д.). Будьте с этим очень осторожны!

4. Местоположение / Position

Период трансляции:1-12 часов
Настраивайте в соответствии с принятыми в вашем городе правилами. Если устройств в городе много, то для снижения нагрузки на сеть значение можно существенно увеличить (до 6-12 часов).
Умная позиция:Нет
Автоматически регулирует частоту отправки местоположения, снижая её если нода не меняет свое положение в заданных пределах и отправляя координаты чаще при быстром движении. Включайте, только если необходимо для вашего сценария использования устройства, но это может вызывать очень частую трансляцию местоположения по радио.
Фиксированные координаты:При необходимости
Если у ноды нет GPS, то вы можете включить "Фиксированное местоположение" и нажать "Установить местоположение с телефона" (если вы настраиваете с телефона), либо ввести координаты вручную (доступно только на Android или консоль CLI). Для iPhone может понадобится разрешить приложению Meshtastic доступ к Location и Share Location.

Если будете вводить фиксированные координаты вручную, то не оставляйте в конце координат нули - удаляйте их (например, вводите не 52.51600, а 52.516).

Отправка информации о местоположении идет другим устройствам в канале, а также на сервер MQTT если вы настроили подключение и включили у канала Uplink. История местоположения хранится картой 30 дней. При необходимости вы можете уменьшить точность передаваемых координат у каналов и отчета по карте MQTT, либо прописать фиксированные координаты в стороне от реальных.

5. Информация об окружности

Информация о соседях:Да
Интервал обновления:4 часа (14400 сек)
Передать через LoRa:Нет

При включении этого модуля и настроеном подключении к MQTT, ваше устройство начнет передавать карте информацию о своих соседях и качестве радиосигнала от них. Минимальный интерва 14400 сек = 4 часа. Включать передачу через LoRa не рекомендуется, т.к. это лишняя нагрузка на радио-сеть, но если включите, то увеличьте интервал до 6-12 часов. Если передачу по радио включать не будете, то можно оставить минимальный интервал, т.к. на радио-сеть и загрузку канала в таком случае влияния не будет.

Эти данные будут отображаться на карте - смотрите слой "Соседи", либо нажмите на иконки "Кто слышал это устройство" и "Кого слышало это устройство" во всплывающем окне с информацией о ноде.

6. Пользователь / User

Здесь важна опция "Лицензированный радиолюбитель (HAM)". Если он включен, то нужно отключить шифрование в настройках MQTT, если отключен - можно шифрование включить, настроив соответственно каналы.

Заключение

После выполнения данных настроек ваша нода должна появится на карте в течение часа. Если нода не появилась, то проверьте включен ли модуль MQTT, а также настройки канала и определено ли местоположение ноды.

Обязательно посмотрите справку в группе Telegram - там разобраны и объясняются многие вопросы по работе сети Meshtastic. Если у вас что-то не работает, то не стесняйтесь и задавайте вопросы в группе - там вам обязательно помогут.
Вопросы задавайте в группе Telegram или MAX