Behöver ert företag hjälp med att implementera AI? Kontakta oss och få prisoffert här →
AI Skolan
januari 21, 2026

MQTT + Google Sheets: logga ISS-position live

Rickard Andersson Partner, Nodenordic.se

Du märker inte problem med platsdata förrän du försöker bygga något ovanpå dem. En karta fryser. En dashboard laggar. Någon frågar: ”Uppdateras det här ens?” och plötsligt sitter du och kontrollkör API:er manuellt och klistrar in koordinater.

Den här MQTT Sheets logging-setupen träffar driftteam först, men marknadsförare som bygger ”space tracker”-kampanjer och produktteam som prototypar livekartor stöter på samma tillförlitlighetsglapp. Du vill ha ett felfritt, konsekvent flöde av ISS-koordinater utan att behöva passa det varje minut.

Det här arbetsflödet hämtar ISS-positionen en gång i minuten, publicerar den till MQTT och (med ett litet tillägg) gör det enkelt att föra en löpande logg i Google Sheets för diagram, dashboards och snabba rimlighetskontroller.

Så fungerar automationen

Här är hela arbetsflödet du kommer att sätta upp:

n8n Workflow Template: MQTT + Google Sheets: logga ISS-position live

Varför det här spelar roll: live-data som inte driver iväg

Liveflöden för position låter enkelt tills du faktiskt är beroende av dem. ISS rör sig snabbt, så data som är ”tillräckligt nära” blir fel på några minuter. Om du hämtar API:t för hand missar du uppdateringar, skapar luckor och står till slut med en datamängd du inte kan lita på. Och om du bara pushar data till en dashboard utan att spara historik blir felsökningen märklig. Du vet inte om kartan är trasig, API:t ligger nere eller om senaste uppdateringen var för 40 minuter sedan. Det är den typen av småfel som i tysthet saboterar demos, rapporter och allt ”realtid” du visar för en kund.

Det eskalerar snabbt. Här är var det oftast faller isär i verkligheten.

  • Du börjar kontrollera API:t manuellt bara för att bekräfta att allt fortfarande rullar.
  • Utan en logg i Google Sheets (eller liknande) kan du inte snabbt grafa eller granska vad som hände.
  • En missad uppdatering blir till hål i datamängden, vilket gör att efterföljande kartor ser ”hackiga” ut.
  • Team bygger dashboards först och tänker på datarördragning senare, så tillförlitlighet blir en eftertanke.

Vad du bygger: ett minut-för-minut-flöde av ISS-data

Det här arbetsflödet körs på en enkel timer. Varje minut triggar n8n en HTTP-förfrågan mot det publika ”Where the ISS at?”-API:t och hämtar de senaste koordinaterna. Därefter rensas payloaden så att bara fälten du bryr dig om går vidare (latitud, longitud, tidsstämpel och eventuella extra fält du väljer). Till sist publiceras uppdateringen till ditt MQTT-ämne så att allt som prenumererar kan reagera i realtid: en kartwidget, en statusmonitor, en kioskskärm eller till och med en annan automation. Därifrån blir loggning till Google Sheets rak, eftersom du jobbar med en konsekvent meddelandeform i stället för rått API-brus.

Arbetsflödet startar på ett Cron-schema och hämtar sedan ISS-positionen via HTTP. Ett Set-steg mappar fälten till en prydlig struktur. Sista steget publicerar uppdateringen till MQTT så att dina system får samma format varje minut.

Det här bygger du

Förväntade resultat

Säg att du vill ha en enkel ”live ISS tracker”-dashboard och en Google Sheets-logg för diagram. Att manuellt kontrollera och kopiera de senaste koordinaterna bara 10 gånger per dag tar cirka 5 minuter varje gång, vilket blir nära en timme per dag när du räknar in kontextbyten och formatering. Med det här arbetsflödet lägger du cirka 20 minuter på att sätta upp det en gång, sedan kör det i bakgrunden och producerar ungefär 1 400 uppdateringar per dag som dina MQTT-prenumeranter (och din loggning till Sheets) kan använda direkt.

