Mikrokontrollerek vadon

Folytatódik a falusi technológia rovat. Ahogy ezt leírom, más ötletek is felmerülnek, de mivel az alábbi téma a legaktuálisabb - mégha nem is éppoly kiforrott -, ezért ajánlom figyelmetekbe.

A korábbi írásokban volt már szó arról, hogy az Arduino és hasonló mikrokontrollerek ill. a Raspberry mikroszámítógépek milyen könnyen elvesznek alkalmazhatóak háztáji környezetben különféle funkciók ellátásra. Ehhez kapcsolódóan haladtam tovább áprilisban is, amikor egyrészt kidolgoztam a repedtfazékzenekar alapját képező nem túl bonyolult technikát:

enter image description here

Az installáció így szól, ha napsütés éri:

Emellett, egy másik vonalon létrehoztam a Raspberry zero-val megvalósított napelemes webszervert is. A szerver csak abban a kicsit körzetben ad jelet, ahol el van helyezve (ez végülis bárhol lehet a világban), és a rajta található tartalom is az interneten elérhető oldalakról eltérő - de keresem azokat a lehetőségeket, amik egy ilyen privát hálózat, nyomhagyó számára alkalmasak lehetnek. Egyelőre így néz ki:

enter image description here

A képen bal oldalon maga a szerver, jobb oldalon pedig a napelemes akku látható. Egy feltöltéssel 2-3 napot megy, és szintén 2-3 nap alatt töltődik fel.

Az ötlet még fejlesztés és továbbgondolás alatt áll: szeretném, ha külső szenzorok segítségével a szerver tudna reagálni a környezetének fény- és hőmérsékletviszonyaira, valamint maga is egy hangszerként működne, hasonlóan az eddig elkészült repedtfazék-zenekarhoz. Az ötleteket, ha valamire jutok velük, itt is bemutatom majd, de önálló weboldalon, az http://iszalag.net/ címen dokumentálom, és a június közepi photoSynth szimpóziumon mutatom majd be.

Szintén ajánlom figyelmetekbe az Open Biouille Camp makertalálkozót (május 25-27. között lesz a pécsi Létrában és környékén), ahol a fentieknél sokkal izgalmasabb csináld-magad technológiai megoldásokkal lehet találkozni.

Mikrokontrollerek 2.

Amikor a Kraftwerk 1981-ben megjelentette a Pocket calculator-t, annak a (talán negatív?) vízióját szólaltatta meg, hogy a mind kisebb eszközök hordozhatóvá, könnyűvé teszik a mindennapi kreativitást is: "By pressing down a special key / It plays a little melody". Aztán ez a látomás meg is valósult a táblagépek majd még inkább az okostelefonok audio alkalmazásaiban. A kicsiség összefügg a mobilitással, ráadásul mindezt azzal az elvárással ötvözi, hogy alkotói hozzáállásunk se csorbuljon drasztikusan. Nos, ez utóbbival kapcsolatban vannak kételyeim (emiatt is a negatív vízió kifejezés a Kraftwerk-nél), igen nehéz ugyanis úgy alkotói terepet biztosítani egy mobiltelefon-felhasználónak, hogy az a bizonyos különleges gomb ne egy szűkre határolt, de feltételezhetően mégis kellemes dallam megszólaltatását jelentse. Persze vannak igen jó ellenpéldák is (ajánlom példaként a CDM app-rovatát), de azért a számítógép által biztosított személyreszabhatóság, programozhatóság még mindig ellensúlyozza a nagyobb méretből és kisebb hordozhatóságból eredő hátrányokat.

enter image description here
Egy hordozható Raspberry PI, kicsiny kijelzővel, akkumulátorral, és még kicsinyebb billentyűzettel! A kép forrása: https://www.geek.com/chips/raspberry-pi-turned-into-a-portable-workstation-1504031/

Nade, amikor a Pocket Calculator után harminc évvel megjelentek az első Raspberry PI modellek, ez a kép elkezdett átalakulni. A kérdés az volt: lehetne-e olyan számítógépet készíteni, ami méretében azonos egy Arduinoval, viszont képességei teljesen önállóvá teszik? Mára az igen válasz természetessé is vált, hiszen ezek a kicsiny számítógépek bebizonyították, hogy nem feltétlenül van szükségünk a legújabb, leggyorsabb Intel processzor köré épülő rendszerre, hanem többnyire elegendő egy ilyen, 16 ezer ft körüli árú picike is a mindennapi, olykor egyébként igen komoly igények ellátására. Ezek a kütyük rendszerint Linux rendszert futtatnak (Raspbian a neve), ami egyrészt nagyon jó az open source szellemiség és a gyorsaság miatt, másrészt persze kényelmetlen azoknak, akik más operációs rendszereket szeretnek. Ma már elég könnyű megbarátkozni a Linux rendszerrel: grafikus rendszer, bőséges támogatottság a különféle eszközöknek stb.
Évek óta használom a Pi 2-es és 3-as verzióit, valamint újabban, a napelemes terveimhez a Zero-t (100mA, vagyis 5V feszültségen 0.5W a fogyasztása, ami igen-igen alacsonynak számít), és rendszerint olyan feladatokhoz optimális, amik egy önálló számítógépet nem igényelnek, viszont az Arduino keretein már túllépnek: pl. médiaszerver, számítógép a skacoknak, Linux és programozás oktatására a Bütyköldéken... De ezeken túl sokkal több lehetőség rejlik bennük, épp amiatt, mert hordozhatóvá tehetőek. Kamerával felszerelve önvezérlő robotépítésre használhatóak:

