Minipočítač do dlane Raspberry Pi Na čo je vlastne dobrý ?

Loading

 

Majitelia Raspberry PI už našli pre svoj minipočítač viacero kreatívnych využití, ja ho využívam hlavne ako NAS a multimediálne centrum.

Pre Raspberry PI existujú dve linuxové distribúcie optimalizované pre úlohu multimediálneho centra, a to OpenELEC a Raspbmc. Obe tieto distribúcie obsahujú XBMC, o ktorom som už dávnejšie písal a používal ho na desktope. Namiesto desktopu mám teda teraz na TV cez HDMI pripojený Raspberry PI. OpenELEC funguje lepšie, nedá sa však do neho zasahovať a doinštalovávať ďalšie balíčky, zvolil som preto Raspbmc.

Raspbmc naštartuje priamo do XBMC, nie je ho možné používať ako klasický Linux s okenným manažérom. Samozrejmosťou je však vzdialený prístup cez SSH. Do XBMC je možné pridať multimediálny obsah z diskov pripojených cez USB porty ale aj zo sieťových diskov. Ja som pridal niekoľko adresárov zdieľaných na desktope s Windows 7 (Samba). Prehrávanie cez lokálnu sieť funguje bez problémov, Raspberry Pi dokáže bez problémov prehrať aj film v 720p.

Celkom ma prekvapilo, že s Raspbmc funguje diaľkový ovládač od mojej TV bez akejkoľvek konfigurácie. Nefunguje na ňom však zásadná vec, a to návrat o úroveň vyššie pri navigácií. Takže ak sa zanorím do nejakých menu, už sa z nich bez pomoci pripojenej bezdrôtovej klávesnice nedostanem.

XBMC podporuje UPnP (potrebné zapnúť v nastavení), vďaka ktorému ho vidia všetky počítače v sieti a sú na ňom schopné prehrávať multimediálny obsah. V praxi to funguje tak, že v akomkoľvek počítači v sieti vyberiete video súbor, zvolíte prehrať cez XBMC na Raspberry Pi a video sa vám skoro ihneď začne prehrávať na pripojenej TV. Ak vlastníte zariadenia od firmy Apple, je možné v XBMC zapnúť podporu AirPlay.

Sťahovanie torrentov

Keďže Raspbmc podporuje inštaláciu softvéru vo forme Debian balíčkov (apt-get), môžete si doinštalovať torrent klient Transmission. Transmission obsahuje aj webové rozhranie, takže torrenty na stiahnutie v Raspberry Pi môžete pridávať z akéhokoľvek počítača v sieti cez prehliadač. Aj samotné XBMC obsahuje plugin na ovládanie Transmission.

Stiahnuté torrenty môžete nechať ihneď zaindexovať v XBMC, alebo ich mať prístupné na sieťovom disku, ak používate Raspberry Pi aj ako NAS.

NAS

Každý disk, ktorý k Raspberry Pi pripojíte cez USB port je automaticky dostupný ako sieťový disk cez Sambu, ktorá v Raspbmc štandardne beží. Raspberry Pi tak môžete jednoducho použiť ako lacnú alternatívu k NAS.

Reklamy

Vzdialený prístup

Na vzdialený prístup je možné použiť SSH bežiace na porte 22, na porte 9091 beží webové rozhranie k Transmission, v prípade potreby je možné doinštalovať napríklad FTP server. Nutnosťou je samozrejme nastaviť presmerovanie portov na routeri. Aby ste si pri pripájaní nemuseli pamätať vašu IP adresu (ktorá sa naviac môže meniť), je na Raspberry Pi možné jednoducho rozbehnúť Dynamic DNS a pristupovať k nemu pomocou vami zvolenej ľahko zapamätateľnej adresy.

Ďalšie možnosti

Možností, ako vyžiť Raspberry Pi je samozrejme oveľa viac. Rozbehnete na ňom skoro akýkoľvek programovací jazyk, vrátane Javy a Mona (open-source implementácia .NETu), môžete sa na ňom vďaka bezplatnému online kurzu z Cambridge naučiť vytvoriť si vlastný operačný systém a pod.

Zdroj: kulman.sk

  Inštalácia a spustenie Raspberry ?

