Gå till innehållet

MeshCore till MQTT

Den här guiden visar flera sätt att skicka MeshCore-data till Meshat.se. Om din nod har inbyggt Wi-Fi är observer-firmwaren normalt det smidigaste valet.

MeshCore-enheter ansluter till en egen MQTT-server på Meshat.se. Den servern uplinkar MeshCore-data vidare till mqtt.meshat.se, så den vanliga MQTT-servern innehåller både Meshtastic- och MeshCore-data.

Inställning Värde
Server meshcore-mqtt.meshat.se
Port 443
TLS Ja
WebSocket Ja
Topic meshcore
Audience meshcore-mqtt.meshat.se

MQTT-servern kör michaelhart/meshcore-mqtt-broker.

Rekommendation: 3 byte adverts

Det är rekommenderat att använda 3 byte adverts på MeshCore-repeaters och room servers. Det gör noder lättare att skilja från varandra i analysverktyg och förbättrar spårbarheten i nätet.

Kommandon i Console

Kommandona på den här sidan skrivs i MeshCore Flashers Console. Se Skriv kommandon i Console om du är osäker på var de ska in.

set path.hash.mode 2

Välj metod

Det här är förstahandsvalet om din MeshCore-enhet har inbyggt Wi-Fi. Du behöver ingen extra dator eller Raspberry Pi, bara själva enheten och tillgång till Wi-Fi.

Det här alternativet passar särskilt bra om du bygger en repeater som du senare också vill kunna använda som observer.

Observer-firmwaren underhålls av Discord-användaren hercules.mulligan.

1. Anslut till Wi-Fi och MQTT

Den här delen utgår från att enheten redan är flashad med observer-firmware och grundkonfigurerad som repeater eller room server. Om du inte har rätt firmware än, använd Observer Flasher.

I observer-firmwaren finns Meshat.se redan som preset, så du behöver normalt inte ange brokeruppgifterna manuellt.

Sätter den områdeskod som används i MQTT-topics. I MeshCore används ofta en IATA-kod som kort områdeskod, till exempel STO.

set mqtt.iata XXX

Sätter namnet på det trådlösa nätet som noden ska ansluta till.

set wifi.ssid ditt-wifi-namn

Sätter lösenordet till ditt Wi-Fi så att noden faktiskt kan nå internet och MQTT-brokern.

set wifi.pwd ditt-wifi-losenord

Aktiverar det inbyggda Meshat.se-presetet i slot 1. Då används rätt broker, transport och inbyggda uppgifter för Meshat.se utan att du behöver fylla i dem själv.

set mqtt1.preset meshat.se

mqtt2.preset kan lämnas kvar som det är. I observer-firmwaren är det normalt redan satt till ett bra standardval för en extra anslutning.

Startar om noden så att Wi-Fi och MQTT ansluter med de nya inställningarna.

reboot

Kontrollera att allt fungerar

Visar om noden är ansluten till Wi-Fi och brukar även ge dig IP-adress och signalstatus.

get wifi.status

Bekräftar att slot 1 verkligen använder meshat.se.

get mqtt1.preset

Visar om MQTT-brokern är ansluten och om någon slot har fel.

get mqtt.status

När allt fungerar kan du kontrollera att observern syns här:

Det här passar när du inte har Wi-Fi i själva noden, eller när du vill köra MQTT-bryggan på en separat dator eller Raspberry Pi.

Förutsättningar

  • en dator eller Raspberry Pi
  • en MeshCore-nod ansluten via USB eller serial
  • Python installerat
  • internetanslutning

Läs mer här: meshcoretomqtt

Exempelkonfiguration

Exemplet matchar Meshat.se-presetet i meshcoretomqtt: meshat-se.toml.

[[broker]]
name = "Meshat.se"
enabled = true
server = "meshcore-mqtt.meshat.se"
port = 443
transport = "websockets"
keepalive = 60
qos = 0
retain = true

[broker.tls]
enabled = true
verify = true