enter image description here
Kamerás kiskocsi - a kép forrása: http://www.botmag.com/raspberry-pi-camera-robot/

... vagy épp mobiltelefont helyettesíthetnek:

enter image description here
A kép forrása: https://www.raspberrypi.org/blog/piphone-home-made-raspberry-pi-smartphone/

Az eszközök fejlődése aztán összekapcsolódott az IoT (Internet of Things, vagyis a mindennapi/háztartási tárgyak felruházása internetes vezérléssel, visszajelzéssel) történetével: beépíthető méretük, strapabíró működésük és a rendszer specializálhatósága által képesek feltűnni a legkülönfélébb helyeken is, pl. egy házi sörfőzőben:

enter image description here

Kép forrása: https://www.raspberrypi.org/blog/homebrew-beer-brewing-pi/

De, mint ahogy az Arduino-t is megtaláljuk a kertekben egyszerű folyamatok vezérléseinél, úgy a nagytesó, a Málnapc már komplex mezőgazdasági folyamatok adatgyűjtési, vezérlési feladataira is alkalmazható (lásd pl. itt).

A Raspberry, hasonlóan az Arduino-hoz, láncreakciót indított el: hamarosan megjelentek a hozzá hasonló miniszámítógépek (egy válogatás itt), a még kisebb rendszerek (miért ne alapon, pl. Onion), vagy az olyan eszközök, amelyek speckó hangfeldolgozást tudnak végezni (pl. a Bela / Bela mini). Érdekes folyamat, ahogy a mind gyorsabb, nagyobb ideája után épp az ellenkező célkitűzések kezdenek érvényesülni: inkább legyen lassabb de olcsó, + legyen szinte észrevehetetlen, buherálható, open source. Amivel talán már nemcsak azt tudjuk megcsinálni mobilizáltan, amit az "igazi" gépeinkkel amúgyis.

Mikrokontrollerek 1.

A '80-as években terjedtek el azok a számítógépek, amiket mikro- jelzővel illettek gyártóik: az előtag nemcsak a bennük használt technológia méretére (1 μm = 10−6 méter), hanem magukra a készülékekre is utal: az őket megelőző vagy épp utánuk kialakuló pc-khez, miniszámítógépekhez képest kompakt rendszerek voltak, egyszerű adattárolással, megjelenítéssel, viszont sokféle felhasználási lehetőséggel (pl. Commodore, Atari, ZX Spectrum). Döbbenetesnek tűnik számomra, de még ma is vannak olyan fejlesztők, akik pl. C64-re írnak audio alkalmazásokat! (lásd pl. itt) Arról nem is beszélve, hogy okoskészülékeink is ide sorolhatóak.

Node most nem igazán ezekről van szó, ugyanis a kifejezés egy másik közegben is él, a mikrokontrollerek szerteágazó világában. Ezek a kicsiny, tenyérméretű kütyük vagy egy speciális alkalmazásra felprogramozható céleszközök (pl. a PIC-chipek ill. a mindjárt bemutatásra kerülő Arduino), vagy pedig önálló számítógépek, hasonló vagy épp akár ezerszeres kapacitással, mint 8 bites társaik 30-40 évvel ezelőttről (különösen a Raspberry PI). Azért szeretem őket használni, mert egyszerű őket programozni, könnyen teremtenek kapcsolatot a környezetükkel szenzorok, ill. könnyen is hathatnak rájuk vissza pl. motorok vezérlése által, ugyanakkor beépíthetők, kis energiafogyasztásúak, személyreszabhatóak. Úgy működnek, hogy egy kódot készítünk el a számítógépen, amit USB-n keresztül feltölt, majd ettől fogva automatikusan futtat a készülék. A kód nyelvezete igen egyszerű, jól dokumentált (lásd itt), így nem véletlen, hogy a kicsik is könnyen bele tudnak csöppenni a csináld-magad technológia (DiY) közegébe.

