Script über Webserver steuern

Django, Flask, Bottle, WSGI, CGI…
Antworten
Slim Shady
User
Beiträge: 15
Registriert: Dienstag 15. November 2016, 22:36
Wohnort: Wuppertal

Samstag 28. April 2018, 12:34

Hallo,

Ich habe hier einen kleinen Raspberry Pi Zero, der eine Kaskade von 8x8-LED-Arrays steuert. Hier ist der Code:

Code: Alles auswählen

from luma.led_matrix.device import max7219
from luma.core.interface.serial import spi, noop
from luma.core.render import canvas
from luma.core.virtual import viewport
from luma.core.legacy import text, show_message
from luma.core.legacy.font import proportional, CP437_FONT, TINY_FONT, SINCLAIR$
import time

serial = spi(port=0, device=0, gpio=noop())
device = max7219(serial, cascaded=4, block_orientation=-90, rotate=2)

try:
        print ("Bitte immer mit Anfuehrungsstrichen")
        msg = input()
        while True:
                show_message(device, msg, fill="white", font=proportional(CP437$
                time.sleep(1)
except KeyboardInterrupt:
        print("\nBeende.")
So kurz, so einfach. Nun möchte ich mich aber nicht jedes mal per SSH verbinden, wenn ich die Nachricht verändern will. Ich wollte es über eine lokale Webseite reden, die nur ein Eingabefeld und einen Knopf hat, mit der ich den Inhalt der Variable msg dann an den Script übergeben kann.
Ich weiß, dass ich das Script noch mehr ändern muss, damit er auch kontinuierlich nach neuen Eingaben fragt.
Aber zuerst: Kann mir hier irgendwer behilflich sein? Ich schaue bei diesen Dschungel der Webframeworks leider nicht durch.
:!: :?:
nezzcarth
User
Beiträge: 538
Registriert: Samstag 16. April 2011, 12:47

Samstag 28. April 2018, 17:59

Die übliche Wahl für diesen Zweck wäre ein leichtgewichtiges Framework wie Flask oder Bottle. Es ist nicht besonders schwierig, dein Vorhaben damit umzusetzen (zumal dein Beispiel ja fast nur aus Bibliotheksaufrufen und Boilerplatecode besteht). Schau dir die beiden doch mal an, such dir eines aus und arbeite das zugehörige Tutorial durch.
Slim Shady
User
Beiträge: 15
Registriert: Dienstag 15. November 2016, 22:36
Wohnort: Wuppertal

Sonntag 29. April 2018, 19:37

Kennst du vielleicht eins, in das das einarbeiten besonders leicht fällt. Am liebsten wäre mir ja eine Built-In-Funktion, aber hach...
Flask sieht relativ groß, komplex und funktionsschwer aus, gibt es das auch in leichter?
:!: :?:
Benutzeravatar
noisefloor
User
Beiträge: 2456
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: Görgeshausen
Kontaktdaten:

Montag 30. April 2018, 10:14

Hallo,
Flask sieht relativ groß, komplex und funktionsschwer aus, gibt es das auch in leichter?
Flask kann relativ viel - aber du musst ja nicht in die Tiefe gehen für so was einfaches, wie das, was du brauchst.

Die Alternative ist Bottle - aber die Anzahl der Codezeilen, die die brauchst, ist bei Bottle und Flask fast identisch.
Am liebsten wäre mir ja eine Built-In-Funktion, aber hach...
Python hat das wsgi-Modul an Bord. Das könntest du auch nehmen... das ist aber so low-level, dass du relativ schnell einsehen wirst, dass Bottle oder Flask die bessere Wahl sind.

Gruß, noisefloor
Slim Shady
User
Beiträge: 15
Registriert: Dienstag 15. November 2016, 22:36
Wohnort: Wuppertal

Montag 30. April 2018, 13:28

Okay, ich werde mir das mal anschauen.
:!: :?:
Antworten