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
flowchart LR
subgraph sg0["Flow 1"]
direction LR
n0@{ icon: "mdi:cog", form: "rounded", label: "Scheduled Minute Trigger", pos: "b", h: 48 }
n1["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>External Position Fetch"]
n2@{ icon: "mdi:swap-vertical", form: "rounded", label: "Map Position Fields", pos: "b", h: 48 }
n3["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/mqtt.svg' width='40' height='40' /></div><br/>Publish MQTT Update"]
n2 --> n3
n0 --> n1
n1 --> n2
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n1 api
classDef customIcon fill:none,stroke:none
class n1,n3 customIcon
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
| Vad som automatiseras | Vad du uppnår |
|---|---|
|
|
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.
- Lägg till noden Scheduled Minute Trigger.
- I Trigger Times, ställ in Mode till
everyMinute. - Koppla Scheduled Minute Trigger till External Position Fetch.
Steg 2: anslut External Position Fetch
Hämta den senaste ISS-positionsdatan från det externa API:et.
- Lägg till noden External Position Fetch.
- Ställ in URL till
https://api.wheretheiss.at/v1/satellites/25544/positions. - Under Query Parameters, lägg till timestamps med värdet
={{Date.now()}}. - Koppla External Position Fetch till Map Position Fields.
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.
- Lägg till noden Map Position Fields.
- Aktivera Keep Only Set till
true. - 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"]}}
- Name:
- Koppla Map Position Fields till Publish MQTT Update.
Steg 4: konfigurera Publish MQTT Update
Sänd ut den mappade positionsdatan via MQTT.
- Lägg till noden Publish MQTT Update.
- Ställ in Topic till
iss-position. - Inloggningsuppgifter krävs: anslut era mqtt-inloggningsuppgifter.
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.
- Klicka på Execute Workflow för att köra ett manuellt test.
- Bekräfta att External Position Fetch returnerar ett svar och att Map Position Fields ger ut de fyra mappade fälten.
- Verifiera att er MQTT-broker tar emot ett meddelande på topic
iss-position. - Växla arbetsflödet till Active för att köra det varje minut.
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
Cirka 20 minuter om din MQTT-broker är redo.
Nej. Du klistrar mest in API-URL:en, kopplar MQTT-credentials och väljer vilka fält som ska behållas.
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.
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.
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.
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.
Med en körning per minut blir det ungefär 1 400 exekveringar per dag, vilket fungerar bra i de flesta setup:er.
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.