Estación meteorológica Arduino y servidor Web (4 / 6 paso)

Paso 4: Código para servidor Web

Hay dos elementos clave para esto.  Uno es servir una página directamente desde el Arduino que es formato fijo y esencialmente una lista de lecturas del sensor, batería, Arduino estado etc..  Esto es útil para ambos el software de depuración, pero también comprueba que el hardware está funcionando como se esperaba, por ejemplo, si un sensor no es ser decodificado como está fuera del alcance o sufre interferencias, puede ser supervisado en los detalles de 'última actualización'.  El segundo elemento es servir páginas más complejas.  La solución codificada es (creo) bastante potente, carga un archivo de plantilla (en forma de texto) de la raíz de la SD y cuando encuentra una 'variable' (indicado con una apertura y cierre ~ ~), reemplaza esto con el valor antes de servir a la página web.  Esto significa que absolutamente complicadas páginas web puede crearse sin nueva codificación la Arduino y sin acaparando recursos de memoria, incluidas las referencias a archivos externos, como archivos CSS, imágenes etc. que puede ser almacenado en su propio sitio web en lugar de en y servido por el Arduino (que no está diseñado para hacerlo).

Originalmente, el código estaba destinado a trabajar en un UNO, pero necesitaba almacenar grandes conjuntos de datos (grupos de 48 valores x 13) para los gráficos de tendencia (ver página de ejemplo) y aunque el tamaño de la compilación entró en bajo marca 32 k, el Arduino no debido a la memoria 'sobrecarga'...  Ir a la MEGA también permite una funcionalidad adicional que se agregará (como correos electrónicos, sol etc.) sin ningún problema.  No dude en optimizar el código y presione sobre la ONU...

El archivo de ejemplo (graphs.htm) crea la página web y hace uso de la api de Google Charts para procesar las cartas con llamadas de enlace simple.  Tenga en cuenta que el código sólo funciona con archivos de nombre 8,3 (debido al uso de SDFat), por lo tanto el uso de nombre archivos .htm.  Para ver la página procesada, simplemente escriba el código de Arduino IP: Puerto seguido por /graphs.htm.

El código también incluye matemáticas para el cálculo de algunos parámetros derivados, tales como altura base de nubes y wind chill. Dos otras acciones están disponibles vía URL además de la entrega normal de la página:

• YourIP:Port / EEPROM – las fuerzas de la corriente de máximo y mínimo (y Conde de lluvia) se registren en la EEPROM. Útil antes de apagar por cualquier razón asegurar que los datos anuales se mantiene.  Nota: sólo se escribe la EEPROM también una vez al día, a medianoche.  Esto extiende la vida útil de la EEPROM de Arduino y como este dispositivo está diseñado para ser alimentado indefinidamente pensé que todos los días era suficiente.

• YourIP:Port/Time & año & mo & día & hr mi – aunque se ha utilizado un RTC, parece perder el tiempo durante un período.  Esta función permite al usuario restablecer el RTC (vía web) a la hora y actualización para los cambios de horario de verano.

El registro básico y el servidor código se basa en el tutorial aquí y modificado para adaptarse a mis necesidades y cambios al compilador de Arduino 1.0.

Biblioteca de referencias

• Biblioteca de llama
• Biblioteca de EEPROMWriteAnything
• Biblioteca de RTCLib
• La biblioteca de SDFat (y tutorial de tarjeta Ethernet/SD)

Artículos Relacionados

Estación meteorológica Arduino y procesamiento

Estación meteorológica Arduino y procesamiento

construir una estación móvil o página y ver los datos en tiempo real en su computadora. El gráfico de los mapas a la velocidad del viento, presión, temperatura y dirección del viento durante 10 minutos luego guarda la imagen como un archivo jpeg y vu
Estación meteorológica de Hackgyver

Estación meteorológica de Hackgyver

Desde algún tiempo en mi hackerspace, uno de nuestros miembros (futex) hizo una estación meteorológica con un Raspberry Pi.Después de que su obra tenía la idea de hacer uno pero en lugar de utilizar un RPi como plataforma me he centrado mi trabajo en
Estación meteorológica de Arduino GPRS - parte 1

Estación meteorológica de Arduino GPRS - parte 1

