6.1.1 Programme über CGI startbar machen
- Um Programme, die auf dem Foxboard liegen von außen starten zu können, bietet der Start über das Internet eine gute Möglichkeit:
- CGI (Common Gateway Interface) ermöglicht es, dass bei Aufruf einer Internetseite auf dem Foxboard ein bestimmtes Programm gestartet wird.
- Dazu muß CGI auf dem Foxboard aktiviert werden und ein File mit Endung .cgi geschrieben werden, das die anzuzeigende Internetseite enthält und das aufzurufende Programm.
|
CGI auf dem Foxboard aktivieren
- Installieren und starten Sie Putty.exe
- Geben Sie als Hostname die IP-Adresse des Foxboards an, default: 192.168.0.90
- Login-Name: root, Passwort: pass, manchmal auch acme.
- Achtung: Auf manchen Boards ist das Passwort
acme
- Achtung: Unter Windows funktioniert ENTER beim Login in machen Fällen nicht, statt dessen die Tastenkombination: Strg-j verwenden.
- Jetzt sind Sie auf dem Foxboard und können Unix/Linux-Konsolenbefehle eingeben.
- Um die oberste Verzeichnisbene zu sehen: mehrmals
cd .. und ENTER, dann ls -l eingeben, um das ausfühliche Listing der Verzeichnisse zu sehen.
|
Bild 6.1.1-1: Sicht auf die oberste Verzeichnisebene des Foxboards von Putty aus.
| Schritt Nr. |
Tool |
Beschreibung |
Befehle |
| 1 |
Putty |
In Verzeichnis /etc/httpd wechseln |
cd /etc/httpd |
| 2 |
Putty |
..dort Ordner mit dem Namen cgi anlegen |
mkdir cgi |
| 3 |
FileZilla |
Ergänzen einer weiteren ScriptAlias-Zeile in dem File /etc/httpd/conf/boa.conf |
ScriptAlias /cgi/ /etc/httpd/cgi/ |
| 4 |
Putty |
BOA Webserver neu starten |
/etc/init.d/httpd restart |
Tabelle 6.1.1-1: Befehlsfolge, um CGI auf dem Foxboard zu aktivieren.
LEDs an digitalen I/Os über CGI steuern
- Im Verzeichnis /bin/ existiert bereits der Befehl
setbits, mit dem sich einzelne Bits der digitalen I/O-Ports setzen oder löschen lassen.
- Der Befehl
setbits -p a -b 3 -s 0 setzt beispielsweise Bit Nr.3 von Port a auf 0, wodurch das dort werksseitig bereits angeschlossene LED (vergl. Schaltplan) eingeschaltet wird.
- Entsprechend löscht
setbits -p a -b 3 -s 1 das LED.
- Die folgenden beiden Dateien können unter den Namen onled.sh, bzw. offled.sh erstellt und in den Ordner /etc/httpd/cgi/ kopiert werden.
- Wichtig ist dazu noch, dass deren Zugriffsrechte so geändert werden, dass sie ausführbar sind.
|
#!/bin/sh
echo "Content-type: text/html\n"
echo "<html>"
echo "<body>"
echo "<h1>LED IST AUS</h1>"
echo "<a href="http://192.168.0.90/cgi/onled.sh">LED AN"
echo "</body>"
echo "</html>"
setbits -p a -b 3 -s 1
Code 6.1.1-1: offled.sh
#!/bin/sh
echo "Content-type: text/html\n"
echo "<html>"
echo "<body>"
echo "<h1>LED IST AN</h1>"
echo "<a href="http://192.168.0.90/cgi/offled.sh">LED AUS"
echo "</body>"
echo "</html>"
setbits -p a -b 3 -s 0
Code 6.1.1-2: onled.sh
| Schritt Nr. |
Tool |
Beschreibung |
Befehle |
| 1 |
Windows |
Dateien onled.sh und offled.sh unter Windows erstellen |
|
| 2 |
FileZilla |
Dateien onled.sh und offled.sh auf das Foxboard nach /etc/httpd/cgi/ kopieren. |
|
| 3 |
Putty |
Zugriffsrechte auf onled.sh und offled.sh einstellen |
chmod 755 offled.h |
| 4 |
Putty |
Zugriffsrechte auf onled.sh und offled.sh einstellen |
chmod 755 onled.h |
Tabelle 6.1.1-1: Befehlsfolge, um CGI auf dem Foxboard zu aktivieren.
- Die Befehle der .sh-Files werden durchgeführt, wenn die Dokumente über das Internet angefordert werden.
- Gibt man vom PC aus im Internet-Browser beispeilsweise an: http://192.168.0.90/cgi/onled.sh, so wird die LED eingeschaltet.
- Die Befehle erzeugen eine einfache HTML-Seite und rufen setbits auf.
- Durch die Verlinkung beider Files, kann dann leicht zwischen den beiden Seiten gewechselt werden und die LED ein- und ausgeschaltet werden.
|