Commit 92220083 authored by Leandro Lanzieri's avatar Leandro Lanzieri

Cambio de wss en index.html

parent a7d5396d
......@@ -73,19 +73,46 @@ conexion.open(function() {
var ws = new WebSocket(configuracion.servidor);
ws.on('open', function() {
ws.send(JSON.stringify({comando: "identificar", dato: "raspberry"}));
ws.send(JSON.stringify({destino: "servidor", ping: "Rasp dice Ping!"}));
var ping = setInterval(function () {
ws.send(JSON.stringify({comando: "ping", dato: "Rasp dice stay alive!"}));
ws.send(JSON.stringify({destino: "servidor", ping: "Rasp dice Ping!"}));
}, 15000);
});
});
ws.on('message', function(message) {
var mensaje = JSON.parse(message);
console.log("Comando recibido: " + mensaje.comando + " con el dato: " + mensaje.dato);
if(mensaje.comando == "rasptoggle") {
comandos = new Buffer([218]); // Comandos a transmitir
bufferTransmision = Buffer.concat([bufferTransmision, comandos]); // Se concatenan ak buffer de transmision
}
ws.on('message', function(message) {
var mensaje = JSON.parse(message);
if(mensaje.destino == "raspberry") {
console.log("\nDestino: " + mensaje.destino+ " | Nodo: " + mensaje.nodo + " | Comando: " + mensaje.comando);
switch(mensaje.nodo) {
case "temperatura living":
// No se deberian recibir mensajes de este nodo
break;
case "luces living":
// Se envia mensaje
comandos = new Buffer([mensaje.comando]); // Comandos a transmitir
bufferTransmision = Buffer.concat([bufferTransmision, comandos]); // Se concatenan al buffer
// Se modifica la informacion del nodo local
if(hecho.nodos.filter(function( obj ) { return obj.nombre == 'luces living';})[0].estado)
hecho.nodos.filter(function( obj ) { return obj.nombre == 'luces living';})[0].estado = true;
else
hecho.nodos.filter(function( obj ) { return obj.nombre == 'luces living';})[0].estado = false;
break;
// Se envia por ws el nodo actualizado
ws.send(JSON.stringify({destino: "servidor", nodo: "luces living", estado: hecho.nodos.filter(function( obj ) { return obj.nombre == 'luces living';})[0].estado}));
case "ventilacion living":
// Se envia mensaje
comandos = new Buffer([mensaje.comando]); // Comandos a transmitir
bufferTransmision = Buffer.concat([bufferTransmision, comandos]); // Se concatenan al buffer
// Se modifica la informacion del nodo local
if(hecho.nodos.filter(function( obj ) { return obj.nombre == 'ventilacion living';})[0].estado)
hecho.nodos.filter(function( obj ) { return obj.nombre == 'ventilacion living';})[0].estado = true;
else
hecho.nodos.filter(function( obj ) { return obj.nombre == 'ventilacion living';})[0].estado = false;
break;
// Se envia por ws el nodo actualizado
ws.send(JSON.stringify({destino: "servidor", nodo: "ventilacion living", estado: hecho.nodos.filter(function( obj ) { return obj.nombre == 'ventilacion living';})[0].estado}));
}
}
});
ws.on('close', function () {
setInterval(function () {
......
{
"RELE_ON": 15,
"RELE_OFF": 1,
"RELE_TOGGLE": 218,
"LUCES_ON": 31,
"LUCES_OFF": 17,
"LUCES_TOGGLE": 26,
"LUCES_DUTY": 29,
"LUCES_AUMENTAR": 27,
"LUCES_DISMINUIR": 28,
"PING": 25,
"FREC_ONOFF": 120,
"FREC_LUCES": 102,
"ACK": 65
}
\ No newline at end of file
var WebSocketServer = require("ws").Server;
var comunicacion = require("./comunicacion");
var http = require("http");
var express = require("express");
var app = express();
......@@ -40,8 +41,8 @@ wss.on("connection", function(ws) {
* a la raspberry sobre algun nodo. Se hace
* un broadcast pero dirigido a la raspberry con la actualizacion
*/
console.log("\n Destino: " + mensaje.destino + " | Nombre del nodo: " + mensaje.nodo + " | Estado: " + mensaje.estado);
wss.broadcast(JSON.stringify({destino: "raspberry", nodo: mensaje.nodo, estado: mensaje.estado}));
console.log("\n Destino: " + mensaje.destino + " | Nombre del nodo: " + mensaje.nodo + " | Comando: " + mensaje.comando);
wss.broadcast(JSON.stringify({destino: "raspberry", nodo: mensaje.nodo, comando: mensaje.comando}));
}
});
......
......@@ -2,8 +2,23 @@
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.js"></script>
<script>
var temp = location.origin.replace(/^https/, 'ws');
var host = temp.replace(/^http/, 'ws');
var comunicacion = {
"RELE_ON": 15,
"RELE_OFF": 1,
"RELE_TOGGLE": 218,
"LUCES_ON": 31,
"LUCES_OFF": 17,
"LUCES_TOGGLE": 26,
"LUCES_DUTY": 29,
"LUCES_AUMENTAR": 27,
"LUCES_DISMINUIR": 28,
"PING": 25,
"FREC_ONOFF": 120,
"FREC_LUCES": 102,
"ACK": 65
}
var temp = location.origin.replace(/^https/, 'wss');
var host = temp.replace(/^http/, 'wss');
var ws = new WebSocket(host);
ws.onopen = function () {
<!-- Se envia un ping cada 15 segundos al servidor para que no se cierre la conexion -->
......@@ -12,12 +27,12 @@
}, 15000);
$('#luces-living-boton').click(function() {
ws.send(JSON.stringify({destino: "raspberry", nodo: "luces living", estado: "toggle"}));
ws.send(JSON.stringify({destino: "raspberry", nodo: "luces living", comando: comunicacion.LUCES_TOGGLE}));
$('#luces-living-boton').prop('disabled', true);
});
$('#ventilacion-living-boton').click(function() {
ws.send(JSON.stringify({destino: "raspberry", nodo: "ventilacion living", estado: "toggle"}));
ws.send(JSON.stringify({destino: "raspberry", nodo: "ventilacion living", comando: comunicacion.RELE_TOGGLE}));
$('#ventilacion-living-boton').prop('disabled', true);
});
};
......
{
"RELE_ON": 15,
"RELE_OFF": 1,
"RELE_TOGGLE": 218,
"LUCES_ON": 31,
"LUCES_OFF": 17,
"LUCES_TOGGLE": 26,
"LUCES_DUTY": 29,
"LUCES_AUMENTAR": 27,
"LUCES_DISMINUIR": 28,
"PING": 25,
"FREC_ONOFF": 120,
"FREC_LUCES": 102,
"ACK": 65
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment