1 pièce(s) jointe(s)
Lancer un lien html via une checkbox
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:
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:
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 rasberry python
Code:
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') |