Lektion 3.4 MQTT Explorer
MQTT Explorer är ett kostnadsfritt skrivbordsverktyg för att publicera till och prenumerera på MQTT-ämnen. Det är det snabbaste sättet att testa IoT-plattformens MQTT-broker - att skicka data in i IoT-plattformen (skapa/uppdatera en enhet) och att se data som IoT-plattformen publicerar ut. Flera tidigare lektioner (2.0, 2.3, 2.9) använder det; denna lektion samlar den viktigaste användningen på ett ställe.
Innan du börjar
- Installera MQTT Explorer.
- En Basic Credential Set (användarnamn + lösenord) - skapa en i
Swagger (
POST /api/basic-credentials-sets); se Lektion 2.3. - Ett reserverat MQTT-ämne av formen
yggio/generic/v2/<ditt-unika-id>(POSTtill reserved-topic-endpointen i Swagger).
Anslut till IoT-plattformens MQTT-broker
I MQTT Explorer, skapa en ny anslutning:
- Host:
mqtt.beta.yggio.net - Port:
8883 - Encryption (TLS): på, och Validate certificate: på.
- Username / Password: din Basic Credential Set.
- Fixa standardämnena (gör detta varje gång): öppna Advanced, ta
bort posterna
#och$SYS/#, och lägg till ditt eget ämne istället (ditt reserverade ämne, eller ditt användarutmatningsämne). IoT-plattformen ger inte åtkomst till brokerns rot, så att lämna kvar#/$SYS/#gör att prenumerationen misslyckas. - Klicka på Connect.

Det vanligaste MQTT Explorer-misstaget. Det levereras förprenumererat på
#och$SYS/#som standard, men dessa kräver broker-rot-behörighet som IoT-plattformen inte beviljar - så anslutningen verkar "inte fungera". Gå alltid till Advanced, ta bort#och$SYS/#, och prenumerera istället på ditt eget ämne.
Publicering och prenumeration måste använda samma MQTT-uppgifter. För att använda en annan Basic Credential Set, skapa en separat anslutning.
Övning 1 - Publicera data in i IoT-plattformen (skapa en enhet)
Att publicera till ett reserverat generiskt ämne skapar/uppdaterar en enhet automatiskt.
- I panelen Publish, sätt ämnet till ditt reserverade ämne,
yggio/generic/v2/<ditt-unika-id>. - Sätt typen till raw / JSON och ange en payload:
{ "temperature": 22, "relativeHumidity": 48 }
- Klicka på Publish.
- I IoT-plattformen dyker en enhet med namnet
MQTT-<ditt reserverade ämne>upp inom en minut, och visartemperatureochrelativeHumidity.
Du behöver inte reservera underämnen. Om du publicerar till
yggio/generic/v2/<id>/statusblirstatusett nästlat objekt på enheten.
Övning 2 - Prenumerera på data som IoT-plattformen publicerar
För att se data som IoT-plattformen skickar ut via en Channel (se Lektion 2.9):
- Säkerställ att anslutningen är prenumererad på ditt ämne (inte
#)- om du hoppade över Advanced-steget vid anslutning, redigera anslutningen och fixa det nu.
- Använd ditt reserverade/utmatningsämne, t.ex.
yggio/generic/v2/<ditt reserverade ämne>(elleryggio/output/v2/<ditt userID>/#för användarutmatning - detta är begränsat till din egen användare, så det är tillåtet, till skillnad från broker-roten#). - När plattformen publicerar visas meddelandena live i ämnesträdet - expandera ett ämne för att se den exakta JSON-datan och när den kom in.

Felsökning - vilken sida tappar datan?
MQTT Explorer är en känt fungerande MQTT-klient, så det är det snabbaste sättet att bevisa vilken sida av en integration som är felaktig. Använd det olika beroende på flödets riktning: data som går in i plattformen, eller data som kommer ut ur den.
Inkommande - ditt system publicerar, ingenting visas i plattformen
Detta är det vanligaste MQTT-supportärendet. Prenumerera MQTT Explorer på
samma ämne som ditt system publicerar till (yggio/generic/v2/<id>),
med samma Basic Credential Set, och utlös sedan ditt system:
- Ingenting visas i MQTT Explorer → ditt system publicerade aldrig faktiskt till brokern. Felet ligger i ditt system - fel ämne, fel autentiseringsuppgifter, fel port/TLS, eller det publicerar helt enkelt inte. Plattformen fungerar korrekt.
- Det visas i MQTT Explorer, men ingen enhet eller inga värden visas i plattformen → datan nådde brokern, så det är ett payload-problem som plattformen avvisar: ogiltig JSON, en struktur plattformen inte accepterar, eller ett ogiltigt/okänt fältnamn. Fixa payloaden och publicera igen.
För att bekräfta att sträckan broker → plattform i sig är hälsosam,
publicera ett känt fungerande test från panelen Publish -
{ "temperature": 22 } till det ämnet - och kontrollera plattformens
enhetslista efter den automatiskt skapade MQTT-<ämne>-noden. Om det
fungerar men ditt systems meddelanden inte gör det, ligger skillnaden i
ditt systems payload.
Utgående - ditt system prenumererar, får ingenting
Prenumerera MQTT Explorer på samma utmatningsämne som ditt system
lyssnar på (t.ex. yggio/output/v2/<userID>/#), med samma
autentiseringsuppgifter:
- Meddelandena visas i MQTT Explorer → plattformen publicerar korrekt och brokersidan fungerar. Om ditt system fortfarande inte får något ligger felet i ditt system - fel ämne eller uppgifter, eller det hanterar inte det som kommer in.
- Ingenting visas ens i MQTT Explorer → plattformen publicerar inte på det ämnet. Kontrollera att Channel/den publicerande Rule är konfigurerad (Lektion 2.9) och att du prenumererar på rätt ämne.
Oavsett vilket löser MQTT Explorer det på under en minut: om det kan se datan och ditt system inte kan, ligger felet i ditt system, inte i plattformen.
Sammanfattning av användning
| Uppgift | Ämne | Anteckningar |
|---|---|---|
| Skicka data in i IoT-plattformen (generisk enhet) | yggio/generic/v2/<id> | JSON-body; enheten skapas automatiskt |
| Se en Channels utmatning | ditt reserverade/utmatningsämne | kräver en publicerande Rule (Lektion 2.9) |
| Se all användarutmatning | yggio/output/v2/<userID>/# |
Vad du lärde dig
- Hur man ansluter MQTT Explorer till IoT-plattformens MQTT-broker
(
mqtt.beta.yggio.net:8883, TLS, Basic Credential Set). - Hur man publicerar till ett
yggio/generic/v2/...-ämne för att skapa/uppdatera en enhet. - Hur man prenumererar för att se exakt vad IoT-plattformen publicerar.
- Hur man använder MQTT Explorer som en känt fungerande klient för att fastställa vilken sida - ditt system eller plattformen - som orsakar ett MQTT-fel, för både inkommande och utgående data.
Vart härnäst
- Lektion 3.3 Node-RED - automatisera publicering/prenumeration.
- Lektion 2.9 Extern datadelning - MQTT-kanaler och connectors.