Fra $1-mikrokontroller til webserver: Dypdykk i embedded hosting

Fra $1-mikrokontroller til webserver: Dypdykk i embedded hosting

Mai 13, 2026 embedded-systems networking microcontrollers tcp-ip diy-projects internet-protocol creative-engineering linux

Webserver på en 8-bits mikrokontroller: Fordi det er gøy!

Noen prosjekter er ren galskap. De har null praktisk nytte. Men de avslører hvordan nettet egentlig funker. Denne gangen handler det om en utvikler som fikk en ekte nettside til å kjøre på en mikrokontroller til under ti kroner.

Maskinvaren: Billig og brutal

Hovedrollen er AVR64DD32. En moderne 8-bits mikrokontroller til rundt en dollar.

Her er spesifikasjonene:

  • Prosessor: 8-bits AVR-kjerne, opptil 24 MHz
  • RAM: 8 kB
  • Flash: 64 kB
  • Strøm: 1,8–5,5 volt
  • Pris: En dollar. Punktum.

Dette er fett for en 8-bits chip i dag. Billigere og kraftigere enn klassiske Arduino-chips. Enkelt å programmere. Problemet? Den må kobles til nettet.

Nettverksutfordringen: Ethernet er umulig

Ethernet frister. Det er standard. Men fysikken stopper det. 10BASE-T krever 10 Mbps. Med Manchester-koding blir det 20 Mbps på linja.

AVR-pinnene klarer max 12 MHz. For sakte.

Dedikerte Ethernet-brikker finnes. Men de koster mer, kompliserer alt og tar tid. Ikke poenget her.

Smarthacket: SLIP-protokollen

Løsningen er SLIP – Serial Line Internet Protocol. Fra modem-tida (RFC 1055). Superenkelt.

Den pakker inn pakker med rammebyte 0xC0. Escaper spesialtegn:

  • 0xC0 blir 0xDB 0xDC
  • 0xDB blir 0xDB 0xDD

Bare en USB-til-serial-adapter på 115200 baud. Linux ser det som et nettverksgrensesnitt:

stty -F /dev/ttyUSB0 115200 raw cs8
slattach -m -F -L -p slip /dev/ttyUSB0

Mikrokontrolleren trekker strøm fra adapteren. Én kabel. Ferdig.

Protokollstakken: Fra bunnen av

Med 8 kB RAM blir det spennende å bygge nettverk.

IP: Enkelt

IP-header er 40 bytes med adresser og metadata. Gammel fragmentering er borte i dag. IPv6 droppet det helt.

Løsning: Bytt kilde- og måladresse på innkommende pakker. Nullstill TTL. Send tilbake. Mikroen speiler bare.

TCP: Helvete

TCP krever:

  • Tilstandssporing
  • Gjenutsending av tapte pakker
  • Håndtering av tusen edge cases
  • Timeout-logikk

Took dager med debugging. Fungerer greit for enkel side.

HTTP: Juks

Hardkodet svar. Alltid samme statiske innhold. Én URL. Perfekt.

Begrensninger tvinger fram smarte løsninger.

Online-kobling: Den geniale twisten

Mikroen sitter på serial til en dev-maskin. Denne kobles til VPS i Helsinki med offentlig IPv4.

Utfordring: Ingen offentlig IP på mikroen. IPv4 er dyrt og sjeldent. Serial over nettet? Nei.

VPN-fiks: WireGuard

WireGuard lager tunnel som funker bak NAT.

Opsett:

  1. Dev-maskin til VPS via WireGuard
  2. VPS viderer /mcu/* til mikroen lokalt
  3. Besøkende treffer VPS' IP
  4. VPS sender videre

Samme triks som Twitch bruker. Mikroen er skjult. Rent og pent.

Hva lærte vi?

Prosjektet er meningsløst. Derfor gull verdt. Fjerner abstraksjoner. Tvinger deg til å kode protokoller selv.

Nøkkelpunkter:

  • Modulært. Bytt serial med Ethernet eller TCP med UDP.
  • Begrensninger skaper magi. 8 kB RAM ga rene, effektive koder.
  • Gammelt holder. SLIP fra 1988. Linux støtter det fortsatt.
  • Nettet er enkelt. Bare bytes mellom adresser.

Konklusjonen

Hos NameOcean elsker vi å forklare webteknologi. Uansett om du bruker cloud eller limer på mikrokontrollere – kunnskap om DNS, TCP og HTTP gjør deg bedre.

Dette erstatter ikke hosting. Men det viser hvorfor cloud er genialt. Bygg fra scratch på en dollar-chip. Da setter du pris på abstraksjon.

Unnskyld, vi må stoppe noen som vil hoste bloggen på en smartklokke.


Lyst på mer om nettverkslaget? Sjekk guidene våre om DNS, TCP/IP og hvorfor domain er viktigere enn hardware. Trenger du ekte hosting (anbefales), har vi AI-drevne løsninger. Uten lodding.

Read in other languages:

RU BG EL CS UZ TR SV FI RO PT PL NL HU IT FR ES DE DA ZH-HANS EN