kramann.info
© Guido Kramann

Login: Passwort:










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.
Verzeichnisse

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.