Kun dollarin mikrokontrollerista tulee web-palvelin: Syväsukellus sulautettuun hostingiin

Kun dollarin mikrokontrollerista tulee web-palvelin: Syväsukellus sulautettuun hostingiin

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

Web-palvelin 8-bittisellä mikrokontrollerilla: Miksi ei?

Joissain projekteissa tekniikka on mahdollista, mutta järki sanoo ei. Tällaiset tempaukset paljastavat, miten internet todella toimii. Kerron nyt kehittäjästä, joka pyöritti toimivan sivuston dollarin mikrokontrollerilla – karkin hinnan veroista raudasta.

Laitteisto: Vaatimaton mutta yllättävän tehokas

Pääroolissa on AVR64DD32, nykyaikainen 8-bittinen mikrokontrolleri. Hinta pyörii euron tienoilla. Tässä speksit:

  • CPU: Yhden ytimen 8-bittinen AVR, max 24 MHz
  • RAM: 8 kB
  • Flash-muisti: 64 kB
  • Virta: 1,8–5,5 V
  • Hinta: Todellakin yksi euro.

8-bittimaailmassa tämä on tilava paketti. Se päihittää Arduinon Atmega328:n hinnassa ja ominaisuuksissa. Ohjelmointi on yksinkertaista. Haaste? Nettiyhteys puuttuu.

Verkko-ongelma: Ethernet ei sovi

Ethernet houkuttelisi. Se on vakio, dokumentoitu ja luotettava. Mutta fysiikka iskee: 10BASE-T vaatii 10 Mbit/s, Manchester-koodauksella jopa 20 Mbit/s. AVR:n pinnit yltävät 12 MHz:iin. Ei riitä.

Erillinen Ethernet-siru maksaa ja monimutkaistaa. Ei sovi proof-of-conceptiin.

Älykäs ratkaisu: SLIP-protokolla

SLIP eli Serial Line Internet Protocol pelastaa. Se syntyi modeemiaikana (RFC 1055). Yksinkertainen: paketteihin kehykset ja erikoismerkkien korvaus.

  • Kehykset 0xC0:lla
  • 0xC0 paketissa → 0xDB 0xDC
  • 0xDB0xDB 0xDD

Ei erikoisrautaa. USB-sarjaliitäntä 115200 baudilla riittää. Linux näkee sen verkkointerfaceena:

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

90-luvun modeemien protokolla elää yhä. Mikrokontrolleri saa virran samasta kaapelista. Helppoa.

Protokollapino: Nollasta alkaen 8 kB RAMissa

Tässä tulee hauskuus. Todellinen verkko pienellä muistilla.

IP: Helppo nakki

IP-otsikko on 40 tavua metatietoa. Vanha versio tukee sirpaleita, mutta nykypäivänä ne on pois päältä. IPv6 pudotti ne kokonaan.

Ratkaisu: Käännä lähde- ja kohdeosoitteet, nollaa TTL ja lähetä takas. Ei tarvitse ymmärtää IP:tä – vain peilaa.

TCP: Painajainen

TCP vaatii kaiken: tilojen seurannan, uudelleenlähetykset, reunatapaukset ja aikakatkaisut. Debuggaus kesti päiviä. Lopputulos on quirkkinen, mutta palvelee sivun.

HTTP: Käytännöllinen oikotie

Kiinnitetään staattinen vastaus suoraan koodiin. Yksi URL riittää. Rajoitus synnyttää nerokkaita ratkaisuja – ei tarvetta täydelle frameworkille.

Yhteysongelma: Julkiseen verkkoon

Mikrokontrolleri roikkuu sarjakaapelilla kehityskoneessa. Kehityskone linkittyy Helsingin VPS:ään julkisella IPv4:llä.

Ei julkista IP:tä itse mikrokontrollerilla. IPv4:tä on niukasti. Sarjayhteys netin yli ei toimisi.

VPN-ratkaisu: WireGuard

WireGuard hoitaa. Se luo tunnelin NAT:in läpi.

Asetelma:

  1. Kehityskone VPN:llä VPS:ään
  2. VPS ohjaa /mcu/* -pyynnöt tunnelin läpi mikrokontrollerille
  3. Kävijät menevät VPS:n julkiseen osoitteeseen
  4. VPS välittää paikalliselle sirulle

Sama tekniikka kuin Twitchissä, mutta dollarin sirulle ja kaapelille. Mikrokontrolleri ei altistu netille suoraan. Siistiä.

Mitä opimme

Projekti on tarkoituksella hullu, siksi arvokas. Se riisuu kerrokset ja pakottaa protokollien koodauksen alkeista.

Tajuaa, että:

  • Verkko on modulaarinen. Sarja Ethernetin tilalle, TCP UDP:ksi – periaatteet pysyvät.
  • Rajoitukset ruokkivat luovuutta. 8 kB pakotti puhtaat toteutukset.
  • Vanhat protokollat elävät. SLIP vuodelta 1988, Linux tukee.
  • Internet on simppeli. Kerrokset pois, jäljellä tavujen vaihto osoitteiden välillä.

Todellinen oppi

NameOceanissa puretaan webin teknologiaa selkeäksi. Oli pilvi tai mikrokontrolleri, perusasiat – DNS, TCP-kätelyt, HTTP – tekevät paremmaksi tekijäksi.

Tämä ei korvaa cloud hostingia. Mutta näyttää, miksi se on nerokasta. Parhaat abstraatiot syntyvät, kun rakentaa itse nollasta.

Anteeksi, mutta joku yrittää varmaan blogata älykellosta.


Kiinnostaako verkko syvemmin? Tutustu DNS-oppaisiin, TCP/IP-perusteisiin ja miksi domain ratkaisee enemmän kuin rauta. Tarvitset kunnon hostingia? Meiltä AI-pohjaiset ratkaisut – ilman juotosta.

Read in other languages:

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