Uporabna Malina

Objavljeno: 14.6.2016 | Avtor: Marjana Erdelji | Kategorija: Dosje | Revija: Posebna 2016

Mislili smo, da ni mogoče videti nič več novega. Dobra štiri leta so minila, odkar je prišla na trg prva različica Raspberry Pi. Navdušenci smo, zahvaljujoč močni skupnosti in bogati dokumentaciji, sledili večini sprememb tako pri strojni kot tudi programski opremi. In ko smo mislili, da smo videli že vse, se je na nekem spletnem portalu za projekte znašla nova dobra zamisel … Za kaj vse torej lahko uporabimo to – Malino?

Raspberry Pi je mini računalnik, velik kot kreditna kartica. Izvira iz Velike Britanije in je bil prvotno namenjen spodbujanju učenja osnov računalništva v šolah, a smo ga dobro sprejeli tudi odrasli. Njegova učna komponenta še zdaleč ni edini motiv za rabo – Raspberry Pi je dejansko uporaben. Celo tako zelo, da smo že pomislili, da bi ga vtaknili tudi v produkcijsko okolje.

Kratka zgodovina

Da bi videli ta računalnik, nam ni treba odpotovati v tehniški muzej v Münchnu, saj je Raspberry Pi sorazmerna novost. Prva generacija, Raspberry Pi 1, izvira z začetka leta 2012 (februar), ko sta bila predstavljena osnovni in zmogljivejši model, A in B. Leto dni zatem sta bila predstavljena tudi izpopolnjena modela, A+ in B+.

Druga generacija Raspberry Pi 2, model B, je bila predstavljena v začetku leta 2015 (februar), februarja 2016 je bila predstavljena že tretja generacija Raspberry Pi 3, model B. Cena teh zelenih kreditnih kartic se giblje med 20 in 35 dolarji, pri nas pa bi za najzmogljivejšo ta hip, Raspberry Pi 3, model B z 1 GB pomnilnika, odšteli okoli 40 evrov. Da bi se približali tudi navdušencem za Arduina, odprtokodne platforme za enostavno rabo strojne in programske opreme, s poudarkom na uporabi elektronike, je bil novembra 2015 predstavljen Raspberry Pi Zero. Ta je še manjši od kreditne kartice in ima omejene zmožnosti splošnonamenskih vhodov in izhodov (t. i. GPIO) in minimalen paket funkcionalnosti. Stane pa le privlačnih 5 dolarjev.

Prva generacija uporablja enojedrni procesor arhitekture ARM11, ki izvaja ukaze s frekvenco 700 MHz, druga generacija ima že štirijedrni procesor ARM Cortex-A7 s frekvenco 900 MHz, tretja generacija pa je štirijedrni ARM Cortex–A53 z višjo frekvenco, 1,2 GHz.

Kaj ponuja

Osrčje vseh modelov je Broadcomov sistem na čipu (SOC) s procesorjem, ki temelji na ARMovi arhitekturi, in grafično procesno enoto VideoCore IV. Prva generacija uporablja enojedrni procesor arhitekture ARM11, ki izvaja ukaze s frekvenco 700 MHz, druga generacija ima že štirijedrni procesor ARM Cortex-A7 s frekvenco 900 MHz, tretja generacija pa je štirijedrni ARM Cortex–A53 z višjo frekvenco, 1,2 GHz. Kako se je povečeval pomnilnik procesorja? Prva generacija je imela le 256 MB (šibkejši model A) in 512 MB (močnejši model B) RAM. Druga in tretja generacija sta se ustavili pri 1 GB RAM. Operacijski sistem, brez katerega si z Raspberry Pi ne boste veliko pomagali, računalniku podstavite s kartico SD. Danes je za Raspberry Pi na voljo že pester nabor operacijskih sistemov, od začetnih NOOBS in Raspbian do dodatnih Ubuntu MATE, Snappy Ubuntu core, Windows 10 IoT Core, OSMC, OpenELEC, Pinet, RISC OS in Weather station. No, strojna programska oprema (firmware), to je tisto, kar je na samem SOC, žal ni odprtokodna. Stephen Hawking z zunanjim svetom komunicira ob pomoči sintetizatorja govora, kako pa komunicira Raspberry Pi? Če boste želeli, bo tudi spregovoril, a za začetek si oglejmo, kaj vse lahko priključimo nanj. Na voljo imamo od 1 do 4 vtičnice USB za priklop miške, tipkovnice, antene WiFi USB in drugih naprav USB. Zaslon, bodisi računalniški monitor bodisi televizor, priklopimo na izhod HDMI, na voljo imamo tudi vtičnici za video in avdio izhod. Splošnonamenske vhode in izhode GPIO smo že omenili, pri teh se je število električnih kontaktov (nožic) od prve generacije povečalo s 26 na 40. Večina modelov Raspberry Pi ima priključek za omrežje, tretja generacija pa ponuja tudi že integrirano komunikacijo prek WiFi in Bluetootha. In, ali ste vedeli, da se vse to napaja prek adapterja mikro USB (5 V, 700–1200 mA), kot ga uporabljate za polnjenje pametnega telefona?

