Bonjour,
je tente de réaliser une petite application domotique via un serveur hébergé par un rasberry.
le principe est simple : si on coche une boite l'image et le texte s'actualise et une requete /ledred/on est envoyé au serveur afin de piloter le relai dédié
le problème c'est que je ne sais pas comment écrire le fait que si le bouton est coché la requete href='/ledred/on' est envoyée sinon c'est href='/ledred/off'
morceau du code html :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <input type="checkbox" id="lampe_ext1" name = "boite" href="/ledRed/off" > <label for="boite" id="texte_lampe_ext1" class="rouge"></label><img src="/static/rien.jpg" alt ="ext1 " name="1" id ="image1"><br/>
morceau du code jqery
Code rasberry python
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 $(function () { $('#lampe_ext1').change(function () { if ($('#lampe_ext1').is(':checked')) { $('#texte_lampe_ext1').removeClass('rouge').addClass('vert'); $('#texte_lampe_ext1').html('extérieur allumé.'); $('#lampe_ext1').attr('href', '/ledRed/on'); $('#image1').attr('src', '/static/allume.png'); $('#maison').attr('src', '/static/maison.png'); $('#maison1').css('z-index', '101'); } else { $('#texte_lampe_ext1').html('extérieur eteint.'); $('#texte_lampe_ext1').removeClass('vert').addClass('rouge'); $('#lampe_ext1').attr('href', '/ledRed/off'); $('#image1').attr('src', '/static/rteint.png'); $('#maison').attr('src', '/static/maison.png'); $('#maison1').css('z-index', '99'); } }); });
Code python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 import time import grovepi from flask import Flask, render_template, request, url_for app = Flask(__name__) led=4 grovepi.pinMode(led,"OUTPUT") grovepi.digitalWrite(led,0) thermo = 20 grovepi.pinMode(thermo,"INPUT") thermoSts = 0 pompeSts = 0 @app.route('/',methods=['GET','POST']) def index(): thermoSts = grovepi.analogRead(light_sensor) templateData = { 'pompe' : pompeSts, 'thermo' : thermoSts } return render_template('confort.html',**templateData) @app.route("/<deviceName>/<action>") def action(deviceName, action): if deviceName == 'ledRed': actuator = ledRed if deviceName == 'ledYlw': actuator = ledYlw if deviceName == 'ledGrn': actuator = ledGrn if action == "on": grovepi.digitalWrite(actuator,1) if action == "off": grovepi.digitalWrite(actuator,0) return render_template('index.html') if __name__ == '__main__': app.run(debug=True, port=80, host='192.168.0.26')
Partager