Henting av MAC-adresser
Innledning
Når du kopler et kort som Arduino UNO R4 WiFi eller ESP32 til et wifinett, får du ei IP-adresse. Men det skjer enda mer i bakgrunnen, for først må enheten identifisere seg på det lokale nettverket. Det gjør den med ei MAC-adresse – en fast, unik kode som ligger lagra i selve wifi-brikka.
Hva er en MAC-adresse?
Tenk på MAC-adressa som navneskiltet på døra. Den er fast, unik og følger kortet hele livet. Den skrives som seks grupper med tall og bokstaver, for eksempel F0:F5:BD:53:BA:10.
Når kortet ditt sender noe over wifi, bruker ruteren denne adressa for å levere data til riktig "dør", omtrent slik som Foodora finner fram til deg og leverer mat ved hjelp av adressa di.
MAC kontra IP: to adresser, to jobber
Folk blander ofte sammen MAC og IP, men de to adressene gjør ulike ting:
MAC er navneskiltet som alltid henger på døra di i bygget (det lokale nettet).
IP er mer som leilighetsnummeret du får av vaktmesteren (ruteren) – adressa kan endres når du flytter mellom nett.
Rutinene i nettverket bruker IP for å finne riktig område, men MAC for å treffe riktig enhet helt på slutten.

Hvor ligger MAC-adressa på UNO R4 WiFi og ESP32?
På UNO R4 WiFi sitter wifi i en ESP32-S3 som hjelpebrikke. MAC-adressa er lagra permanent i denne brikka og kan leses i programmet. På reine ESP32-kort er MAC-adressa lagra på samme måten.
ESP32 har ofte flere MAC-adresser:
Éi adresse brukes når kortet oppfører seg som klient (dvs. kopler til skolens nett).
Ei annen adresse brukes hvis kortet selv lager et eget aksesspunkt.
I skoleprosjekter bruker du nesten alltid klient-MAC.
Praktisk tips: La programmet skrive MAC-adressa til seriell monitor når det starter. Da har du den alltid tilgjengelig for registrering og feilsøking.
BSSID – ruterens "navneskilt"
Du har kanskje sett ordet BSSID noen ganger. Det er MAC-adressa til wifi-enheten du kopler deg til (aksesspunktet), ikke til nettverksenheten på utviklerkortet. I et skolebygg med mange rutere som deler samme nettverksnavn, forteller BSSID hvilken ruter du faktisk er kopla til.
Hvorfor er MAC nyttig i skolehverdagen?
I klasserom med mange like kort er MAC-adressa nyttig for orden og kontroll. Ikt-avdelinga kan be om MAC for å gi nett-tilgang (hvitelisting). Ved feilsøking kan lærer eller ikt-medarbeider finne igjen akkurat ditt kort i lista til ruteren, sjekke signalstyrke og finne ut om enheten faktisk er på riktig ruter. MAC brukes også for å få en ryddig prosjektlogg.

Eksempelkoder
For å hente ut MAC-adressa til et kort kan du bruke eksempelkodene under. Disse kodene henter ut MAC-adressa på wifi-brikka og skriver den til seriell monitor.
Hvis skolen din har et lukka utstyrsnett, må du få hjelp fra ikt-avdelinga for å gi kortet nettilgang. Ikt registrerer MAC-adressa i nettverkregisteret og genererer et passord slik at ditt kort kan koples på nettverket.
Har skole din et åpent utstyrsnett, trenger du kun å registrere MAC-adressa uten passord.
Praktiske tips i kode
UNO R4 WiFi (WiFiS3): Les egen MAC med WiFi.macAddress(...).
ESP32 (WiFi.h): Les egen MAC med WiFi.macAddress(); husk at WiFi.BSSID() gir AP-ens MAC.
Pass på rett rekkefølge: Du må initialisere wifi før du kan få gyldige verdier.
Dokumenter MAC: Skriv den til seriell monitor ved oppstart for enkel registrering i nett.
Filer for nedlasting
Du kan enkelt hente ut MAC-adressa på kortet ditt ved å bruke ei av de ferdige tekstfilene under. Last ned, kompiler og last opp!
Husk at du noen ganger må resette kortet for å starte programmet etter opplasting. I disse programmene er kommunikasjonshastighet satt til 9600 baud. Du må derfor velge samme hastighet i din serielle monitor.