Az olasz Arduino ezek között nem az első, de mégis a legjobb jelképe a csináld magad technológiának. Nyílt forrású rendszer, így bárki tudja másolni vagy új, saját klónt készíteni és árusítani belőle.
Néhány példát mutatok arra, hogy mire is használhatóak ezek az eszközök pl. a kertben vagy más, természet-közeli helyen.

1/ automatikus öntöző rendszer talajnedvesség-szenzorral: ebben az esetben az arduino az öntözőrendszert egy szeleppel kapcsolja ki-be, attól függően, hogy a rá kapcsolat talajnedvesség-érzékelő milyen értékeket közvetít. Összekapcsolható napelemmel is, így nem kell elemet cserélgetnünk (ráadásul épp a napsütés szárítja ki a talajt, tehát szükség is a napon van rá) vagy villamos vezetéket kiépítenünk. http://www.instructables.com/id/Automatic-Garden-Watering-Device-Arduino/

2/ az Arduino ötlettárában találunk még egyéb, hasonló projekteket is, de van, aki egész továbbfejleszti, és a hőmértéklet, fény és tápanyag-figyelést is bekapcsolja a bemeneti szempontok közé (pl. itt).

enter image description here

3/ az állattartásban is megjelenni látszik az arduino, itt pl. a tyúkól nyitását, az étel adagolását automatizáltan, motorokkal vezérlik, a levegő állapotának jelentését pedig mobiltelefonra továbbítva oldják meg. Hasonló célok mozgathatják az akvapónia rendszerek monitorozására (adatok figyelésére, figyelmeztetés küldésére) alkalmazható Open Garden projekt fejlesztőit is.

4/ aztán, ha esetleg a kerti munkába is szeretnénk bevonni az eszközt, van épp napelemes, önjáró fűnyíró (ez), gyomláló (ez), magvető-öntöző (vagy épp ez) rendszer is.

enter image description here

Habár mi tudjuk, hogy a kertészkedésben épp az a jó, amit a gép a fenti példákban átvesz, és az az, amitől épp nehéz is az a munka, de simán felmerülhet az is, hogy bizonyos feladatok automatizálásával átalakíthatjuk munkafolyamatainkat, finomhangolhatjuk az automatizált folyamatok működését, erősíthetjük az interakciót ezen kicsiny, specializálható kütyük felé is. A kifinomult rendszerek létrehozásához hasonló kísérletek kiértékelése, módosítása mutathat utat.
Egy ilyen rendszer összeállításában a legdrágább tényező a mi időnk. Az arduino 6-8 ezer ft, a szenzorok és a többi komponens párezres kategória. A kütyü programozása ingyenes szoftverrel lehetséges. Így viszonylag beláthatóak a kiadások.
Én 2007-ben találkoztam először az Arduino-val, a Kitchen Budapest megnyitó akciójára készülve. Ezt követően vettem is egy modellt, ami 2009-ig porosodott valahol otthon, mígnem készítettem egy számítógép-vezérelt lemezjátszót, majd sok-sok mindent, ami motrok automatikus ill. interaktív vezérlését tette lehetővé. A szenzorokat is inkább az eszköz és környezete közötti kommunikáció számára használtam, használom. Újabban pedig a legkisebb méretű modellek (mini, nano, lilypad) hordozhatósága, még alacsonyabb energiaigénye inspirál.

Webes hangszerjátékok

Az idei télvége kedvez a benti munkának (mivel nem kedvez a kintinek), ezért lehet például kódolni. Ennek eredménye lett a nyolcadik képeshang, valamint néhány egyszerűbb játék vagy hangszer is. Voltaképpen az, hogy minek hívjuk, egyremegy - fontosnak tartom, hogy a kettő egy kategória lehessen: a gyerekek ugyanúgy használhassák az élmény kedvéért, mint ahogy azok is, akik már nem gyerekek, esztétikai értéke miatt. Persze itt az esztétikum inkább a digitális nyelven értendő. Mindenesetre ez az összekapcsolódás ad lehetőséget arra, hogy a játékból a tanulás vagy a munka felé keressünk utat.

Az egyik, amit most mutatok, a pattogtattató nevet viseli, és bár elég régóta kotlok rajta, nincs túlbonyolítva. Egyszerű fizikai szimuláció, amelyben a felhasználó kattintásra tud újabb labdákat elereszteni, amik a beállított gravitáció szerint pattognak, valamint fokozatosan el is tűnnek. Eközben pedig olyan hangot adnak ki, amit pozíciójuk, sebességük, eltűntségi állapotuk határoz meg. Egyébként kicsit kotlós hangot.

Itt egy kép róla:

pattogtattató

És itt lehet kipróbálni:
http://kbalazs.periszkopradio.hu/egyeb/pattogtattato.html

