Setup MQTT Bridge
Sommige mensen draaien lokaal een Mosquitto MQTT Broker, deze broker kan als Mosquitto Bridge worden ingesteld zodat je eigen broker verbind met één of meerdere andere MQTT brokers (servers).
Prachtig natuurlijk, maar het verleden heeft helaas al enkele keren laten zien dat het instellen van een Mosquitto Bridge nogal wat problemen kan opleveren. Zo kan het onjuist configureren ervoor zorgen dat er een eindeloze loop wordt gecreëerd. Om te voorkomen dat dit gebeurt is het hierom verstandig iedere broker waarmee je een bridge wilt opzetten in een aparte topic in je lokale MQTT Broker in te stellen, PA8F zet je bijvoorbeeld in msh/pa8f/, Meshtastic in msh/meshtastic/ etc.
Een voorbeeld configuratie tonen we hieronder, het is hierbij alleen nog nodig om {alias}
te vervangen met een eigen alias, let hierbij op dat je geen speciale tekens en spaties gebruikt!
In het volgende voorbeeld worden alle topics van mqtt.pa8f.nl
1 op 1 overgenomen en worden berichten via de Mosquitto Bridge van en naar je eigen MQTT server en die waarmee je de bridge hebt opgezet uitgewisseld. Op deze manier kan je, jouw eigen node verbinden met je eigen MQTT Broker op dezelfde wijze zoals dit het geval is als met de PA8F MQTT Broker. Of het zin heeft om alle topics van de PA8F Broker 1 op 1 over te nemen is aan jezelf, je Meshtastic device kan maar met één topic communiceren dus eigenlijk is het aanmaken van een bridge waarbij je alle topics overneemt (over het algemeen) overbodig.
Alleen broker mqtt.pa8f.nl verbinden met je eigen MQTT Broker
connection{alias}
-to-pa8f
address mqtt.pa8f.nl:1883
remote_username boreft
remote_password meshboreft
remote_clientid{alias}
-to-pa8f
cleansession true
local_cleansession true
notifications true
try_private true
topic # both 0 msh/ msh/
Vaak overbodig, in de praktijk is al vaker gebleken dat je - omdat je hooguit tot één topic toegang hebt - het aanmaken van bridges overbodig is tenzij je bijvoorbeeld statistieken wilt bijhouden via scripts etc. Vaak wordt gedacht dat het handig is om in meerdere topics tegelijk te zitten en een bridge hier "de" oplossing in is, het nadeel is echter dat je niet alleen je eigen node in meerdere topics plaatst maar ook de mensen in die betreffende topics meeneemt in andere topics.
Toch laten we je hier even zien hoe je meerdere servers en topics kunt linken en een bridge kunt opzetten...
Brokers mqtt.pa8f.nl
en mqtt.meshtastic.org
verbinden met je eigen MQTT Broker
connection{alias}
-to-pa8f
address mqtt.pa8f.nl:1883
remote_username boreft
remote_password meshboreft
remote_clientid{alias}
-to-pa8f
cleansession true
local_cleansession true
notifications true
try_private true
topic # both 0 msh/pa8f/ msh/
connection{alias}
-to-mt
address mqtt.meshtastic.org:1883
remote_username meshdev
remote_password large4cats
remote_clientid{alias}
-to-mt
cleansession true
local_cleansession true
notifications false
try_private true
topic # both 0 msh/meshtastic/NL_868/ msh/NL_868/
topic # both 0 msh/meshtastic/NL_433/ msh/NL_433/
Wil je, je node configureren en via je eigen broker gebruik maken van de PA8F MQTT Broker? Stel als Root topic dan bijvoorbeeld het volgende in:
msh/pa8f
of bijvoorbeeld msh/pa8f/3300-3329
Berichten verzonden naar msh/pa8f
worden 1 op 1 doorgestuurd naar PA8F en op zijn beurt doorgestuurd naar de Meshtastic MQTT Broker msh/boreft/
dit geldt ook wanneer je msh/pa8f/3300-3329
gebruikt, deze belanden dan bij PA8F in msh/pa8f/3300-3329
en dus vervolgens op de Meshtastic MQTT Broker in msh/boreft/3300-3329
.
Waarom je topics msh/pa8f/ en msh/meshtastic/{(etc)}/ vermeld ziet staan heeft te maken met het feit dat je topics van andere servers het beste niet kunt opnemen in topics van andere servers. Een mooi voorbeeld is Dares op mqtt.meshtastic.org, deze wil je niet in msh/pa8f/Dares omdat het aan de eigenaar (PA8F) is om te bepalen of hij Dares als standaard topic op zijn MQTT Broker wilt. Van gebruikers (ook die gebruik maken van hun eigen Mosquitto MQTT Broker) wordt verwacht dat deze niet lukraak allerlei topics gaan delen om op deze wijze alles netjes en overzichtelijk te houden.
topic # both 0
msh/pa8f/NL_433/
msh/NL_433/in plaats van
topic # both 0
msh/meshtastic/NL_433/
msh/NL_433/Deze configuratie laat precies zien dat NL_433 vanaf de Meshtastic MQTT Broker wordt geforward naar de MQTT Broker van PA8F, een onwenselijke situatie daarom wordt topic NL_433 in de eigen Meshtastic topic geplaatst.
Met behulp van MQTT Explorer kan je snel en eenvoudig zien of je MQTT Broker goed geconfigureerd is en werkt.
Klaar met het configureren van Mosquitto? Vergeet dan niet je node(s) de juiste Root topic te geven, bijvoorbeeld msh/pa8f/3300-3329
zodat de berichten in dit topic op de MQTT Broker van PA8F in msh/3300-3329
komen.
Note: Stuur map updates, telemetry data etc. handhaaf alsjeblieft de standaard tijden voor het verzenden van positie en telemetry data. Wanneer deze data te snel achter elkaar wordt verzonden kan conform de mqtt.meshnet.nl voorwaarden de node of bridge worden geblokkeerd van verdere gebruik van deze door ons geboden service.