Home / Prylar / VapeServer levererar data istället för nikotin

VapeServer levererar data istället för nikotin

Jag har sett många udda teknikprojekt genom åren, men det här kan vara ett av de allra mest udda. Bogdan Ionescu har lyckats med konststycket att omvandla en förbrukad vape (e-cigarett) till en webbserver. Och det funkar faktiskt.

Projektet kommer från utvecklaren ”bogdanthegeek” som uppenbarligen samlar på kasserade engångs-vapes från vänner och familj. Inte för metallåtervinning eller batterier (även om det började så), utan för att han upptäckte något fascinerande: de nyare modellerna innehåller faktiskt användbara kretsar.

När Bogdan plockade isär en av dessa ”nappar för vuxna” (som han kallar dem), hittade han en PUYA-märkt mikrokontroller. För de flesta säger det namnet ingenting, men för den inbitne hårdvaruhackaren är det som att hitta guld i elektronikskräpet.

Specifikationerna är ytterst blygsamma:

  • 24MHz Cortex M0+ processor
  • 24KB flashminne
  • 3KB RAM
  • Diverse kringutrustning som aldrig kommer användas för sitt ursprungliga syfte

Som Bogdan själv skriver: ”Du kanske tittar på de där specarna och tänker att det inte är mycket att jobba med. Jag å andra sidan ser en blixtsnabb webbserver.”

Den tekniska trollformeln

Hur får man då en mikrokontroller utan nätverkskapacitet att prata med internet? Bogdan använder något som kallas ”semihosting” – i princip systemanrop för inbyggda system – kombinerat med SLIP (Serial Line Internet Protocol).

För oss som minns modemtidens plågsamhet kan SLIP kännas igen som protokollet som en gång i tiden lät våra 56k-modem överföra IP-paket över telefonlinjer. Bogdan hackar ihop detta med moderna verktyg för att skapa en virtuell nätverksanslutning genom debuggern. Det är som att bygga en bro mellan 90-talet och 2020-talet, med en engångsvape som mellanlänk.

De första försöken hade ping-tider på 1,5 sekunder med 50% paketförlust. En enkel webbsida tog över 20 sekunder att ladda. Men efter lite optimering gick det att få ner till 20ms ping och sidladdning på 160ms. För att vara en server som byggdes för nikotin är det rätt imponerande.

Minnesutnyttjandet är också fascinerande:

  • Flash: 5116 bytes av 24KB (21% användning)
  • RAM: 1380 bytes av 3KB (45% användning)

Det betyder att det finns gott om utrymme för mer funktionalitet. Bogdan har till och med implementerat ett JSON-API som returnerar antalet besök och mikrokontrollerns unika ID. För att citera honom själv: ”Det här är inte bara en statisk sidserver, du kan köra vilken server-side-kod du vill, om du kan C det vill säga.”

Det här är inte första gången någon kör en webbserver på udda hårdvara. Raspberry Pi ligger nära till hands, liksom alla ATtiny-projekt där folk pressar ur varenda droppe prestanda från chipp som kostar några kronor.

Skillnaden är att Bogdan återvinner sina från produkter som redan tjänat sitt syfte, något som också riktar fokus till miljöaspekten. Engångs-vapes innehåller USB-C-portar, uppladdningsbara batterier och ARM-processorer som sedan kastas när de gjort sitt jobb. Det är elektronikslöseri på en helt galen nivå. Vi slänger bokstavligen fungerande datorer i soporna.

Om du vill få direktkontakt med Bogdans VapeServer finns en länk i originalinlägget, men tack vare uppmärksamheten är det tveksamt om den kan ta emot mer trafik under det närmaste seklet.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *