Arduino & IoT Academy · Lektion

Publicera sensorteman

Skicka avläsningar till namngivna teman.

Lektion 3 av 413 steg

Publicera sensorteman är en gratis lektion i Arduino & IoT Academy på CoddyKit. Detta är lektion 3 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Arduino & IoT Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Arduino & IoT Academy innehåller totalt 4 lektioner.

Att skicka data är att publicera

När ni väl är anslutna krävs bara ett anrop för att dela ett mätvärde. Ni publish ett värde till ett ämne och broker levererar det till prenumeranterna.

Välj ett tydligt ämne

Välj en beskrivande topic-sökväg som home/garden/soil. Bra namn gör ett växande system lätt att läsa och dirigera.

home/garden/soil/moisture

Anropet publish

Grundformen tar emot ett ämne och ett meddelande. Båda är enkla strängar, så MQTT bryr sig inte om vad som finns i payload.

client.publish("home/garden/temp", "23.5");

Payload är bara text

En payload är en vanlig bytesträng. Ni bestämmer vad den betyder, oavsett om det är ett tal, ett ord eller strukturerade data.

Tal måste konverteras

Sensorvärden är ofta flyttal. Gör först om dem till en sträng med dtostrf eller String() innan ni publicerar dem.

char buf[8];
dtostrf(temp, 4, 1, buf);
client.publish("home/temp", buf);

Skicka strukturerade data som JSON

Om ni vill samla flera värden formaterar ni payload som JSON. Ett meddelande kan då innehålla temperatur och luftfuktighet tillsammans.

client.publish("home/dht", "{\"t\":23.5,\"h\":55}");

Överbelasta inte broker

Att publicera tusentals gånger per sekund slösar energi och bandbredd. Lägg till ett rimligt interval så att meddelandena förblir användbara.

Tidsstyr med millis

Använd millis() i stället för delay för att publicera med några sekunders mellanrum. Enheten förblir responsiv medan den väntar.

if (millis() - last > 5000) {
  last = millis();
  publishReading();
}

Behåll det senaste mätvärdet

Lägg till flaggan retain så att broker sparar det senaste värdet. Nya instrumentpaneler visar då data direkt när de ansluter.

client.publish("home/temp", buf, true);

Ett ämne per mätvärde

Ge varje mätning ett eget topic, till exempel .../temp och .../humidity. En tydlig uppdelning håller prenumeranterna enkla.

Bekräfta att det fungerade

Anropet publish returnerar true vid framgång. Logga resultatet eller övervaka med en MQTT-klient på datorn för att säkerställa att data lämnade kortet.

Snabb kontroll

Ni vill att en ny instrumentpanel omedelbart ska visa den senaste temperaturen, även innan sensorn publicerar igen. Vad hjälper?

Sammanfattning

Ni har lärt er att publish sensordata: konvertera värden till strängar, välja tydliga ämnen, tidsstyra sändningar med millis och behålla det senaste värdet. 🎉

Gratis att börja

Lär dig C++ med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
30
Lektioner
120

Vanliga frågor

Är lektionen ”Publicera sensorteman” gratis?

Ja – hela texten till ”Publicera sensorteman” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Arduino & IoT Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Arduino & IoT Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Publicera sensorteman”?

Skicka avläsningar till namngivna teman. Ni övar på Arduino & IoT Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Arduino & IoT Academy?

Du behöver inga förkunskaper. Utbildningen i Arduino & IoT Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.

Hur lång tid tar lektionen ”Publicera sensorteman”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Arduino & IoT Academy-lektionen?

Ja. Varje Arduino & IoT Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Varför MQTT passar IoT
  2. Anslut till en broker
  3. Publicera sensorteman
  4. Prenumerera och agera på kommandon
← Tillbaka till Arduino & IoT Academy