A másik egy kicsit kiforrottabb - az előzőből született, de immár nem pattogást, hanem forgást szimulál, és egy-két dologban továbbléptem rajta. Forgattató a neve, és nem meglepő módon különböző, a homokóra és a csokornyakkendő közötti formákat mozgat, miközben visszapördülve hangot ad ki. A formák léte itt már tőlünk is függ: a felhasználó egérmozgással újra tudja éleszteni a lelassult/eltűnőben lévő objektumot (happy end...) A hangot szintén a forgó valami(k) állapota határozza meg. Jolán pl. úgy használja, hogy egy pontban indít 10-15 formát, utána máshol is ugyanezt, és időnként újrapörgeti az elhalványulókat.

A pörgettető képe egy olyan állapotban, ahol több felhasználó is ad hozzá dolgokat:

forgattató

És itt lehet kipróbálni:
http://kbalazs.periszkopradio.hu/egyeb/forgattato.html

Mindkét esetben érdemes játszani a vezérlőparaméterekkel! Elviekben az alkalmazások többfelhasználósak (vagyis ugyanarra az oldalra bejelentkezve látjuk/halljuk azt, amit más is csinál (más szín jelöli a másik felhasználó objektumait), de ez a képesség tesztelés alatt áll, és gyakran inkább lekapcsolom. Ha használat közben más színű dolgok is elkezdenek pattogni/pörögni, az azért van, mert megy a hálózati kapcsolat, és valaki más is használja ezt az alkalmazást.

{Szokásos technikai megjegyzések: mobil kütyükön még mindig nem megy (megpróbálok legközelebbre egy olyat is csinálni:), a számítógépes böngészők közül pedig Safarin, Firefox-on és Chrome-on teszteltem - kisebb-nagyobb döccenőkkel, de mennek. A Safarin például minden szuper, a Firefox-on egy idő után beakad a hang (ami lehet, hogy nem is baj), a Chrome-on pedig a mozgások szaggatnak, viszont jó a hang.}

Jó és gyors télvéget kívánok hozzá!

Technológia és természet: forrásból forráskód

Mai nézőpontból könnyen úgy gondolhatjuk, hogy a technológia igencsak távol áll a természeti szemlélettől: úton-útfélen azzal találkozhatunk, hogy a technikai fejlődés miként fordult szembe először csak a természeti, majd később a társadalmi környezettel is. De azért azt is figyelembe kell vennünk, hogy nem feltétlenül az 'okos' eszközök a károsak, hanem mi, használóik vagyunk kevéssé organikus szemléletűek. Nézőpontunk gravitációs középpontja alapvetően gazdasági: nem azért takarékoskodunk az erőforrásokkal, mert az a természet egészére kihat, hanem egyszerűen azért, mert olcsóbb; mint ahogy hajlamosak vagyunk a "bio" termékeket megvenni, holott nemcsak elég drágák, de steril körülmények közül, korántsem környezetbarát szállítási útvonalakon érkeznek a boltba.

enter image description here

Azt már korábban is megfigyeltem, hogy a természetes megközelítés időben korántsem kifizetődő, sőt, általában véve több időbe és pénzbe is kerül. Persze olyan is előfordul, hogy egyáltalán nincs pénzforgalom, hanem a már meglévő eszközeinket, saját két kezünket és fejünket használjuk. Talán eljuthatunk oda is, ahová önellátó eleink. Valami hasonló zajlik le mostanában az információ-technika területén is. A nyílt forráskódú rendszerek (pl. a linux vagy a fenti képen működésben látható arduino platform), a programozói közösségek (pl. a github.com, ahonnan ennek a blognak a forrása is származik) annak jelei, hogy nemcsak az lehet érték, amit a vásárló fizet, hanem az is, ha mind többen használnak egy eredményt eredeti vagy módosított formájában. Széles, arctalan, hely-nélküli közösségek ezek, és valami mégiscsak hatékonyan működteti őket. Ötletek, befektetett munka sarjadnak és növekednek, és a folyamat érezhetően sűrűsödik valamilyen, eddig ismeretlen irányban. Hasonló leírást tudok adni a régmúlt falusi közösségeiről is, mégha azok épp szűk, zárt és helyhez kötött jellegűek is voltak, de működésük elve szintén a (természeti) források megosztásán, a közös túlélésen alapult.

A mai élet már nem a régmúlté. És talán nem is az ipari társadalomé. Tevékenységünk mobilizálható, kommunikációs eszközeink hely-függetlenné tehetnek. Más irányból is felsejlik a lehetőség, hogy a technikai eszközök a természeti világgal barátságba kerüljenek, és így mi magunk is organikusan, egészében lássuk mindennapi életünk környezeti igényeit és terheit. Mert a cél ugyanaz: a források megosztása és a (hosszú távú) túlélés.