Python script automatisch nach ausführen beenden

Begonnen von matze85, 21 Januar 2019, 21:12:40

Vorheriges Thema - Nächstes Thema

matze85

hi also ich habe einen servo den ich in fhem eingebunden habe und zwei skripte einmal auf einmal zu
wenn ich allerdings wieder auf zu klicke stürzt der pi ab, weil das eine skript noch läuft und nicht beendet wird nach dem es ausgeführt wurde.
weis zufällig jemand wie ich das script so schreiben kann das es nach dem es ausgeführt wurde sich automatisch wieder beendet .... ?

import RPi.GPIO as GPIO
import time

servoPIN = 18
GPIO.setmode(GPIO.BCM)
GPIO.setup(servoPIN, GPIO.OUT)

p = GPIO.PWM(servoPIN, 50) # GPIO 22 als PWM mit 50Hz
p.start(2.5) # Initialisierung
try:
  while True:
    p.ChangeDutyCycle(5.5)
    time.sleep(5)
   

except KeyboardInterrupt:
  p.stop()
  GPIO.cleanup()


danke schon mal für eure hilfe

Otto123

Hi,

ich kann auch nicht wirklich python, aber er wartet auf einen Tastendruck
except KeyboardInterrupt:

Also definiere dort eine andere Abbruchbedingung.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

matze85

hi otto danke für dein tipp aber genau den befehl suche ich und finde nichts

Otto123

Was heisst den suchen? :o :o
Das ist doch keine Suchaufgabe?!
Du musst doch wissen wann das script stoppen soll? Nach einer Zeit? Zu Weihnachten?  Bei Mondfinsternis?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

matze85


Otto123

Und wann ist denn die Drehung zu Ende?

sorry, ich kann nicht weiter helfen.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

matze85

na der servo soll nur eine 90 grad drehung ausüben und anschließend soll das skript enden

Otto123

Ich höre Dir gerne zu  ;D vielleicht findest Du ja so die Lösung  ;D ;D ;D
Woher soll jetzt das Script wissen wann 90 grad erreicht sind?
Ich habe mal das hier gelesen, Du willst mir ja nicht alles sagen  ;) -> https://codingworld.io/project/der-servo-am-raspberry-pi

Wenn Du mich fragst, brauchst Du keine Schleife und keinen Abbruch.
Völliger Schuss ins Blaue:
import RPi.GPIO as GPIO
import time

servoPIN = 18
GPIO.setmode(GPIO.BCM)
GPIO.setup(servoPIN, GPIO.OUT)

p = GPIO.PWM(servoPIN, 50) # GPIO 22 als PWM mit 50Hz
p.start(2.5) # Initialisierung
p.ChangeDutyCycle(5.5)
time.sleep(5)
 
p.stop()
GPIO.cleanup()
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

matze85

 ;D
vielen dank otto es klappt endlich danke bist der beste

KernSani

Ein [Gelöst] vor dem Subject des ersten Posts wäre dann noch schön :)
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...