Der kleine Rechner ist klasse verwendbar, um Dinge zu steuern oder abzufragen, er lässt sich schnell in andere Projekte, z.B. Hausautomation einbauen. Elegant ist es eine solche Steuerung über eine Internetseite abzuwickeln.
Dieses wird im Folgenden beschrieben:
Webserver installieren:Webserver
Da bei Linux die Rechte sehr eingeschränkt sind ist es notwendig den Benutzer „www-data“ 1) zur Gruppe „dialout“ hinzuzufügen, die auf die serielle Schnittstelle zugreifen darf.
Benutzer zur Gruppe hinzufügen:
nano /etc/group
Und die passende Zeile ändern:
dialout:x:20:pi,www-data
Damit man nun darauf zugreifen kann, muss man den Lighttpdserver neustarten:
/etc/init.d/lighttpd restart
Im folgenden wird ein Programm namens „analog“ erstellt, das auf die serielle Schnittstelle (siehe RaspberryPi mit Arduino koppeln) zugreift. Es übergibt Daten über die serielle Schnittstelle an einen Arduino (Siehe auch: RaspberryPi mit Arduino koppeln).
nano /var/www/analog
import serial import time import sys delay = 0.5 comunicacion = serial.Serial('/dev/ttyAMA0', 9600) comunicacion.close() comunicacion.open() #comunicacion.write(chr(0)) #time.sleep(delay) #comunicacion.write(chr(255)) #time.sleep(delay) comunicacion.write(chr( int(sys.argv[1]) )) time.sleep(delay)
Anschließend sollte das Programm „analog“ ausführbar gemacht werden:
chmod +x /var/www/analog
Nun erstellt man eine kleine Internetseite. Der Webserver greift auf Dateien zu, die im Verzeichnis „/var/www“ liegen. Im Programm bzw. der Internetseite „bla.php“ soll das Programm „analog“ aufgegriffen werden:
nano /var/www/bla.php
<?php echo 'Hallo ' . htmlspecialchars($_GET["v"]) . '!'; passthru("/usr/bin/python analog $_GET[v]"); ?>
Damit man letztendlich auf den Pi via Website zugreifen kann, wird im Browser IP-Adresse/bla.php?v=230 geöffnet, wobei es sich bei der IP-Adresse um die des Pis und bei v= um den zu Übergebenden Parameter handelt.