Így küldtünk kódokat a világűrbe
Az ESA és a Raspberry Pi Foundation Astro Pi: Mission Zero kihívása részeként több mint egy tucat gyerekkel készítettünk Python kódot, amit utána lefuttattak a Nemzetközi Űrállomáson.
Mikor a játékos oktatás és a tudomány találkozik, abból általában remek dolgok születnek: az Európai Űrügynökség (ESA) oktatásért felelős csapata és a Raspberry Pi Foundation pedig pontosan egy ilyen rendkívül izgalmas, világméretű megmérettetést hívott életre Astro Pi néven. Az IoT-eszközök hatalmas népszerűségét igyekezett kiaknázni a két csapat koncepciója, amelyben egy virtuális Raspberry Pi számítógépet programozhattak az érdeklődő iskolák diákjai, az ESA pedig csavart egy kicsit a megmérettetés végkimenetelén, és a sikeres kódkészítésért nem mindennapi jutalmat ígért a gyermekeknek. Ez a díj ugyanis nem más volt, mint egy út a világűrbe; persze ez az ajánlat - egyelőre - csupán az elkészített kódoknak szólt.
Az Astro Pi: Mission Zero küldetésének keretében a HelloWorld csapata is ellátogatott a Budapesti Kempelen Farkas Gimnáziumba, valamint az AKG Általános Iskolába, ahol egy rendhagyó informatikai óra keretében több mint ötven gyermek ismerkedhetett meg a Python-alapú kódok készítésével és a Sense HAT emulátor használatával.
A diákok a szakértőktől kapott rövid bevezetést követően el is készíthették az űrhajósoknak szánt aprócska üzeneteiket, amelyek közül több mint egy tucat valóban meg is kapta a maga 30 másodpercnyi reflektorfényét a nemzetközi űrállomáson telepített eszköz felületén. Lentebb látszik, hogy miként néz ki az egyik oklevél.
IoT az űrben
Az űrállomáson használt Raspberry Pi-t egy speciális foglalatba helyezte a kihívást megálmodó csapat, amely a szélsőséges körülmények között is ellenállóvá - azaz az űrküldetésre tökéletesen alkalmassá - tette a miniszámítógépet, mellé pedig egy speciális, mérőműszerekkel, LED-mátrix-kijelzővel és vezérlőgombokkal is szerelt kiegészítő került. A gyermekek feladata az volt, hogy keltsék életre ennek az összeállításnak a böngészőben elérhető virtuális változatát, méghozzá az előre megadott irányelvek szerint. A kijelző használata nyilvánvalóan elengedhetetlen volt egy ilyen üzenetküldős projekt elkészítéséhez, az alapelvárások közé tartozott azonban még az is, hogy a Raspberry Píhez csatlakoztatott szenzorokkal mérési adatokat is lekérjenek a diákok.
Vagyis a kettő-négy fős csapatokban dolgozó tanulók kódja csak abban az esetben felelt meg a kritériumoknak, ha a megírt szoftver hibamentesen lefutott 30 másodpercen belül, elvégzett legalább egy adatlekérést a beépített hőmérő segítségével, és a kapott információt a mátrixba rendezett, színezhető LED-ek segítségével meg is jelenítette valamilyen formában. Ezenkívül a gyerekek lényegében szabad kezet kaptak. A 8×8-as RGB LED-mátrixot akár pixelgrafikus képekkel, sőt animációkkal is feldobhatták, de természetesen a többi mérőműszer használatának kipróbálására is lehetőségük volt.
A futtatás során egy számlálóval mérte az alkalmazás futási idejét a felület, hogy még véletlenül se érkezzenek a maximálisan engedélyezett 30 másodperces határt túllépő alkotások (és figyelmeztetett is, ha a diák túllépte az intervallumot). A kritériumoknak megfelelő projekteket aztán egy rövid űrlap kitöltését követően már el is küldhették a gyerekek, a szervezők pedig vállalták, hogy értesítést küldenek nekik, amint kódjuk a Nemzetközi Űrállomáson található eszköz kijelzőjén is megjelent. A HelloWorld csapatához is számos visszajelzés érkezett a projektben résztvevő diákok sztratoszférán is túljutó kódjairól.
Részletes leírás
A kihívás szervezői gondoskodtak róla, hogy a nem mindennapi feladat ellenére könnyedén átadható tudást kínáljanak az oktatóknak. Egy remekül felépített, a kódkészítés egyes állomásait lépésről lépésre megismertető oktatóanyagot készítettek a tanárok számára, így pedig az alapvető ismeretanyag átadásához komolyabb programozói ismeretekre sem volt szükség (igaz, ha egy-egy kérdés felmerült a kóddal kapcsolatban, azért a kicsit behatóbb Python-ismeret valószínűleg jó szolgálatot tett).
A képekkel is illusztrált, lépcsőzetesen felépített anyag viszonylag gyorsan lehetővé tette, hogy látványos haladást érjenek el a csoportok, az első, mindössze pár sorból álló kiírató részt követően már rögtön a LED-ek színezésére vezetett rá a feladatbemutató. Ezek után a legtöbb problémát okozó rész, a rajzolás kipróbálása következett, ami már a gyermekek jelentős részének komoly fejtörést okozott. Használni kellett ugyanis a késleltetés műveletét is, hogy a kép élvezhető ideig a kijelzőn maradjon. Az ügyesebbek a rendelkezésükre álló funkciók alapján ezután már készen álltak akár az egyszerűbb animációk elkészítésére is. Majd eljutott az oktatási anyag a szenzorokhoz, amelyeknél kiemelt figyelmet kapott - a beolvasást követően - a változók használata, valamint a precíz műszerektől kapott számok megfelelő kerekítése is. Végső lépésként pedig jöhetett az értékek megjelenítése, ami tulajdonképpen már a korábban elsajátított ismeretekre (kiírás, képkészítés) épült.
Az alapozás után
Az Astro Pi: Mission Zero csupán az első lépés volt egy hosszú úton, amely a komolyan érdeklődő diákok előtt állt. Az alapvető funkciók megismertetését és alkalmazását követően jöhettek a lényegesen bonyolultabb projektek, amelyhez raspberrypi.org oldalon található tudásbázis sok segítséget adhat.
Amennyiben bővebben is érdekelne a kihívás, de lecsúsztál a nevezésről, esetleg egy jövőre tartandó következő körre szeretnél felkészülni, látogass el az astro-pi.org oldalra, ahol megtalálod a kihíváshoz tartozó oktatási anyagokat (magyar nyelven is). Ha pedig szeretnéd a megszerzett tudást a gyakorlatban is kipróbálni, a Sense HAT emulátort (trinket.io/sense-hat) is előveheted, amelynek felületén már kész kódokat böngészve is szélesítheted tudásodat. Ha pedig érdekelnek az űrtechnológiák akkor neked is ajánljuk a hamarosan induló Űrtáborunkat.