Neuigkeiten Das Projekt Technik RoboSpatium Unterstützung Stichwortverzeichnis Download Reaktionen Spiele Gadgets Kontakt <<< Python: Kommandozeilenparameter Dateiübertragung zum Webserver >>> Apache WebserverWozu wird ein Webserver benötigt?Webserver sind diejenigen Computer im World Wide Web, welche Inhalte bereitstellen, die dann per Browser abgerufen werden können. Dieser Text, der gerade auf eurem Bildschirm angezeigt wird, ist auf einem derartigen Rechner, auch Server, also "Bereitsteller" genannt, als Datei abgespeichert. Um diese Datei aufzurufen, habt ihr entweder die Addresse meines Servers eingegeben (was unwahrscheinlich ist, denn die kenne selbst ich nicht auswendig), oder seid einem sogenannten Hyperlink (kurz: Link) gefolgt (was wahrscheinlicher ist). Die abrufbaren Webseiten sind auf dem Webserver im Hypertext Markup Language Format gespeichert. Dabei handelt es sich um Textdateien, welche spezielle Befehle beinhalten können. Ein Link ist ein derartiger Befehl, der euch zu einer anderen Webseite weiterleitet, sobald ihr diesen anklickt.Damit ein Computer als Webserver fungieren kann, muss eine entsprechende Software installiert werden, welche all die nötigen Befehle interpretieren kann, die ihr (meist unbewusst) sendet, um eine Seite betrachten zu können. Die verbreitetste derartige Software ist der Apache Webserver, dessen Quellcode von der Apache Software Foundation, gepflegt und für alle frei zur Verfügung gestellt wird. Fernsteuern per WWWSobald mehr als ein Computer benötigt wird, um ein Projekt zu verwirklichen, müssen diese Rechenknechte miteinander kommunizieren. Diese Kommunikation mit Hilfe des Hypertext Transfer Protocol über Webserver abzuwickeln, vereinfacht die nötige Programmierarbeit auf zweierlei Arten:(1) Man kann auf eine weltumspannende Infrastruktur zugreifen. (2) Mit einem Browserinterface kann man sehr schnell eine grafische Benutzeroberfläche einrichten, die auf sehr vielen unterschiedlichen Betriebssystemen läuft, ohne Abhängigkeiten zu irgendwelchen "App-Stores" mit zweifelhaften Nutzungsbedingungen aufzubauen. Apache installierenDie hier beschriebene Installationsanleitung bezieht sich auf RaspiOS und gilt somit für fast alle auf Debian Linux basierende Betriebssysteme.In dem Beispiel gehe ich davon aus, dass Raspberry Pi OS with desktop installiert ist (Lite kann zu Problemen führen). Es ist dringend zu empfehlen, eine Neuinstallation von RaspiOS vorzunehmen, wenn Probleme beim Installieren auftreten oder der Wesbserver anschließend nicht korrekt funktioniert.
Einen GPIO per Webserver schaltenAls Nächstes soll ein GPIO über ein Python Skript geschaltet werden. Ich verwende dazu das Beispiel aus dem Kapitel Python: Ein- und Ausschalten von GPIOs. Dieses muss nur ein wenig abgeändert werden, da der Webserver erwartet, dass bestimmte Zeilen als Text zu Beginn und am Ende des Skripts ausgegeben werden:
"Es klappt net!"...ist wie immer keine Aussage, mit der euch irgend jemand weiter helfen kann! Jeder Installationsschritt des Apache Webservers gibt eine Meldung aus. Lest euch diese Meldungen gefälligst durch, denn dafür haben die Programmierer die Meldungen geschrieben! Sucht im Internet nach diesen Fehlermeldungen und euch wird geholfen. Ist bei der Installation (scheinbar) alles glatt gelaufen, es funktioniert aber dennoch nicht, so gibt der Browser einen Fehler aus, der weiter helfen kann. Besser ist es aber, im Fehlerspeicher des Webservers nachzuschauen:tail /var/log/apache2/error.log Besonders die in dieser Datei gespeicherten Meldungen sind hilfreich, wenn ihr jemanden um Hilfe bitten möchtet. Das kann für einfache Probleme über einen Kommentar auf dieser Seite geschehen. Für kniffligere Fälle solltet ihr vorher lesen, wie ihr mit mir in Kontakt treten könnt. "Es klappt!" freut mich immer zu hören und bedarf keiner weiteren Ausführungen. ...und wer sich für diese Anleitung und eventuelle Hilfestellungen besonders bedanken möchte, kann gerne mit einer Spende einen Motivationsschub für weitere derartige Kapitel übermitteln - vielen Dank an alle, die davon schon Gebrauch gemacht haben! Abbildung 1: ...wenn die LED blinkt, ist alles korrekt installiert. Der Webserver Apache läuft selbst auf einem Raspberry Pi Model B+ flüssig. Das Script habe ich mit einem Smartphone augerufen - es ist keine "App" nötig, ein Browser genügt. <<< Python: Kommandozeilenparameter Dateiübertragung zum Webserver >>> Neuigkeiten Das Projekt Technik RoboSpatium Unterstützung Stichwortverzeichnis Archiv Download Reaktionen Spiele Verweise Gadgets Kontakt Impressum |