Moje Raspberry ? dorazilo! Trvalo mu to približne tri dni, z toho dva cestovalo po Slovensku, ale hlavne, že je tu. Manželka to ešte nevie, ale ja s ním mám veľké plány (podľa dcéry na ovládnutie sveta). Jednoducho, bude to nový člen rodiny (a nie len Linuxovej).
Inštalácia obrazu na SD kartu

Stiahnuť obraz disku s OS pre Raspberry ? z domovskej stránky a po stiahnutí (zvolil som distribúciu Raspbian) ho rozbaliť:
unzip -d cesta/cieľový_adresár súbor.zip
Distribúciu Raspbian, pretože je založená na Debiane a v tom som doma, ale aj ohlasy na jej kvalitu sú dobré.
Výsledkom je súbor s veľkosťou 2 GB, ktorý je potrebné zapísať na kartu SD pomocou dd:
dd if=cesta/súbor.img of=/dev/sdX bs=1M
Po zapísaní je potrebné požiadať systém, aby si znova načítal tabuľku rozdelenia disku, a tak našiel nové partície. Možno to docieliť odpojením a znova pripojením čítačky s kartou alebo nástrojom partprobe (ako root):
partprobe -s /dev/sdX
/dev/sdX: msdos partitions 1 2
Vo výstupe programu (voľba -s) vidno, že karta má dve partície. Obraz disku pripravený na veľkosť karty 2 GB, ak máte kartu väčšiu (ja som zvolil 8 GB), je teraz na karte veľa nevyužitého miesta. Vhodné je minimálne natiahnuť partíciu s linuxom (/dev/sdX2) na rozumnejšiu veľkosť. Tu poslúži nástroj GParted:
gksu gparted /dev/sdX
Na rozdiel od práce priamo s obrazom disku, všetko prebehne na jeden krok. Okrem zväčšenia partície možno budete chcieť vytvoriť ďalšie samostatné partície, ale to asi najviac záleží od účelu použitia ak má byť Raspberry ? prístupné z internetu, odporúčam venovať rozdeleniu disku a nastaveniu parametrov pripojenia zvýšenú pozornosť. Odporúčam aj nastaviť menovky disku, neskôr to oceníte
Možnosti pripojenia

Pred prvým štartom vás iste bude zaujímať ako sa môžete k svojmu Raspberry ? pristupovať. Je to pomerne jednoduché a možností je niekoľko:
Monitor a klávesnica
Raspberry ? má grafickú kartu s výstupom HDMI a dva porty USB, to znamená, že ak máte monitor so vstupom HDMI, stačí ho pripojiť. Ak si kúpite redukciu HDMI > DVI, môžete pripojiť aj monitor so vstupom DVI-D alebo DVI-I. Pravdepodobne nebudete úspešní ani so vstupom DVI-A. ostáva ešte pripojiť klávesnicu (prípadne aj myš) k portom USB, tu len treba dávať pozor, pretože Raspberry ? nemusí zvládnuť ich napájanie a výrobca odporúča použiť USB HUB so samostatným napájaním.
Keďže však neplánujem používať grafický výstup a i tak nemám monitor HDMI a DVI vstup sa dcére podarilo odpáliť, tak som tento spôsob neskúšal.
Sériová konzola
Raspberry ? by malo byť nastavené tak, aby bolo možné použiť pripojenie na vývody UART, a to pomocou prevodníka UART – RS-232, resp. UART – USB. Druhý menovaný je na ceste ku mne, takže potom vyskúšam.
SSH
Túto možnosť som mal od začiatku na pamäti, a tak som s trochou napätia čakal na prvý štart systému. nasledovalo zistenie IP adresy (zo záznamu môjho servera DHCP, ale poslúži aj nmap). Faktom je, že DHCP server potrebujete, pretože IP adresu čerpá od neho, ale to možno neskôr zmeniť.
Po zistení adresy IP som už aj púšťal ssh a ako prihlásenie som použil používateľa pi a heslo rapberry (ako je uvedené na stránke s odkazmi na stiahnutie obrazu OS) a som spokojný, pretože mi monitor vlastne ani netreba.
Prvé spustenie

