Arduino & IoT Academy · leksjon

Publiser sensortemaer

Send avlesninger til navngitte temaer

Leksjon 3 av 413 trinn

Publiser sensortemaer er en gratis leksjon i Arduino & IoT Academy på CoddyKit. Dette er leksjon 3 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Arduino & IoT Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Arduino & IoT Academy inneholder totalt 4 leksjoner.

Å sende data er å publisere

Når De først er tilkoblet, krever det bare ett kall å dele en måling. De publiserer en verdi til et emne, og brokeren leverer den til abonnentene.

Velg et tydelig emne

Velg en beskrivende emnebane, for eksempel home/garden/soil. Gode navn gjør et system i vekst enkelt å lese og rute.

home/garden/soil/moisture

Kallet publish

Den grunnleggende formen tar et emne og en melding. Begge er enkle strenger, så MQTT bryr seg ikke om hva nyttelasten inneholder.

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

Nyttelaster er bare tekst

En nyttelast er en enkel byte-streng. De bestemmer selv betydningen, enten det er et tall, et ord eller strukturerte data.

Tall må konverteres

Sensoravlesninger er ofte flyttall. Gjør dem først om til en streng med dtostrf eller String() før De publiserer dem.

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

Send strukturerte data som JSON

Hvis De vil samle flere verdier, formaterer De nyttelasten som JSON. Én melding kan inneholde temperatur og luftfuktighet samtidig.

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

Ikke oversvøm brokeren

Å publisere tusenvis av ganger i sekundet sløser med strøm og båndbredde. Legg inn et fornuftig intervall, slik at meldingene forblir nyttige.

Ta tiden med millis

Bruk millis() i stedet for delay for å publisere med noen sekunders mellomrom. Enheten forblir responsiv mens den venter.

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

Behold den nyeste målingen

Legg til et retain-flagg, slik at brokeren lagrer den nyeste verdien. Nye oversikter viser da data med én gang de kobler seg til.

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

Ett emne per måleverdi

Gi hver måling sitt eget emne, for eksempel .../temp og .../humidity. Et ryddig skille gjør abonnentene enkle.

Bekreft at det virket

Kallet publish returnerer true ved suksess. Logg resultatet, eller følg med med en stasjonær MQTT-klient, for å være sikker på at dataene forlot kortet.

Kort sjekk

De vil at en ny oversikt skal vise den siste temperaturen umiddelbart, selv før sensoren publiserer på nytt. Hva hjelper?

Oppsummering

De har lært å publisere sensordata: konvertere verdier til strenger, velge tydelige emner, tidfeste sendinger med millis og beholde den nyeste verdien. 🎉

Gratis å komme i gang

Lær deg C++ med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
30
Leksjoner
120

Ofte stilte spørsmål

Er leksjonen «Publiser sensortemaer» gratis?

Ja – hele teksten i «Publiser sensortemaer» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Arduino & IoT Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Arduino & IoT Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Publiser sensortemaer»?

Send avlesninger til navngitte temaer Du øver på Arduino & IoT Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Arduino & IoT Academy?

Ingen tidligere erfaring er nødvendig. Arduino & IoT Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.

Hvor lang tid tar leksjonen «Publiser sensortemaer»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Arduino & IoT Academy-leksjonen?

Ja. Alle Arduino & IoT Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Hvorfor MQTT passer til IoT
  2. Koble til en broker
  3. Publiser sensortemaer
  4. Abonner på kommandoer og reager på dem
← Tilbake til Arduino & IoT Academy