Proyecto Web

Buenas noches, estoy intentando desarrollar un proyecto con un servidor WEB totalmente autonomo (sin ordenador) El arduino controlaria una serie de aparatos (luces, temperatura, humedad, extraccion de aire, etc) Con una pantalla y un teclado todo funciona ok. Ahora quiero ir mas alla y poder controlarlo desde fuera de casa, ya casi lo tengo gracias al tinywebserver desde el apago y enciendo los aparatos, pero me quedan 3 parametros que me gustaria poder visualizarlos en la web que son la temperatura y la humedad y la fecha y hora. La web esta hecha en html y javascrip y esta guardada en la SD pero no doy como puedo leer el dato de un sensor y pasarseo a la web, igual es imposible, pero por tema de memoria es la mejor solucion que he encontrado, si no al hacer la web desde arduino me comia toda su memoria. Sabeis como pasar esos parametros, o la unica opcion seria guardarlos en un fichero de tento en la SD y leerlos desde la pagina web?.

Gracias y un saludo.

Parece un proyecto interesante, si lo documentas todos aprenderíamos :slight_smile: :slight_smile: :slight_smile:

Creo que se puede hacer porque un compañero mio tiene eso hecho pero con pics. Si no te han contestado el lunes si no ando muy liado y me acuerdo :cold_sweat: le pregunto como lo enfoco. Ya lo puse en algún otro post pero si te sirve de inspiración...


He estado mirando los apuntes que tenía del curso que nos dio hace 2 años (como no lo uso lo tengo olvidado :roll_eyes:) sobre como poner un lm35 para que lea la temperatura. Recuerda que el sistema es con pic y que usa el ezweb. El ezweb tiene un pequeño micro y en este ejemplo lee desde los pines de entrada del ezweb. El shield de arduino no lo se como va no lo he mirado. Supongo que se comunicará en serie con el arduino y tendrás que enviar la información en serie desde el arduino. Te adjunto el ejemplo y el código html que usamos en el proyecto del video. Tienes que estar registrado para poder ver el archivo.

Continuo mirando los apuntes que cogí y por lo que veo la técnica de arriba era un poco primitiva para que te quede chulo (como en el video) hay que usar CGI y era un lio. He estado mirando pero no me acuerdo y no entiendo como lo hacía.

Páginas desde20110713124932938.pdf (426 KB)

Gracias ionhs he estado mirando y de la forma que documentas dijeramos que es si escribes la web desde el propoi codigo del arduino, de esa forma si se hacerlo, pero si haces una web compleja, el problema es que te quedas sin memoria en el arduino. Por eso yo lo que quiero es o hacer la Web y grabarla en la sd y acceder a ella a trabes de la libreria TinyWebServer con lo cual todo el codigo HTML lo haces a mano y lo dejas en la SD (con el considerable ahorro de espacio y tambien la comodidad de poder hacerlo con el programa que cada uno este acostumbrado) y despues en el arduino le pones el codigo que dijeramos comunica con la Web para comprobar, activar o desactivar salidas. Hasta ahi esta claro, el problema viene al intentar saber el valor de las salidas o entradas I2C. Si eso fuera posible seria perfecto. Otra opcion que se me ha ocurrido es escribir esos valores en un fichero de texto en la SD (eso si es posible) y leerlos desde la Web con php lo he probado y funciona perfecto, pero el problema es que el servidor TinyWebServer no admite php asi que estoy intentando hacerlo con javascrip. Si salvo este problema seria casi perfecto (se perderia un poco el tiempo real en cuanto a lectura de sensores, pero depende de la aplicacion no seria importante).

Ahora si quereis os explico el proyecto real que esta acabado casi, me falta una caja para dejarlo perfecto. El proyecto es para un aviario para controlar la luz, temperatura,humedad, extractor, persianas, cierre de techo, sensor de lluvia, etc. Todo lo necesario para el aviario. Tiene una pantalla de 20x4 y un teclado, todos los valores almacenados en la eprom y modificables desde el teclado. La verdad que lo he intentado hacer lo mas completo posible y personalizable, y ahora me gustaria darle el toque Web para poder acceder en remoto (y poder añadirle algo de la domotica de la casa, persianas etc) y una o 2 camaras para poder observas a los animales, por eso quiero el proyecto Web con lo cual el tiempo real de la Web no me es muy importante.

Bueno y desues de este rollo si alguien quiere saber algo mas que me lo diga y lo comento mas detenidamente cuando este en casa tranquilamente.

Pues lo dicho si a alguien se le ocurre algo que me lo diga, yo sigo investigando.

llaner suena muy interesante, si tienes tiempo abre un post y documenta un poco el proyecto porque suena muy bien,
un saludo

Javascript funciona en el lado del cliente. No entiendo como quieres hacer que 'pasen cosas' en el servidor usando javascript....

Bueno parece que ya tengo una solucion con la libreria TinyWebServer que comunica con get y post con el arduino, pero me he quedado sin espacio en el arduino UNO, con lo cual tendre que comprarme el MEGA cuando tenga ocasion. El tema funciona de la siguiente manera, creas la web con dreamweaver o lo que cada uno quiera y se graba en la SD, despues(el problema es que tienes que escribir cada funcion por cada pin que quieras controlar) es ir configurando las funciones para que te digan si estan las salidas encendidas o apagadas, al igual para consultar valores de las analogicas o I2C.

He pensado otra cosa pero no encuntro documentacion, parece ser que tambien se puede comunicar con el arduino a traves de UDP con lo cual se podria congar la WEB tanto en el servidor interno como en uno externo y por UDP hacer la peticion para comprobar las entradas/salidas, ¿Alguien sabe algo?

Tambien tengo una fonera y voy a investigar hacerlo con ella el servidor y comunicar por serie, pero tendo el firmware ddrtt y me parece que tengo que ponerle el wrt o algo asi (no tengo los apuntes aqui) y no me deja cambiarlo, si alguien sabe como hacerlo se aceptara la ayuda muy gustosamente.

Haber si avanzo algo y os pongo algun codigo funcional, porque por ahora no hace nada.

Un Saludo.

Proyecto muy interesante, si señor. Yo ando con mi casa domotica pero estoy en fase de montaje de tubos por lo que no he empezado todavia en serio con el programa, eso si he probado todo por separado y tengo las ideas bastante claras.
Yo usaría un router con DD-Wrt y conectado al arduino por el puerto serial, hay puedes trabajar con paginas con cierta complejidad cosa que con arduino es complejo porque con poco que hagas esta lleno.
El tinywebserver no lo he visto y no te puedo ayudar.

ya te digo, si es interesante!!!! llevo dias averigundo como funciona ethernet shield y viendo la libreria sdfatlib, y ahora descubro esta otra.... a ver a ver a ver