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

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

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

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

Это не полная инстркция по настройке ноды - здесь перечислены только настройки связанные с MQTT! Другие настройки уточняйте в группе вашего города!

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

Регион:Russia
Либо другой при необходимости. При смене региона автоматически меняется Корневая тема в MQTT - не забудьте поправить!
Ограничение прыжков:5
Либо больше, если необходимо.
Игнорировать MQTT:Нет
OK в MQTT:Да

Здесь перечислены только настройки связанные с MQTT, другие настройки раздела LoRa уточняйте в группе вашего города.

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

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

Важно: Если вы меняете регион, то у вас изменится Корневая тема MQTT, поэтому нужно будет вернуться в раздел 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.516, а не 52.51600).

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

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

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

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

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

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

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

7. Устройство / Device

Роль устройства:CLIENT_MUTE
Если вы находитесь в городе, где сеть Meshtastic насчитывает более 200 устройств, то для начала установите роль CLIENT_MUTE. Это безопасный режим простого пользователя без каких-либо ограничений в работе - просто без ретрансляции чужих данных.

Если же сеть в городе небольшая, либо вы уже поработали в роли CLIENT_MUTE и у вас хорошая антенна (не штырек из комплекта с нодой), удачное расположение устройства (высоко и с открытым видом на несколько километров), то можете попробовать роль CLIENT, чтобы помочь в расширении сети.
Режим ретрансляции:CORE_PORTNUMS_ONLY
Для большой сети Meshtastic можно установить значение CORE_PORTNUMS_ONLY. Если же сеть небольшая, то можете оставить ALL.

Настройки в разделе "Устройство" не относятся напрямую к MQTT, но являются важными для работы Meshtastic в целом.

Заключение

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

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