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í:
