add button interface
This commit is contained in:
parent
933add2211
commit
b6c6060a89
|
@ -13,7 +13,9 @@
|
||||||
$.get("/led/"+ led +"/", function (data) {
|
$.get("/led/"+ led +"/", function (data) {
|
||||||
console.log(data);
|
console.log(data);
|
||||||
if (led < 6 && led > 0) {
|
if (led < 6 && led > 0) {
|
||||||
$("#but"+led).text(data);
|
if (data == "off"){
|
||||||
|
$("#but"+led).text("Turn off "+led)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -23,6 +25,34 @@
|
||||||
$("#photo").attr("src", "static/photo.jpg?"+d.getTime());
|
$("#photo").attr("src", "static/photo.jpg?"+d.getTime());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function button_painter(pin, x, y, w, h) {
|
||||||
|
var canvas = document.getElementById("miCanvas");
|
||||||
|
var ctx = canvas.getContext("2d");
|
||||||
|
$.get("/button/"+pin, function (data) {
|
||||||
|
if (data == 1) {
|
||||||
|
ctx.strokeStyle = "#FFFFFF"; // Color blanco
|
||||||
|
console.log("Abriendo puerta " + pin)
|
||||||
|
} else {
|
||||||
|
ctx.strokeStyle = "#FF0000"; // Color negro
|
||||||
|
console.log("Cerrando puerta " + pin)
|
||||||
|
}
|
||||||
|
|
||||||
|
ctx.strokeRect(x, y, w, h); // Puerta
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Establecer la cantidad de segundos (en milisegundos) entre cada ejecución
|
||||||
|
var segundos = 2; // Cambia a la cantidad de segundos deseada
|
||||||
|
|
||||||
|
// Llamar a la función cada X segundos
|
||||||
|
|
||||||
|
setInterval(button_painter, segundos * 1000, 7, 300, 100, 1, 75);
|
||||||
|
setInterval(button_painter, segundos * 1000, 8, 350, 4, 100, 1);
|
||||||
|
setInterval(button_painter, segundos * 1000, 9, 350, 596, 100, 1);
|
||||||
|
setInterval(button_painter, segundos * 1000, 10, 500, 400, 1, 75);
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
{% if user.is_authenticated %}
|
{% if user.is_authenticated %}
|
||||||
|
@ -87,17 +117,24 @@
|
||||||
ctx.fillText("Sala", 200, 450);
|
ctx.fillText("Sala", 200, 450);
|
||||||
ctx.fillText("Cocina", 600, 150);
|
ctx.fillText("Cocina", 600, 150);
|
||||||
|
|
||||||
|
ctx.strokeStyle = "#FF0000"; // Color negro
|
||||||
|
ctx.strokeRect(300, 100, 1, 75); // Puerta 1
|
||||||
|
|
||||||
var imagen = new Image();
|
ctx.strokeRect(350, 4, 100, 1); // Puerta trasera
|
||||||
|
ctx.strokeRect(350, 596, 100, 1); // Puerta tdelanteearasera
|
||||||
|
|
||||||
// Definir la ruta de la imagen que deseas cargar
|
ctx.strokeRect(500, 400, 1, 75); // Puerta 2
|
||||||
imagen.src = "https://www.freepngimg.com/thumb/light/78155-icons-light-idea-computer-lighting-incandescent-bulb.png"
|
|
||||||
|
|
||||||
// Esperar a que la imagen se cargue antes de dibujarla
|
// var imagen = new Image();
|
||||||
imagen.onload = function () {
|
|
||||||
// Dibujar la imagen en el canvas
|
// // Definir la ruta de la imagen que deseas cargar
|
||||||
ctx.drawImage(imagen, 20, 100, 80, 80); // (imagen, x, y)
|
// imagen.src = "https://www.freepngimg.com/thumb/light/78155-icons-light-idea-computer-lighting-incandescent-bulb.png"
|
||||||
};
|
|
||||||
|
// // Esperar a que la imagen se cargue antes de dibujarla
|
||||||
|
// imagen.onload = function () {
|
||||||
|
// // Dibujar la imagen en el canvas
|
||||||
|
// ctx.drawImage(imagen, 20, 100, 80, 80); // (imagen, x, y)
|
||||||
|
// };
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
from django.urls import path
|
from django.urls import path
|
||||||
|
|
||||||
from .views import home, led, take_photo
|
from .views import home, led, take_photo, button_detect
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path("", home, name="home"),
|
path("", home, name="home"),
|
||||||
path("led/<int:led>/", led, name="leds"),
|
path("led/<int:led>/", led, name="leds"),
|
||||||
path("photo/", take_photo),
|
path("photo/", take_photo),
|
||||||
|
path("button/<int:pin>/", button_detect),
|
||||||
]
|
]
|
||||||
|
|
|
@ -18,7 +18,11 @@ leds_gpio = {
|
||||||
2: 6,
|
2: 6,
|
||||||
3: 13,
|
3: 13,
|
||||||
4: 19,
|
4: 19,
|
||||||
5: 26
|
5: 26,
|
||||||
|
7: 21,
|
||||||
|
8: 20,
|
||||||
|
9: 16,
|
||||||
|
10: 12,
|
||||||
}
|
}
|
||||||
|
|
||||||
def home(request):
|
def home(request):
|
||||||
|
@ -56,4 +60,8 @@ def toggle_led(led, turn_on):
|
||||||
else:
|
else:
|
||||||
pin_control.turn_on_pin(gpio_pin)
|
pin_control.turn_on_pin(gpio_pin)
|
||||||
leds_state[led] = not turn_on
|
leds_state[led] = not turn_on
|
||||||
return HttpResponse("on" if turn_on else f"Turn on {led}")
|
return HttpResponse("on" if turn_on else "off")
|
||||||
|
|
||||||
|
|
||||||
|
def button_detect(request, pin):
|
||||||
|
return HttpResponse(pin_control.probe_pin(leds_gpio[pin]))
|
Loading…
Reference in a new issue