2016-10-24 1 views
0

Ich brauche ein paar Ideen, wie man Daten von einem Python-Skript an einen Web-Browser sendet. Das Skript (und der Browser) läuft unter xServer Environment in Linux (Raspbian auf Raspberry Pi).Senden von Daten aus Python-Script an den Browser (unter xserver unter Linux)

Das Python-Skript behandelt den Empfang von Daten über eine serielle Schnittstelle (in diesem Fall ist es nur eine Zahl, die von einem Barcode-Leser in einer Produktionslinie gescannt wird). Nachdem die Daten empfangen wurden, werden sie an ein Backend-System auf einem anderen Computer gesendet (über Webservices).

Jetzt ist das Problem, dass der Kunde vielleicht möchte ein HTML5 Frontend diese Nummern manuell scannen. Ich denke, der einfachste Weg wäre, dass die HTML5-Webseite die Barcode-Nummer an das Backend sendet. Aber wie bekomme ich die Nummer von der seriellen Schnittstelle zum Browser?

Eine Lösung, die ich in Betracht ziehe, ist PyAutoGUI und einfach den Barcode in das aktive Feld eingeben. Aber ich mag es nicht, denn wenn jemand den Fokus vom HTML5-Barcode-Feld entfernt, gehen diese Zahlen im Nirvana verloren.

Die nächste Lösung ist, dass Python die Nummer an das Backend sendet und dass das HTML5 Frontend das Backend nach neuen Nummern abfragt. (Websocket wäre vielleicht eine andere Option, die weniger Latenz hat). Ich mag diese Idee nicht, weil die Nummer nicht sofort da wäre.

Hat also jemand andere Vorschläge, wie man sicherstellt, dass ich diese Zahlen in das genaue richtige Feld im Browser tippe? Dieses System wäre auf das absolute Minimum beschränkt, so dass wir sicherstellen können, dass keine andere Webseite geöffnet ist.

Irgendwelche wirklich kniffligen Ideen?

Mit PyAutoGui machen Sie einen Screenshot des Feldes und suchen dieses im Browserfenster ist eine Idee. Aber vielleicht denke ich viel zu kompliziert ...

Speichern der Nummer in einer Datei und Öffnen im Browser (aus Javascript) wäre eine andere Idee. Aber ich denke, Javascript ist dafür zu gesperrt, oder liege ich falsch?

Thomas

Antwort

0

Ihre Frage ist mir nicht 100% klar. Anstatt Lösungen vorzuschlagen, sollte man sich lieber auf eine saubere Problembeschreibung konzentrieren.

Eine Möglichkeit könnte einfach sein, die Daten in. TXT-Dateien zu schreiben und sie mit PHP zu lesen. Es gibt einige Einschränkungen für solch einen einfachen Ansatz hinsichtlich Dateigröße, Fehlerbehandlung und Anzahl der Dateien. Auf der anderen Seite ist es sehr einfach zu implementieren:

Can I read a .TXT file with PHP?

Eine andere Sache ist natürlich die Verwendung einer Datenbank.