Takže karta SD je pripravená, to je základ potrebný na prvé spustenie. Pretože sa netrápim monitorom, zastrčil som kartu SD, pripojil sieťový a napájací kábel a čakal. LEDky na doske Raspberry ? začali svietiť i blikať, takže sa zjavne niečo deje. Po chvíli zisťovania adresy IP som sa úspešne pripojil:
ssh pi@IP.AD.RE.SA
Prvotné nastavenie

Reklamy

Ako prvé som nastavil heslo pre účet root:
sudo su
passwd
Po nastavení hesla som sa pomocou SSH pripojil priamo ako root a po prihlásení sa automaticky spustil konfiguračný dialóg, kde som zmenil:
lokalizáciu (change_locale) zvolil som cs_CZ.UTF-8, en_GB.UTF-8 a sk_SK.UTF-8
pamäť GPU (memory_split) zvolil som 32, ale asi ešte uberiem, pretože nemám v pláne používať grafické rozhranie
grafické rozhranie (boot_behaviour) zakázal som spúšťanie grafického prostredia
Chcel som zmeniť aj klávesnicu a hoci mi to v qemu fungovalo, tu nie možno preto, že nenašiel pripojenú žiadnu klávesnicu, ale mohol to aspoň napísať…
Po dokončení nastavenia som nechal Raspberry ? reštartovať, po reštarte som spustil aktualizáciu systému spôsobom mne známym z Debianu pomocou aptitude. Musím skonštatovať, že Raspberry ? je naozaj pomalé, ukáže sa to práve pri práci s aptitude, avšak balíčkovací systém realizuje špecifickú úlohu, tak to na beh systému mať vplyv nemusí (inými slovami, v reále to nejde oveľa rýchlejšie ako v qemu), takže uvidím časom.
Spomínaná pomalosť bola spôsobená pomalou kartou SD, po nákupe rýchlejšej počítačik funguje adekvátne svojim parametrom.
Po nastavení (povolení) účtu root, som si prekopíroval svoj kľúč ssh, aby som sa mohol prihlasovať bez hesla, zakázal som používateľa pi (presnejšie, premenoval som ho):
usermod -l slavko pi
mv /home/pi /home/slavko
usermod -d /home/slavko slavko
passwd slavko
Záver

Pretože som zvoli OS založený na Debiane, nemám problém už sa teším na svoje prvé pokusy s ovládaním V/V zariadení, ale to ešte musím pozháňať niekoľko súčiastok. Kým prídu, tak vyskúšam nastaviť webový server, ale o tom zase niekedy inokedy.
Upozorňujem, že toto všetko sú naozaj len základné nastavenia a systém je všetko, len nie bezpečný!

Webový server s PHP a MySQL

Moja prvá myšlienka je nastaviť webový server s podporou PHP, Python a skriptov SGI. Ako prvá úloha predo mnou stojí PHP, tak som sa do nej s vervou pustil a nastavil si webový server so základnou podporou PHP.

Svoj server som sa rozhodol postaviť na nginx. K dispozícii sú tri podoby balíka :

nginx-light len naozaj základné moduly
nginx-full všetky základné moduly webu a pošty, plus niekoľko modulov tretích strán
nginx-extra všetky základné moduly webu a pošty, plus viac modulov tretích strán
Ktorý si vyberiete závisí na vás, ale často postačí aj najľahšia verzia.
Čím bohatšia (viac modulov) verzia nginx, tým su vyššie jeho nároky na pamäť. Táto náročnosť sa samozrejme prejaví až pri zaťažení servera, nie pri jednom pripojení.
Ja som zvolil tú najplnejšiu, ale nie je to podmienka (robím pokusy):
aptitude install nginx-extra
invoke-rc.d nginx start
Neviem prečo, ale po inštalácii sa mi server nespustil, preto je vyššie príkaz na jeho spustenie. Predvolene je koreň dokumentov webového servera umiestnený na pomerne nevšednom mieste, tak ho nastavím na podobne nezvyklé, ale zato odporúčané. Nájdite a zmeňte v časti server ():
root /srv/www/main;
Je veľmi pravdepodobné, že tento adresár neexistuje, tak ho treba vytvoriť a nastaviť mu vhodné vlastníctvo i prístupové práva:
mkdir -p /srv/www/main
chovn :www-data /srv/www/main
chmod g+w /srv/www/main
Ešte odporúčam v časti location / () zmeniť hodnotu try_files takto:
try_files $uri $uri/ =404;
Môžete opätovne načítať nastavenia, aby sa zmeny prejavili (asi vráti 403, keďže je adresár koreňa dokumentov prázdny), ale bude treba urobiť ešte ďalšie zmeny, tak to zatiaľ nie je potrebné:
invoke-rc.d nginx reload
PHP