Con la amenaza de los patrones de tiempo cada vez más errático circula los cielos de nuestro planeta, día tras día de la incesante lluvia, inundaciones, sequías, tormentas de granizo y quién sabe qué más, una estación meteorológica parece ser un acce
Estación meteorológica de Edison y Arduino/Genuino 101

Estación meteorológica de Edison y Arduino/Genuino 101

Este Instructable describe un Intel (r) Edison y basada en Arduino/101 si modular estación meteorológica que recientemente he creado para mi uso en el hogar.Conceptos fundamentales, que define la configuración y soluciones, fueron:Para tener una solu
Arduino Uno DHT11 LCD estación meteorológica DIY

Arduino Uno DHT11 LCD estación meteorológica DIY

esto es DYI sobre cómo hacer su estación meteorológica usando Arduino Uno, sensor de temperatura y humedad DHT11, DFRobot LCD 2 x 16 pantalla con teclado. Generalmente puedes comprar Arduino, DHT11 y LCD por separado y desde cada capítulo de disposit
Web conectado estación meteorológica

Web conectado estación meteorológica

Construir una estación meteorológica para mostrar y registrar la velocidad del viento, dirección del viento, presión atmosférica, precipitación, humedad y temperatura.Hice uso de la viruta panStamp NRG 2 para enviar los datos desde el weatherstation
Estación meteorológica de Arduino Parte2

Estación meteorológica de Arduino Parte2

para mi último proyecto fue una máquina de frialdad de viento de Arduino.Naturalmente, este vago Geek viejo quería añadir una veleta (dirección del viento) a mi estación. ¿A quién le importa, usted puede preguntar? Bueno, soy un Geek. En realidad, di
Al aire libre Arduino estación meteorológica con registro PC y gráficos

Al aire libre Arduino estación meteorológica con registro PC y gráficos

quería tener un registro de tiempo al aire libre con registro de la PC y gráficos durante bastante tiempo. Hay tales dispositivos en el mercado pero su costo es realmente alto. Entonces, decidió construir uno yo mismo y disfrutar también de la experi
Estación meteorológica en la web!

Estación meteorológica en la web!

He estudiado Meteorología en la Universidad. Hace ya mucho tiempo abordan. Sin embargo, es muy querido por mi corazón. Compré un kit arduino y jugó con los chicos. Entonces compré un escudo de tiempo. Imprimir las mediciones a la serie. Mi más antigu
Independiente DIY estación meteorológica con Arduino

Independiente DIY estación meteorológica con Arduino

Hola creadores de ahiEsto no es un instructivo paso a paso. Como siempre me olvidé de tomar tomar instantáneas desde el inicio de este proyecto.La idea de construir una estación meteorológica de comunidad utilizando hardware abierto comenzó una larga
ESP8266 estación meteorológica con Arduino: Hardware #1

ESP8266 estación meteorológica con Arduino: Hardware #1

FondoHe leido sobre la ESP8266 primero en marzo este año y no sabía qué hacer con. Y ahora estoy realmente fascinado lo fácil que puede ser la conexión de un Arduino a Internet. Como otros me establecer una estación meteorológica en un protoboard pri
Arduino Part3 de estación meteorológica, lluvia

Arduino Part3 de estación meteorológica, lluvia

para uno de mis últimos proyectos fue agregar una veleta a mi estación de Arduino.Este Geek viejo perezoso decidió añadir un indicador de lluvia que a pesar de que no tenemos mucha lluvia en el desierto. La mayoría de los pluviómetros digitales se ba
10 $ portátil Arduino estación meteorológica (AWS)

10 $ portátil Arduino estación meteorológica (AWS)

Hace poco mi colegio había una exposición pequeña ciencia.Así que me pedí por mi maestro a presentar un proyecto en el colegio para enseñar a jóvenes estudiantes de electrónica así que básicamente tenía dos días para hacer alguna cosa.Como las condic
Estación meteorológica de Arduino DIY

Estación meteorológica de Arduino DIY

Cómo hacer tu propia estación meteorológica utilizando Arduino.Paso 1: partesArduinoCables de puenteProtoboardPantalla de Nokia 5110DHT11Paso 2: Conectar Conectar el circuito como el esquema.Paso 3: Tiempo de código!Cargar el código.Paso 4: hacer!!!!