[broker.auth]
method = "token"
audience = "meshcore-mqtt.meshat.se"

Vad raderna betyder

  • name = "Meshat.se" är namnet på brokerprofilen.
  • enabled = true slår på just den här brokerprofilen.
  • server = "meshcore-mqtt.meshat.se" pekar ut Meshat.se:s MeshCore-broker.
  • port = 443 använder HTTPS-porten för MQTT över WebSocket.
  • transport = "websockets" använder WebSocket-transport.
  • keepalive = 60 håller anslutningen vid liv med 60 sekunders intervall.
  • qos = 0 använder normal MQTT-leverans utan extra kvittering.
  • retain = true låter brokern behålla senaste publicerade värden där det används.
  • enabled = true under [broker.tls] slår på krypterad anslutning.
  • verify = true verifierar TLS-certifikatet.
  • method = "token" använder MeshCore-token för autentisering.
  • audience = "meshcore-mqtt.meshat.se" måste matcha brokeradressen.

Verifiera

När bryggan är igång kan du kontrollera att observern syns här:

Det här passar om du redan kör Home Assistant och vill låta integrationen skicka MeshCore-data vidare till Meshat.se:s MeshCore-broker.

Installera integrationen enligt Home Assistant-guiden för MeshCore.

När integrationen är installerad lägger du till Meshat.se som MQTT-broker:

  1. Gå till Settings.
  2. Öppna Devices & Services.
  3. Välj din Meshcore-integration.
  4. Klicka på Configure.
  5. Öppna Manage MQTT Brokers.
  6. Välj Add Broker, eller Edit Broker om du redan har en broker.

Fyll sedan i värdena nedan. Välj websockets, slå på TLS och certifikatverifiering, lämna användarnamn och lösenord tomma och slå på MeshCore Auth Token.

Fält Värde
Enabled
Server meshcore-mqtt.meshat.se
Port 443
Transport websockets
Use TLS
Verify TLS Certificate
Username Tomt
Password Tomt
Use MeshCore Auth Token
Token Audience meshcore-mqtt.meshat.se
Payload Mode Packet (LetsMesh-compatible)
Auth Token TTL 3600
Status Topic meshcore/{IATA}/{PUBLIC_KEY}/status
Packets Topic meshcore/{IATA}/{PUBLIC_KEY}/packets
Broker IATA Code Din lokala IATA-kod, till exempel STO
Client ID Prefix Tomt, om du inte behöver ett eget prefix

När integrationen är igång kan du kontrollera att observern syns här:

Home Assistant MQTT-inställningar för MeshCore, första delen

Home Assistant MQTT-inställningar för MeshCore, andra delen

Det här passar om du använder RemoteTerm och vill skapa eller ändra en community MQTT-profil för Meshat.se.

Öppna sidan för community MQTT så här:

  1. Öppna RemoteTerm i webbläsaren.
  2. Gå till Settings.
  3. Välj fliken MQTT & Automation.
  4. Klicka på Add Integration.
  5. Välj Community MQTT/meshcoretomqtt i dialogen Create Integration.
  6. Klicka på Create.

Om du redan har en community MQTT-profil kan du öppna den från listan under MQTT & Automation och ändra värdena där.

Använd token-autentisering, WebSockets, TLS och samma topic-template som i tabellen nedan.

Fält Värde
Name Meshat.se
Type Community MQTT/meshcoretomqtt
Broker Host meshcore-mqtt.meshat.se
Broker Port 443
Transport WebSockets
Authentication Token
WebSocket Path /
Token Audience meshcore-mqtt.meshat.se
Use TLS
Verify TLS certificates
Region Code (IATA) Din lokala IATA-kod, till exempel STO
Packet Topic Template meshcore/{IATA}/{PUBLIC_KEY}/packets

Klicka på Save as Enabled när du är klar.

När profilen är igång kan du kontrollera att observern syns här:

RemoteTerm-inställningar för Meshat.se:s MeshCore MQTT-broker

Nästa steg