Paso 4: Código para servidor Web
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)