Hackaday Supercon – Belgrád

Egy megüresedett hely miatt hirtelen hivatalossá váltam a belgrádi Hackaday szuperkonferenciára, így egyik kollégámmal neki is vágtunk a Balkánnak.

Az utazás

Már a vonatjegy vásárlásánál nehézségekbe ütköztünk, ugyanis online módon nem lehetett ezt megtenni, akármennyire is néztük. Még a szerb vasúttársaság oldalán is próbálkoztunk. Azt mindenesetre megtaláltuk, hogy a Keleti pályaudvaron a 6. vágány mellett tudunk rá jegyet venni. Ez majdnem igaz is volt, mert ott volt egy cetli kiragasztva, hogy még meg kell kerülni azt a tömböt és valóban ott volt a jegypénztár. Egy éjszakai járattal terveztünk utazni, ahol lehetett választani kettő-, négy- vagy hatfős hálófülke közül. Kiválasztottuk a négyfőst, azért valami kaland is legyen a dologban.
A vonat pénteken este 10-kor indult, kicsivel előbb oda is értünk a peronra. A megadott számú kocsiban elsőre csak hatfős fülkéket láttunk, de nem volt mit tenni oda szólt a jegyünk. Valójában az, hogy hány fős fülkét választ az ember, csak azt határozza meg, hogy hány embert osztanak be egy hatfősbe. Hozzánk még bolgár srác került, aki nagyon megkönnyebbült, amikor megtudta, hogy mi is a konferenciára tartunk. Később egy másik fülkéből még összefutottunk egy hasonló sorsú lengyel sráccal is és jó hangulatban utaztunk tovább.
A határhoz némi alvás után, valamikor éjfél körül értünk oda. Összesen több, mint egy órát álltunk a két oldalon. A későbbi zötykölődés során sikerült egy közepesen pihentető alvást véghezvinni, de ettől függetlenül nem túl kipihenten értünk a belgrádi főpályaudvarra kb. reggel 8-ra. 2006-ban jártam már ott egyszer, és az derült ki, hogy a kettő között eltelt 12 évben a világon semmi sem változott ott.

A badge

A konferencia egyik fő attrakciója a badge. Minden konferenciára külön terveznek egy ilyen kütyüt, amit lehet módosítgatni, babrálni, azaz hackelni. Minden résztvevő kap egy ilyet és a konferencia végén be lehet mutatni, hogy napközben ki mire jutott.
Vittem mindenféle felszerelést, mert nem lehetett tudni, hogy mi lesz az aktuális eszköz. Végül kiderült, hogy egy PIC alapú retro computer emulátort kaptunk.
Én projektnek azt tűztem ki, hogy az akciókamerámmal lőtt képeket jelenítse meg a kijelzőjén. Az első lépés az volt, hogy módosítsam a badge szoftverét annak érdekében, hogy képes legyen egy kép fogadására az UART-ján. Ez viszonylag könnyen ment, ugyanis foglalkoztam már PIC-kel is (vittem egy PICKit-et) és egy hasonló kijelzővel is. Azt is beleírtam a kódba, hogy gombnyomás hatására küldjön a badge egy karaktert, ami az elsütőbillenyű szerepét látta el.
Először PC-ről küldtem USB-UART átalakítóval képet a badge-nek, az egyszerűség kedvéért már egyből a kijelző meghajtásához szükséges formátumban. Egy egyszerű Python scriptet írtam, amely képes volt ellátni ezt a feladatot.

A badge projektem blokkvázlata

A következő lépés az volt, hogy a WiFi-n vezérelhető kamerával készítsek egy képet, majd töltsem le róla. Már a konferencia előtt játszottam ezzel, a kamera JSON formátumú üzenetekkel kommunikál, amiket egyszerű volt felderíteni a telefonomon található tcpdump segítségével. Kisebb komplikációkkal sikerült eljutnom oda, hogy az előbb script elindításával a gépemre másolódjon egy frissen készített kép.
Most jött az a rész, hogy az egész működjön együtt. A retro érzést erősítve úgy akartam a képet átküldeni, mintha betárcsázós modemmel töltődne be. A Python-hoz már van készen képek átméretezését végző könyvtár, így ennek segítségével először egy 16×16 pixeles blokkokból álló képet küldtem át a kijelzőre, majd szépen lassan a teljes felbontásút. Mindez remekül működött és látványos is volt.
Utolsó lépésként mindezt egy kompakt kialakításba akartam önteni, amihez az Onion Omega2 nevű devboardot akartam hasznosítani. Nagy nehezen sikerült ráerőltetni a 8MB tárhelyére az OpenWRT/LEDE mellé egy minimális Python verziót, illetve a képátméretező libet. Eddig minden jónak tűnt, viszont már korábban is kínlódtam az Omega2-vel. Vagy a gyári OpenWRT-t használja rajta az ember, proprietary WiFi driverrel, vagy a official oprendszert a nyílt driverrel. Előbbinél korlátozott mennyiségű csomag áll rendelkezésre, utóbbival pedig gondok vannak a WiFi-vel. Próbáltam egy WiFi USB stick-kel helyettesíteni a beépített modult, de az ő driverével meg nem volt barátságban a kernel verziója.
Végül sajnos emiatt nem tudtam bemutatni rendesen a projektet, de amúgy nagyon jó móka volt. Ha lesz időm, megpróbálom egy Raspberry PI Zero W-vel, illetve ha időközben frissül az open source driver, akkor újra próbálkozok azzal.

Leave a Comment

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to Top