Innan du börjar

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
  • MQTT-broker för att publicera och prenumerera på uppdateringar
  • Google Sheets för att spara en löpande koordinatlogg
  • Åtkomst till Google-konto (auktorisera i n8n-credentials)

Kunskapsnivå: Nybörjare. Du kopplar credentials och klistrar in en API-URL, och väljer sedan ditt MQTT-ämne.

Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).

Steg för steg

En schemalagd trigger kör varje minut. Cron-noden körs med en minuts intervall, så du får en stabil och förutsägbar puls i ditt dataflöde.

Arbetsflödet hämtar den senaste ISS-positionen. n8n anropar endpointen för ISS-positioner och tar emot de senaste koordinaterna och tidsstämpeln. Om API:t skulle hacka ser du det direkt i exekveringshistoriken.

Svaret rensas och formas. Ett Set-steg (Edit Fields) behåller bara de fält du faktiskt vill använda längre fram. Här förhindrar du att ”slumpmässiga förändringar i API-payloaden” skapar fel hos prenumeranter och i loggar.

Ett MQTT-meddelande publiceras. Sista noden skickar den mappade payloaden till ditt MQTT-ämne. Allt som lyssnar kan uppdatera en karta, spara händelsen eller trigga larm.

Du kan enkelt ändra vilka fält som skickas ut så att det matchar ditt dashboard-schema, eller justera schemat om ”varje minut” är för frekvent. Se hela implementeringsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementation

Steg 1: konfigurera den schemalagda minuttriggern

Ställ in arbetsflödet så att det körs varje minut för att hämta den senaste satellitpositionsdatan.

  1. Lägg till noden Scheduled Minute Trigger.
  2. I Trigger Times, ställ in Mode till everyMinute.
  3. Koppla Scheduled Minute Trigger till External Position Fetch.
Om ni behöver en annan frekvens senare kan ni justera inställningen Trigger Times utan att ändra resten av arbetsflödet.

Steg 2: anslut External Position Fetch

Hämta den senaste ISS-positionsdatan från det externa API:et.

  1. Lägg till noden External Position Fetch.
  2. Ställ in URL till https://api.wheretheiss.at/v1/satellites/25544/positions.
  3. Under Query Parameters, lägg till timestamps med värdet ={{Date.now()}}.
  4. Koppla External Position Fetch till Map Position Fields.
⚠️ Vanlig fallgrop: Om ni glömmer query-parametern timestamps kan det leda till inaktuell eller saknad data från API:et.

Steg 3: konfigurera Map Position Fields

Normalisera API-svaret till rena fält för publicering.

  1. Lägg till noden Map Position Fields.
  2. Aktivera Keep Only Set till true.
  3. Lägg till följande fält under Values → String:
    • Name: ={{$json["0"]["name"]}}
    • Latitude: ={{$json["0"]["latitude"]}}
    • Longitude: ={{$json["0"]["longitude"]}}
    • Timestamp: ={{$json["0"]["timestamp"]}}
  4. Koppla Map Position Fields till Publish MQTT Update.

Steg 4: konfigurera Publish MQTT Update

Sänd ut den mappade positionsdatan via MQTT.

  1. Lägg till noden Publish MQTT Update.
  2. Ställ in Topic till iss-position.
  3. Inloggningsuppgifter krävs: anslut era mqtt-inloggningsuppgifter.
Säkerställ att er MQTT-broker tillåter publicering till topic iss-position, eller uppdatera topic så att den matchar er brokers behörigheter.

Steg 5: testa och aktivera ert arbetsflöde

Verifiera att data flödar från API:et till MQTT och aktivera sedan arbetsflödet för kontinuerliga uppdateringar.

  1. Klicka på Execute Workflow för att köra ett manuellt test.
  2. Bekräfta att External Position Fetch returnerar ett svar och att Map Position Fields ger ut de fyra mappade fälten.
  3. Verifiera att er MQTT-broker tar emot ett meddelande på topic iss-position.
  4. Växla arbetsflödet till Active för att köra det varje minut.
🔒

Lås upp fullständig steg-för-steg-guide

Få den kompletta implementeringsguiden + nedladdningsbar mall

Tips för felsökning

  • MQTT-credentials och brokerinställningar är den vanligaste orsaken. Verifiera host, port, användarnamn/lösenord (eller certifikat) i n8n:s MQTT-credentials först.
  • Om du ändrar fälten i Set-noden kan dina prenumeranter ”misslyckas utan att säga till” eftersom de förväntar sig den gamla payloaden. Kontrollera loggarna i din MQTT-klient och bekräfta att publicerad JSON matchar vad din app förväntar sig.
  • Loggning till Google Sheets (om du lägger till det) misslyckas ofta på grund av saknade filrättigheter eller att du väljer fel flik i kalkylarket. Kontrollera Google-credentialen i n8n igen och bekräfta att sheet-ID och kalkylbladsnamn är korrekta.

Snabba svar

Hur lång tid tar det att sätta upp den här MQTT Sheets logging-automationen?

Cirka 20 minuter om din MQTT-broker är redo.

Behövs kodning för den här MQTT Sheets logging?

Nej. Du klistrar mest in API-URL:en, kopplar MQTT-credentials och väljer vilka fält som ska behållas.

Är n8n gratis att använda för det här MQTT Sheets logging-arbetsflödet?

Ja. n8n har ett gratis alternativ för egen drift och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna in hosting för MQTT-broker (ofta gratis eller inkluderad) och åtkomst till Google Sheets.

Var kan jag hosta n8n för att köra den här automationen?

Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen drift på en VPS. För egen drift är Hostinger VPS prisvärd och klarar n8n bra. Egen drift ger dig obegränsade exekveringar men kräver grundläggande serverhantering.

Kan jag anpassa det här MQTT Sheets logging-arbetsflödet för andra use case?

Ja, och det bör du. Set-steget (Map Position Fields) är där du lägger till eller byter namn på fält för dina dashboards, och Cron-schemat är enkelt att justera om du bara behöver uppdateringar var 5:e minut. Du kan också publicera till ett annat MQTT-ämne genom att ändra inställningarna i MQTT publish-noden. En vanlig justering är att lägga till ett Google Sheets-steg för ”append row” efter mappningen så att varje meddelande loggas automatiskt.

Varför misslyckas min MQTT-anslutning i det här arbetsflödet?

Oftast är det broker host/port eller en mismatch i autentisering. Dubbelkolla MQTT-credentials i n8n och bekräfta sedan att din broker tillåter publicering till det ämne du valt. Om du använder TLS, säkerställ att certifikaten matchar vad brokern förväntar sig. Kontrollera också rate limits eller anslutningstak på delade brokers, eftersom ett meddelande per minut är litet men många klienter kan tillsammans bli mycket.

Vilken volym kan det här MQTT Sheets logging-arbetsflödet hantera?

Med en körning per minut blir det ungefär 1 400 exekveringar per dag, vilket fungerar bra i de flesta setup:er.

Är den här MQTT Sheets logging-automationen bättre än att använda Zapier eller Make?

Ofta, ja. MQTT passar inte alltid friktionsfritt i många ”enkla” automationsverktyg, och du når ofta begränsningar när du vill ha konsekvent payload-mappning, retries och kontroll över scheman. n8n ger dig också möjlighet att köra i egen drift, vilket spelar roll när du kör något varje minut, hela månaden. Om du redan jobbar i Zapier eller Make och flödet bara är ”API → Google Sheets” kan de fungera. Men när MQTT kommer in i bilden är n8n vanligtvis det mer flexibla valet. Prata med en automationsexpert om du vill ha en snabb rekommendation för din setup.

När det här väl rullar blir ISS-flödet tråkigt på bästa möjliga sätt. Din MQTT-ström förblir konsekvent, din Google Sheets-logg förblir användbar och du kan fokusera på det du bygger ovanpå.

Kontakta oss

Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.

×

Använd mall

Få direkt tillgång till denna n8n-arbetsflödes JSON-fil

Få prisoffert redan idag!
Få prisoffert redan idag!

Berätta vad ni behöver hjälp med så hör vi av oss inom en arbetsdag!

Få prisoffert redan idag!
Få prisoffert redan idag!

Berätta vad ni behöver hjälp med så hör vi av oss inom en arbetsdag!

Launch login modal Launch register modal