Ved hjælp af Arduino Nano 33 IoT kan man etablere både præcis tidsmodtagelse fra en NTP-server og trådløs styring af hardware, som for eksempel LED’er, gennem et simpelt IoT-system. For at opnå præcis tid anvendes Network Time Protocol (NTP), hvor Arduino’en sender en UDP-pakke til en NTP-server og modtager et svar, der indeholder tidsstempler i de første 48 bytes af beskeden.
I opstartsfunktionen setup() etableres først seriel kommunikation, som muliggør dataudveksling mellem Arduino og computer. Dernæst initieres WiFi-modulet, og forbindelsen til et WiFi-netværk oprettes ved hjælp af SSID og adgangskode. Når WiFi-forbindelsen er etableret, startes UDP-protokollen via Udp.begin(), som gør det muligt at sende og modtage pakker.
I løkke-funktionen loop() kaldes en funktion, sendNTPpacket(), der danner en korrekt formateret NTP-forespørgsel og sender den til NTP-serverens IP-adresse på port 123. Når et svar modtages, aflæses tidsdataene fra pakken ved at sammenkæde to 16-bit ord til en 32-bit tidsværdi, der repræsenterer antal sekunder siden 1. januar 1900. For at omregne til den mere almindelige Unix-tid trækkes antallet af sekunder i 70 år fra (2208988800 sekunder). Herefter udskrives tiden i UTC-format (timer, minutter og sekunder) via den serielle monitor.
sendNTPpacket()-funktionen nulstiller først hele pakkebufferet og opsætter de nødvendige felter til en gyldig NTP-forespørgsel, herunder LI (Leap Indicator), version og mode. Pakken sendes derefter til serveren med Udp.beginPacket(), Udp.write() og Udp.endPacket().
Derudover findes funktionen printWifiStatus(), som udskriver vigtig information om WiFi-forbindelsen, herunder netværksnavn (SSID), den lokale IP-adresse og signalstyrken (RSSI). Dette er essentielt for at verificere, at Arduino’en er korrekt forbundet til netværket.
Med denne tidssynkronisering etableret, kan man gå videre til at bygge simple IoT-applikationer. Et eksempel er en webserver på Arduino Nano 33 IoT, der modtager HTTP GET-forespørgsler til at tænde og slukke for LED’er, som er tilsluttet specifikke digitale pins. For eksempel kan URL-stier som /gpio1/1 og /gpio1/0 aktivere eller deaktivere LED1, der er koblet til digital pin 6.
I programmet defineres LED-pins som output, og de initialiseres til slukket tilstand. Når Arduino’en er tilsluttet WiFi, oprettes en WiFi-server på port 80, som lytter efter indkommende HTTP-forespørgsler. Når en forespørgsel modtages, analyseres den, og den relevante LED styres efter kommandoen i URL’en.
Wiring til denne demo indebærer, at tre LED’er forbindes til digital pins 6, 4 og 3, og alle GND-ben forbindes til Arduino’ens jord. Det simple setup gør det muligt at demonstrere, hvordan en IoT-enhed kan styres over nettet.
Det er væsentligt at forstå, at denne tilgang kombinerer præcis tidssynkronisering med trådløs kommunikation, som er fundamentale komponenter i avancerede IoT-systemer. NTP sikrer, at enheden altid har korrekt tid, hvilket er kritisk for tidsstemplede data og koordinerede operationer. Den trådløse webserver åbner mulighed for fjernstyring af hardware og realtidsinteraktion.
Derudover bør læseren være opmærksom på netværkets sikkerhed og robusthed. WiFi-forbindelsen skal være stabil, og det kan være nødvendigt at implementere autentifikation og kryptering i reelle applikationer for at beskytte mod uautoriseret adgang. Det anbefales også at forstå timing og delay-håndtering i Arduino-koden for at undgå blokeringer, som kan påvirke både netværkskommunikation og hardwarekontrol.
Endvidere er det vigtigt at overveje strømforbrug og hardwarebegrænsninger ved IoT-enheder. Effektiv håndtering af netværksforbindelse, f.eks. ved at minimere unødvendige forespørgsler og optimere kode, kan forlænge batterilevetid og forbedre systemets pålidelighed.
Hvordan opsætter og styrer man en Arduino Nano 33 IoT-enhed via Arduino IoT Cloud?
For at forbinde og styre en Arduino Nano 33 IoT-enhed via Arduino IoT Cloud er det først nødvendigt at installere og køre Arduino Create Agent på din computer. Når agenten er aktiv, kan du tilføje enheden ved at tilslutte Arduino Nano 33 IoT til computeren og derefter tilgå Arduino IoT Cloud-websitet. Her vælger du menuen DEVICES, hvor du kan registrere din Arduino-enhed. Hvis enheden ikke vises, skal du sikre dig, at både forbindelsen og agenten fungerer korrekt.
Når enheden er registreret, navngiver du den og starter konfigurationen. Denne proces kan tage flere minutter, hvor Arduino IoT Cloud automatisk sætter din enhed op til cloud-kommunikation. Efter konfigurationen vises enheden i din liste over tilknyttede enheder, og du er klar til at begynde programmering og interaktion.
En central del af Arduino IoT Cloud er oprettelsen af “Things” – virtuelle repræsentationer af dine fysiske enheder, som indeholder egenskaber, der kan styres eller overvåges. For at fjernstyre en indbygget LED på Arduino Nano 33 IoT, opretter du et nyt Thing, som du forbinder med din enhed. Inden for Thing-opsætningen tilføjer du en egenskab (property) for LED'en, hvor du definerer variabelnavn, datatype (ON/OFF boolean), tilladelser (læse- og skriveadgang), opdateringsmetode og historikregistrering.
Efter oprettelse af egenskaben redigerer du Sketch-programmet via Arduino web-editoren, som automatisk genereres med variabeldeklarationen for LED-egenskaben. I programmet initieres LED-pinden som output, og variablen sættes til false som udgangspunkt. En callback-funktion onLED1Change() håndterer tænd/sluk-funktionen ved at skrive digital HIGH eller LOW til LED-pinden afhængigt af variablens værdi.
For at gøre styringen intuitiv for brugeren, opretter du en dashboard i Arduino IoT Cloud. Her tilføjer du en switch-widget, som bindes til LED-egenskaben i Thing’en. Dashboardet giver en grafisk brugerflade, hvor du med et enkelt klik kan tænde og slukke for LED'en via skyen.
Test af systemet foregår ved at aktivere dashboardet i kørselstilstand og benytte switchen. Når switchen aktiveres, bør LED'en på Arduino Nano 33 IoT tænde, og slukker du for switchen, slukkes LED'en. Denne simple demonstration kan udvides med flere LED'er og tilsvarende egenskaber i Thing-opsætningen.
For at udbygge funktionaliteten kan du tilføje sensorer fra Arduino Nano 33 IoT, for eksempel indbyggede gyroskoper, til overvågning. Det indebærer oprettelse af nye Things og egenskaber, som rapporterer sensorværdier til Arduino IoT Cloud, hvor de kan visualiseres og analyseres i realtid. Denne tilgang muliggør effektiv fjernovervågning og -styring af enheder via internettet.
Det er vigtigt at forstå, at Arduino IoT Cloud fungerer som et lag mellem din fysiske enhed og brugerens interface, og det kræver en grundlæggende forståelse af både hardwaretilslutning, netværkskonfiguration og programmering i Sketch for at kunne udnytte platformens fulde potentiale. Tilladelser og opdateringsintervaller for egenskaber påvirker både sikkerhed og reaktionstid i systemet, hvorfor disse skal vælges med omtanke. Yderligere kan dashboardets funktionalitet udvides med forskellige widgets, som giver mulighed for mere kompleks interaktion og visualisering, hvilket kan være afgørende i større IoT-projekter.
Hvad betyder det at være en kunstner i køkkenet?
Hvordan integrerer man netværksbaserede protokoller med ESP32 i IoT-projekter?
Hvad er hæklekunst, og hvordan begynder man?
Hvordan revolutionerede opdagelserne inden for atomfysik vores forståelse af universet og teknologien?
Hvordan vinder man respekt i Vesten?
Hvordan JSX Renderer Samlinger i React

Deutsch
Francais
Nederlands
Svenska
Norsk
Dansk
Suomi
Espanol
Italiano
Portugues
Magyar
Polski
Cestina
Русский