Skriptovací jazyk PHP dnes iste predstavovať netreba. Webový server nginx podporuje PHP prostredníctvom FastCGI, ktorý je reprezentovaný balíkom php5-fpm:
aptitude install php5 php5-fpm
Samozrejme, týmto nainštalujete len naozaj základné funkcie PHP a na úplnú funkčnosť aplikácií bude celkom určite treba ešte dodatočné moduly PHP.
Aby nginx dokázal spracovávať stránky PHP je potrebné odkomentovať riadky, ktoré sú v konfiguračnom súbore už pripravené. Nájdite teda v súbore /etc/nginx/sites-available/default riadky a upravte ich takto:
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# # NOTE: You should have “cgi.fix_pathinfo = 0;” in php.ini
#
# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
Samozrejme, je dosť pravdepodobné, že budete chcieť urobiť ešte ďalšie vyladenia nastavení, ale to nie je cieľom tohoto článku a toto nastavenie na základnú funkčnosť stačí. ešte je dobre nastaviť indexový súbor v časti server () tak, aby obsahoval aj index.php:
index index.php index.html index.htm;
Po vykonaní zmien možno opätovne načítať nastavenia nginx:
invoke-rc.d nginx reload
A aby ste mohli skontrolovať činnosť PHP, je dobré pripraviť si ten najjednoduchší kontrolný skript:
cat /srv/www/main/index.php
<?php
phpinfo();
?>
Po otvorení adresy Raspberry ? v prehliadači by v tomto okamžiku mal byť zobrazený informačný súbor PHP:
.. fancybox:: /images/raspi/raspi_php.png
:width: 625px
:alt: raspi_php.png

Informácie o PHP
MySQL

Mnoho aplikácií potrebuje úložisko dát a relačná databáza je dnes tiež bežná. Projekt MySQL má v súčasnosti pomerne neistú budúcnosť, ale to teraz riešiť nebudem. Na nainštalovanie jednoducho stačí:
aptitude -R install mysql-server mysql-client php5-mysql
Na moje prekvapenie potrebuje server i klient MySQL aj nejaké knižnice Perlu, ale s tým nič neurobím. Počas inštalácie budete vyzvaný na nastavenie hesla pre server MySQL. Hoci to nie je povinný krok, vrelo odporúčam heslo nastaviť. Okrem hesla, je dobré po inštalácii nastaviť aj znakovú sadu a radenie UTF-8. Môžete to urobiť priamo v súbore /etc/mysql/my.cnf, ale za lepšie riešenie považujem vytvorenie súboru /etc/mysql/conf.d/utf-8.cnf (názov súboru nie je povinný) s týmto obsahom:
[mysqld]
skip-character-set-client-handshake
collation_server=utf8_unicode_ci
character_set_server=utf8
Aby sa táto zmena prejavila, je potrebné server MySQL reštartovať:
invoke-rc.d mysql restart
V tomto okamžiku možno opäť zobraziť informačný súbor PHP a skontrolovať, že sú načítané moduly MySQL.
Záver

Nabudúce vyskúšam nainštalovať Joomlu, nejaký ten monitorovací systém, pretože ma známy požiadal o nejaké informácie, tak ich potrebujem nejako pozbierať. No a samozrejme Python a skripty CGI, nech môžem z Raspberry ? dostať maximum. Ale teraz idem hľadať konektory, ktorými pripojím GPIO k obvodom
Joomlu som vyskúšal, funguje, ale Načítanie stránky (kópia tejto stránky) trvá 10 i viac sekúnd. Skúšal som memcached, ale veľmi som si nepomohol, hoci to mohlo byť zlým nastavením
MySQL je naozaj pomalé, nepomohla ani rýchlejšia karta SD, jednoducho webový server s MySQL na Raspberry ? nie je to pravé orechové.

zdroj: http://slavino.sk

Reklamy

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *