php + python

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
alijoschi
User
Beiträge: 2
Registriert: Montag 14. September 2015, 09:53

Hi Leute!

Bin gerade auf euer Forum gestossen. Bin eigentlich ein Python neuling habe aber Programmiererfahrung.

Hoffe hier kann mir jemand weiterhelfen habe folgendes Problem Frage:

Ich habe ein Python-Script das permanent mit einer WHILE schleife läuft. Jetzt müsste ich von PHP aus einen Variable schalten damit mir das Python-Script in die Schleife hüpft (WHILE TRUE).

Ist dies möglich? Beim Projekt handelt es sich um eine Art DASHBOARD. Das Python-Script zeigt einfach ein Bilder an einem Monitor an. Wird jetzt in PHP eine bestimmte aktion gestartet müsste ich eine Python-Function starten. Diese läuft dann durch. Nachdem die Funktion fertig ist muss wieder auf eine neue Aktion in PHP gewartet werden.

Hoffe ich hab mich verständlich ausgedrückt.

Würde mich über eure hilfe freuen.

mfg
BlackJack

@alijoschi: Also so komplett habe ich es nicht verstanden. Wo laufen die Prozesse und wie sollen die miteinander kommunizieren?
alijoschi
User
Beiträge: 2
Registriert: Montag 14. September 2015, 09:53

Hallo!

Habe eine Raspberry PI. Auf diesem läuft das Python Script und eine PHP Seiten.

Ich hab mir das so vorgestellt:

Über eine PHP Seite (aufgerufen über ein Handy) möchte ich das der User einen Button betätigt. Am Raspberry ist ein TV über HDMI angesteckt. Nach dem Klick auf den Button muss das Python Script oder eine bestimmte Funktion aus dem Python angestartet werden. Es wird dann am TV ein BILD angezeigt. Nachdem die Funktion durchgelaufen ist soll wieder die WHILE TRUE schleife warten bis der nächste auf den Button im PHP Script klickt dann wird wieder ein BILD angezeigt aber ein anderes.

Hoffe es ist jetzt ein bisschen besser verständlich

mfg
Benutzeravatar
noisefloor
User
Beiträge: 3829
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

du brauchst doch gar keine while-Schleife?! Es reicht doch, wenn das Skript, dass die Bildanzeige macht, einfach nur von von extern aufgerufen wird.

Am einfachsten wäre das IMHO zu realisieren, wenn auf der Webseite ein Link ist, welcher auf eine URL zeigt, an welche ein Python-Funktion per WSGI gebunden ist. Damit triggerst du dann die Python Funktion. Liese sich z.B. ganz einfach mit Hilfe von Bottle lösen.

Übrigens kann man in PHP-Skripten keinen Button klicken, dass geht nur auf HTML-Seiten (welche ggf. durch PHP generiert werden) ;-)

Warum implentierst du eigentlich nicht einfach alles in Python? Webframeworks gibt's in Python genug und PHP wäre eleminiert.

Gruß, noisefloor
BlackJack

@alijoschi: Man müsste einen Daemon/Server in Python implementieren dem man von aussen mitteilen kann welches Bild er anzeigen soll. Zum Beispiel in dem man auf sehr niedriger Ebene direkt mit dem `socket`-Modul arbeitet. Etwas abstrakter geht es mit dem `SocketServer`-Modul. Dafür müsste man sich ein Protokoll ausdenken. Noch eine Ebene höher, nämlich schon mit einem Standardprotokoll, könnte man Funktionen per XML-RPC mit dem `SimpleXMLRPCServer`-Modul nach aussen zur Verfügung stellen. Das bisher erwähnte ist alles in der Python-Standardbibliothek enthalten und lässt sich alles auch von PHP aus ansprechen. Oder man stellt eine RESTful-API per HTTP zur Verfügung, das geht beispielsweise mit dem `SimpleHTTPServer`-Modul aus der Standardbibliothek oder etwas einfacher einem externen Mikrorahmenwerk wie Bottle oder Flask. Dann stellt sich allerdings die Frage von noisefloor ob man nicht gleich alles in Python implementiert.
Antworten