Raspberry Pi má k dispozici 8 volně přístupných GPIO portů. které je možné ovládat. Na následujícím obrázku jsou vybarveny zeleně.
Pozor !! GPIO jsou 3.3V a netolerují 5V !! Maximální proud je 16mA!!
Bylo by jich možné změnou konfigurace využít víc. Při oživování jsem vycházel z toho
německého návodu.
Nejprve je třeba nainstalovat ligthhttpd (nebo apache ) server a PHP5:
sudo groupadd www-data
sudo apt-get install lighttpd
sudo apt-get install php5-cgi
sudo lighty-enable-mod fastcgi
sudo adduser pi www-data
sudo chown -R www-data:www-data /var/www
Do konfigurace lighthttpd
/etc/lighttpd/lighttpd.conf
je třeba přidat:
fastcgi.server = ( ".php" => ((
"bin-path" => "/usr/bin/php5-cgi",
"socket" => "/tmp/php.socket"
)))
Nyní je třeba restartovat lighthttpd:
sudo /etc/init.d/lighttpd force-reload
Tím nám běží webserver s PHP.
Nyní se dostaváme k vlastnímu ovládání GPIO. Porty můžeme používat jako vstupní i výstupní. Vše třeba dělat jako root.
Nejprve je třeba port zpřístupnit:
echo "17" > /sys/class/gpio/export
Pak nastavíme jestli je to vstup (in) nebo výstup (out):
echo "out" > /sys/class/gpio/gpio17/direction
Hodnotu nastavíme takto:
echo 1 > /sys/class/gpio/gpio17/value
Stav vyčteme:
cat /sys/class/gpio/gpio17/value
Tímto způsobem můžeme GPIO ovládat přímo z příkazové řádky. Pokud budeme využívat pro ovládání www rozhraní je třeba všem portům nastavit práva tak aby je mohl ovládat i jiný uživatel než root.
chmod 666 /sys/class/gpio/gpio17/value
chmod 666 /sys/class/gpio/gpio17/direction
Toto je třeba udělat pro všechny porty, které chceme použít. Součástí balíčku kde je www rozhraní je script, který to udělá za nás. Balíček je možné stáhnout
zde.
Scripty rozbalíme do /var/www.
Spustíme script na nastavení GPIO:
sudo ./gpio.sh
Nyní můžeme spustit prohlížeč a zadat adresu našeho Raspberry Pi a mělo by se objevit následující rozhraní:
Scripty si můžeme upravit dle vlastních potřeb.