Voici le code:
from flask import Flask, request
import grovepi
#configuration de la pin 7 en sortie
relay = 7
grovepi.pinMode(relay, "OUTPUT")
#instanciation de l'objet app, le paramètre __name__ vaut __main__
app = Flask(__name__)
#la fonction accueil est précédée de @app.route qui prend en paramètre la route par laquelle la fonction sera #accessible. On va détecter la méthode http utilisée (get ou post) lors de l'appel à cette page.
@app.route("/", methods=['GET', 'POST'])
def accueil():
#définition du message à afficher sur le bouton
message = ["Eteint", "Allume"]
#lecture de l'état du relais
d = grovepi.digitalRead(relay)
if request.method == 'POST':
#lors de l'appui sur le bouton on envoie une requête post, on inverse l'état de la lampe.
grovepi.digitalWrite(relay, not d)
else:
#cela sert à afficher correctement le message du bouton lors du premier affichage
d = not d
#on renvoie un petit code html constitué d'un seul bouton dont le message varie en fonction de l'état de la #lampe
return '<form action="" method="post"><input type="submit" value={} /></form>'.format(message[d])
#on lance l'application en précisant l'adresse ip du raspberry et le port
if __name__=="__main__":
app.run(host='192.168.1.10', port=5000, debug=True)
Aucun commentaire:
Enregistrer un commentaire