Wer hat Zeit und Lust mir einen 10-Zeiler in Python zu schreiben?

  • Hallöchen zusammen,
    servus gmoa,

    Ich bräuchte für ein aktuelles Vorhaben einen kleinen, einfachen Python-script. Zu einem anderen Zeitpunkt mehr dazu, ich glaube jedenfalls das könnte ganz nützlich werden.
    Da bei mir in Sachen Python absolute Unwissenheit herrscht und ich - ehrlich gesagt - auf meine alten Tage keine Lust habe, mir Python noch anzueignen, frage ich die Python-Fans hier.

    Der script soll nur folgende Funktionalität erfüllen:


    Wer traut sich das zu und hat Zeit, Lust und Laune mir diesen kurzen script zu erstellen und hier als Anhang in einer Antwort zu posten.
    Der Author sei versichert, dass ihm mein Dank auf ewig nachschleichen wird - auch wenn er ihn nicht erreicht ;) ...

    Bei Unklarheiten einfach fragen.

    cheers,
    -ds-

  • Wer hat Zeit und Lust mir einen 10-Zeiler in Python zu schreiben?? Schau mal ob du hier fündig wirst!

    • Offizieller Beitrag

    Hi -ds-
    du kleiner Schelm ;) hatten wir das signal modul nicht erst vor kurzem am wickel?

    Das Original ist von hier. Ich habs mal auf 2 Funktionen aufgesplittet, mann kann es auch in eine Schreiben, aber wer weiss was du wieder vor hast ;)


    Edit der Editor verwirrt mich grad endlos... er zeigt in der Vorschau eine Steinalte Version an, gepostet dann aber richtig...

  • Der folgende Code sollte tun was Du suchst:

    Sind aber leider 11 Zeilen geworden :(

  • Hi dbv, hallo framp,

    tja ... auch wenn es sonderbar ausehen mag aber ich bin immer noch an meinem Klops mit dem µController-Netzwerk ( -> des do <-, wissds äh).

    Über die Funkkommunikation bin ich halt über die Displays hier gelandet ;) ...
    Irgendwann wird mich der Weg dann wieder zurück zur Ideensammlung führen ( die war übrigens -> hier <- ).

    Nun, haaren wie die Dinger die da kommen ( oder so ähnlich ;) ...).

    Damit, denke ich, kann ich hier zu machen.
    Wenn igendwas nicht klappt oder so, melde ich mich wieder.

    Nochmal danke jedenfalls Euch beiden,
    -ds-

  • Gell ;) ...

    da siehst Du mal welche enorme Tragzeiten Projekte/Vorhaben bei mir haben können.
    Ein Elefantenbaby ist da eine Frühgeburt :) ...
    Wenn es an der Zeit ist, bringe ich euch auf den aktuellsten Stand.

    ach ja, framp: ist mir im Prinzip egal. Ich will nur die beiden Signale mitbekommen und die CPU mit der Endlosschleife nicht zuballern. Der Kleine braucht ja schliesslich Luft zum Atmen ;) ...

    saludos,
    -ds-

    • Offizieller Beitrag

    dbv ist daran verzweifelt, weil ein nicht näher genannter Forenadmin einfach mal so den Inlineeditor abgestellt hat :fies:. Dann konnte ich beim Editieren nur noch meinen Original Post sehen obwohl ich wusste das er schon ihn schon 2x geändert hatte.

  • Hallo ich hab dir mal ein Muster erstellt bei dem eine 3-stellige Zeichenkette an der
    seriellen Schnittstelle abgeholt wird:

    # ---------------------------------------------------

    from time import sleep

    # Serial-Port-Modul muss installiert sein
    # Siehe http://elinux.org/Serial_port_programming
    import serial

    port = serial.Serial("/dev/ttyAMA0", baudrate=115200, timeout=3.0)

    SIGUSR1 = 123
    SIGUSR2 = 456
    endloop = False

    def main():
    while true:
    # Hole 3 Zeichen von port:
    rcv = port.read(3)
    # Konveriere nach Integer-Zahl:
    signal = int(rcv)
    if signal == SIGUSR1:
    print "got %s %s" % (signal, SIGUSR1)
    elif signal == SIGUSR2:
    print "got %s %s" % (signal, SIGUSR2)
    sleep(1)
    if endloop: break

    if __name__ == '__main__':
    main()

    # ---------------------------------------------------

    Gruss Robert

  • Hallo Robert,

    nicht ganz ein bulls eye ;) ...
    Aber wenn ich so überlege, dann habe ich - glaube ich zumindest - für Dein Code-snippet auch eine passende Verwendung.
    Danke jedenfalls,

    Mit lieben Grüssen aus der Finsternis ( hat aber nix mit Gruft zu tun :fies: ),
    -ds-

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!