Ovládání GPIO přes web

Jak už víme Raspberry pi má k dispozici 8 volných portů. Co kdyby jsme je ovládali přes web. Návod vychází z těchto německých stránek: hobbyelektronik.org/w/index.php/Raspberry_Pi_IO

Nejdříve si musíme nainstalovat ligthhttpd (nebo apache)

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í se musí restartovat lighthttpd:

sudo /etc/init.d/lighttpd force-reload

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 nebo výstup:

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.

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.

Spustíme script na nastavení GPIO:

sudo ./gpio.sh

Když je vše uděláno můžeme spustit prohlížeč a zadat adresu našeho Raspberry Pi a mělo by se objevit následující rozhraní: