Hola a todos!!! Estoy trabajando en un proyecto final para la Facultad del cual consta lo siguiente:
Enviar información de varios sensores a un Access Point (ESP8266).
Al conectarme en un Browser de internet a la IP del ESP8266, dicho ESP enviará una simple pagina HTML con la informacion actual de los sensores.
Tengo muchas dudas de como armar esto!!
Algunas caracteristicas del proyecto:
1- Esto es en un escenario Outdoor, por lo que no hay conexion wifi. (La conexion wifi se crea en el ESP con SSID && pasword)
2- Al Browser de internet se accede desde una Tablet.
3- Si me conecto en una tablet o cualquier celular no voy a poder tener una Base de datos , ni algun aplicativo estilo node.js para recibir en tiempo real info a traves de la libreria socket.io
Lo que no se hacer es: 1- Cada vez que accedo a la IP del ESP8266 , éste carga el HTML en la web.... Se puede cargar unicamente 1 sola vez el HTML y que se guarde en alguna cache? Solo quiero actualizar los datos de los sensores y NO enviar por cada valor nuevo TODA la pagina HTML. 2- Se puede refrescar la pagina sin que me entere?? O sea cuando Apreto F5 para actualizar veo la flechita girando..... quiero que esto sea invisible La idea sera:: EL ESP8266 recibe de otros ESP8266 los valores de los Sensores.. Estos valores se guardan en un String. El ESP8266 en primer lugar enviara a la IP que quiere comunicarse con él, el HTML y el String de sensores. Despues de esto solo quiero que en el próximo envio se envíe el String de sensores (Sin el HTML que quedo cargado al principio). Finalmente para cada actualizacion de los sensores quiero que se cargue en la pagina automaticamente y si es posible sin que se vea la flechita girando.
No conozco ese módulo, aunque por lo que insinúas, tiene la capacidad de actuar como server autónomo ¿no?
En cualquier caso deberías implementar dos páginas por separado.
En una de ellas sencillamente devuelves la parte de los datos como un texto o fracción de html (no es una página completa). Esta página es la que debe ser dinámica, captando los datos de los sensores.
En la otra página (la principal) construirías el documento, incluyendo la librería Jquery (ésta no es necesario que la almacenes en tu server, y puedes vincularla desde un origen externo). Luego definirías una función que llame a la página que contiene los datos, y que actualice con ellos la parte (por ejemplo un div con id) en la que van a ir los datos. Finalmente estableces una tarea cronometrada que llame cada x tiempo a esa función, con lo que cada x tiempo se obtienen los datos de la página de datos y se incrustan como contenido del div, cambiando sólo esa parte de la página, y finalmente el html de la página contenedora:
<script src=”https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js”>
<script language="javascript" src="js/jquery-1.2.6.min.js"></script>
<script language="javascript">
function recargar(){
$("#recargado").load("datos.html"); // pone el contenido de datos.html dentro del <div id= "recargado">
}
// Establecemos el temporizador a 2 segundos
timer = setInterval("recargar()", 2000);
</script>
<head> </head>
<body>
<div id="recargado">Mi texto sin recargar</div>
</body>