Raspberry Pi 1, model B+ (feb. 2014)

Kaj pa programsko upravljanje? Ko imate na kartici SD že nameščen operacijski sistem, si boste sami izbrali jezik, v katerem boste programirali. Mi smo večinoma uporabljali Linuxu silno podoben operacijski sistem Raspbian in programski jezik pyhon. Tu so še C, C++, java, perl, ruby, squeak smalltalk in drugi.

Raspberry Pi Zero (nov. 2015)

Krmiljenje prek GPIO

Na točno določenih nogicah splošnonamenskih vhodov in izhodov imamo napajalne napetosti (5 V, 3 V) in napetostne potenciale 0 V. Preostalim nogicam lahko programsko določimo smer komunikacije (vhod ali izhod). V primeru izhoda lahko nogici določimo napetostni potencial ali 0 V (nizki nivo) ali 3 V (visoki nivo) in LEDica vam morda zasveti. V primeru vhoda pa beremo napetostne vrednosti iz elektronskih elementov (npr. toplotno tipalo), če smo jih le pravilno vezali na GPIO. Pri branju vrednosti na vhodu se moramo vprašati tudi, ali je signal analogni ali digitalni. Tudi ni vseeno, po kakšnem protokolu beremo podatke. Raspberry Pi ima vse nožice digitalne in podpira komunikacijske protokole I2C, UART in SPI. Le eno nogico smemo določiti kot izhod PWM in nanjo vezana LEDica se bo lahko ugasnila v zatemnitvenem učinku. Za kaj več bi morda raje posegli po kakšni drugi platformi.

Uporabni projekti

Zakaj je Raspberry Pi tako priljubljen in zakaj navdušuje tudi nas? Če pomislimo, da gre pač za (mini) računalnik, lahko sklenemo, da lahko projekte izvajamo tudi na pravem, velikem računalniku? Spet po nožicah GPIO hitro ugotovimo, da nam za upravljanje večjih, resnejših naprav zmanjka tako napetosti kot toka. Morda pa nam je pri Raspberry Pi všeč neobstoječe ohišje, za katero nam res ni težko najti 3D modela in ga natisniti? Razprava ob teh vprašanjih bi lahko bila dolga. Nedvomno pa velja, da je Raspberry Pi priročno majhna, cenovno ugodna napravica, ki jo lahko uporabimo skorajda povsod.

TankDron: avtonomno vozilo, ki leti

Omenimo nekaj projektov iz arhiva zgoraj podpisane. Seveda, vse se je začelo s prižiganjem in ugašanjem LEDic. Da le ne bi izpadlo tako neresno, je bil projekt začinjen s spletnim strežnikom. Tako je mogoče prižigati in ugašati LEDice, če bi želeli, z brskalnika na drugem koncu sveta.

Dvoročni robot Balthazar. Z Raspberryem.

Raspberry Pi je nastopil tudi v vlogi internetnega radia. Na nožice GPIO so bili vezani vrteči se gumb, manjši prikazovalnik za izpisovanje imena radijske postaje, na zvočnem izhodu pa zvočnik. Ta projekt je že predstavljal prvi izziv za izdelavo ohišja, ob katerem ne bi bilo nerodno niti vam (pred sosedom) niti sami Malini.

Z uporabo odprtokodne apli­kacije za videonadzor Motion zaznate premike, na podlagi tega pa sprožite alarm.

Raspberry Pi je nastopil še v vlogi usmerjevalnika. Ta projekt je imel visoko učno komponento in manjšo uporabnost (usmerjevalnik stane v trgovini tudi že samo 15 evrov). Pa nič hudega, projekti Raspberry Pi so se kljub temu nadaljevali. Ste se kdaj vprašali, kaj počnejo vaši psi in mačke, ko ste zdoma? Ne gre drugače, kot da na Raspberry Pi priključite spletno kamero USB. Z uporabo odprtokodne aplikacije za videonadzor Motion zaznate premike, na podlagi tega pa sprožite alarm prek SMSa in elektronske pošte. Še en zgled rabe modema GSM – skupaj z Raspberry Pi je bila narejena spletna aplikacija za množično pošiljanje sporočil SMS. Apetiti pa so rasli. Ker se je naš Raspberry razvijal večinoma v domačem okolju, se nam je zdel naravnost idealen za vstavljanje pameti v hišo (pametna hiša). Prižigali smo luči, zalivali rože, merili temperaturo, zaznavali dim, ogenj, povodenj … Na dom so redno prihajali paketi iz Kitajske: na Raspberry Pi smo preizkušali kar nekaj tipal, pa tudi kar nekaj sorodnih platform, na las podobnih Arduinu … Izdelovali smo celo tiskana vezja in jih namestili na nožice GPIO ter s tem po svoji meri razširili funkcionalnost Raspberry Pi na ravni strojne opreme. Na samem vrhuncu eksperimentalne rabe smo razvili celo »TankDrona«. To je avtonomno vozilo, ki vozi po črti in leti po programsko določenih koordinatah GPS. Na srečo je Agencija za civilno letalstvo maja izdala direktivo o varnosti pri rabi brezpilotnih zrakoplovov, ki narekuje, da se ne sme leteti v strnjenih naseljih, in nas omejila na varnejšo rabo – kje drugje kot neposredno nad lastno streho.

Slice: medijski predvajalnik

Praksa: Raspberry Pi oblak

Saj res, poizkusimo narediti oblačni strežnik! Sledili smo recepturi z znanih spletnih dveri projektov in ustvarili svojo oblačno shrambo datotek. Zadeva zna biti uporabna, ko razmišljate o varovanju svoje zasebnosti v smislu selitve vaših datotek v zasebni oblak.

1. Potrebovali bomo Raspberry Pi z nameščenim operacijskim sistemom Raspbian.

2. Namestili bomo spletni strežnik nginx in OwnCloud, tj. odprtokodno platformo za sinhronizacijo in deljenje datotek.

Pa dajmo!

Kam vpisujemo ukaze te vrstice, gotovo veste – v ukazno okno:

sudo apt-get install nginx

sudo mkdir -p /var/www/owncloud

sudo wget download.owncloud.org/community/owncloud-8.1.1.tar.bz2

sudo tar xvf owncloud-8.1.1.tar.bz2

sudo mv owncloud/ /var/www/

sudo chown -R www-data:www-data /var/www

rm -rf owncloud owncloud-8.1.1.tar.bz2

Ker bi radi delali tudi z večjimi datotekami, bo treba na to ustrezno pripraviti tudi spletni strežnik. Čaka nas torej določitev največje velikosti datoteke, ki jo nalagamo, največja velikost, ki jo objavimo, in omejitev pomnilnika. Nastavitve opravimo v datotekah .htaccess in .user.ini.

upload_max_filesize=2000M

post_max_size=2000M

memory_limit=2000M

Malce smo pohiteli, toda po vpisanem bi oblačni spletni strežnik že moral delovati – do OwnClouda dostopamo na naslovu IP, ki ga ima Raspberry Pi. Preden si ustvarimo upraviteljski račun, še premislimo, ali nam toliko dodeljenega prostora zadostuje ali pa bi želeli dodati tudi zunanji disk. Mi ga za demonstrativne namene nismo potrebovali.

Sicer pa tu najdete vse korake, ki vas zagotovo pripeljejo do želenega cilja: pimylifeup.com/raspberry-pi-owncloud/.

Je to res le igrača?

Ali lahko Raspberry Pi uporabimo tudi v profesionalne namene, ne le kot prototip, temveč »zares« in v produkciji? Lahko. Predstavljajte si, da imate dvoročnega industrijskega robota, ki ga žene lastna krmilna omara. Robotu nataknete čelado in želite, da se mu prikazuje kaj lepega v očeh, ko vas zagleda. Nekako se ne zdi prav, da bi ta višjenivojski jezik tlačili na obstoječi krmilnik. Potrebovali bi mini računalnik, ki bi ga skrili v čelado. Robot Balthazar s slike ima tako v čeladi skrit Raspberry Pi, na katerem teče program za izpisovanje besedila na prikazovalnik.

Navdušence za Raspberry Pi utegne (pre)mamiti menjava komponent ob okvari. Predpostavimo, da imamo na zalogi nekaj strojno združljivih Raspberry Pi. Ob odpovedi strojne opreme enostavno pretaknemo kartico SD v drug Raspberry Pi in nadaljujemo. Ob odpovedi programske opreme nadomestimo kartico SD in nadaljujemo. Kaj pa v kritičnih okoljih, ko potrebujemo bolj vročo menjavo (brez prekinitve napajanja), bi zaupali delo Raspberry Pi? No, tu bi razumljivo marsikdo stisnil rep med noge. A vseeno – cena je za tiste, ki si drznejo, več kot zelo ugodna.

Z Raspberry Pi je mogoče tudi nekaj zaslužiti. Na Kickstarterju smo našli lep izdelek Slice, v katerem se skriva Raspberry Pi. Slice je uporabniško prijazen predvajalnik z notranjim pomnilnikom, na katerega lahko naložimo in predvajamo vse. Po podatkih Združenja Raspberry Pi iz februarja 2016 naj bi bilo prodanih 8 milijonov Raspberry Pi. Sklenemo lahko z ugotovitvijo, da se prihodnost Maline še ne bo tako hitro končala. Do naslednjega februarja verjetno ne!

Najboljših 10

Pobrskali smo po spletu in spletnih dverih za projekte in preverili, koliko je Malina uporabna za druge. Sledi seznam desetih projektov, ki so tako ali drugače povezani z Raspberry Pi.

X-box zero (Terence Eden): Kartični računalnik Pi Zero je ravno prav velik, da ga lahko vtaknemo v krmilnik za X-Box in nam tam ponudi vrhunske igričarske užitke. Gotovo bi lahko po istem načelu predelali tudi krmilnike konkurenčnih igralnih konzol.

Tea-Pi (James Pavur): Avtomatiziran proces priprave čaja. Spominja na projekte »A je to!«

Digitalni foto okvir (Cameron Wiebe): Digitalni foto okvir s samodejnim nalaganjem slik. Kadarkoli pogledate, vas preseneti nova slika.

Mačji krmilnik (David Bryan): Doziranje mačje hrane, ravno toliko, da se ne zredijo. Upate lahko, da bo mačka še naprej jedla doma.

PiPhone (Stuart Johnson): Videz telefona na vrtečo številčnico, ki deluje kot internetni telefon. Za ljubitelje analogno digitalne pretvorbe.

Mini Mac Pi (John Badger): Delujoči model računalnika Mac, tretjina velikosti originalnega Maca. Muzejsko sentimentalna vrednost.

PiPad (Michael Castor): Tablični računalnik z operacijskim sistemom Raspbian. Če želite spoznati, kako se ravna z dotikom.

PiRate Radio (neznani avtor): Lastna piratska radijska postaja. Če oddajate le občasno in na nezasedenih frekvencah, vas morda ne ujamejo.

RPi oblačni strežnik: Izdelava lastnega oblaka z uporabo odprtokodne platforme OwnCloud. To je enostavno treba poskusiti!

RPi vremenska postaja: Shranjevanje, analiziranje in prikazovanje vremensko povezanih podatkov. Ker ne verjamete vremenarjem s televizije.

Kar zadeva projekte, Raspberry Pi vsekakor tekmuje z vašo domišljijo. Zmagovita kombinacija je po našem mnenju izdelava 3D skenerja in 3D tiskalnika na podlagi Raspberry Pi. Uporabnejši napravi bi si ta hip že težko izmislili.

Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!
Prijava

ph

Komentirajo lahko le prijavljeni uporabniki