Hallo,
Ich bin ein kompletter Rpi bzw Python Beginner. Ich habe versucht ein Programm zu schreiben, welches eine API "baut" und nebenbei eine Led blinken lässt. Den Code für die API habe ich aus dem Internet kopiert und den für die zweite blinkende Led hab ich selbst dazu geschrieben, aber die Led blinkt nicht. Wenn ich app.run(debug=True, host="0.0.0.0") und loop() tausche, funktioniert nur die Blink-Led aber die API nicht. Kann es sein, dass der Code nach app.run bzw nach dem loop() nicht mehr genommen wird? Da ich den Code für die API nur kopiert habe und ich ein kompletter Anfänger bin wäre außerdem noch ziemlich hilfreich, wenn mir jemand den API Code in wenigen Worten erklären könnte. Ich denke, dass der Fehler im Code für einen Profi eine Kleinigkeit ist, ich aber finden ihn leider nicht
im voraus
das ist der Code:
from flask import Flask
from flask import jsonify
import RPi.GPIO as GPIO
import time
LED = 17
LED1 = 18
def setup():
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(LED, GPIO.OUT, initial=GPIO.LOW)
GPIO.setup(LED1, GPIO.OUT)
GPIO.output(LED1, GPIO.LOW)
app = Flask(__name__)
@app.route('/api/led/on')
def led_on():
GPIO.output(LED, GPIO.HIGH)
return jsonify(led=GPIO.input(LED))
@app.route('/api/led/off')
def led_off():
GPIO.output(LED, GPIO.LOW)
return jsonify(led=GPIO.input(LED))
def loop():
while True:
GPIO.output(LED1, GPIO.HIGH)
print("led on")
time.sleep(1)
GPIO.output(LED1, GPIO.LOW)
print("led off")
time.sleep(1)
def destroy():
print("cleanup")
GPIO.cleanup()
if __name__ == '__main__':
setup()
app.run(debug=True, host="0.0.0.0")
try:
loop()
except KeyboardInterrupt:
destroy()