Python, RS232 und GPIO

  • Hallo

    Ich habe einen Controller der bei Fehler über RS232 folgenden ASCII CODE ausgibt: SContactr.
    Mein Script funktionier soweit nur sender der Controller alle Sekunde diesen Befehlt, mein Relai schaltet ein und wieder aus. Mein Ziel ist es dass das Relai solange angezogen bleibt solange der Controller den Befehl sendet:

    Mein Script, ich bin noch kein Programmierer, kann nur von verschieden Script eines erstellen.

    Danke
    LG Johnzac

  • Hi,

    kann imho nicht funktionieren, weil Du immer dann, wenn der String leer ist - also nix über die Leitung kommt - den Pin wieder auf low setzt.
    Abhilfe (ad hoc) statt:

    Code
    while True:
            line =  readLine(ser)
            if line == 'SContactr' :
                    GPIO.output(11,GPIO.HIGH)
    
    
            else:
                    GPIO.output(11,GPIO.LOW)

    irgendwas in der Art:
    if( line != "")
    {
    if(line =="SContactr")
    GPIO.output(11,GPIO.HIGH)
    else
    GPIO.output(11.GPIO.LOW)
    }

    Oder eben einen weitere Befehl zum Lösen übermitteln. dann wäre es noch eindeutiger.

    cu,
    -ds-

    PS: was mir gerade noch einfiel
    Gönn dem Kerlchen doch mal ne Pause ... gibts in python keinen sleep, poll oder so. Du dürftest sonst so einiges an CPU-Leistung abfackeln.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!