Descripción
El objetivo de este proyecto de arduino es adquirir y transferir datos a través de la red GSM. El beneficio es ser capaz de recoger datos de (por ejemplo seguimiento de una planta solar) incluso si no se dispone de ninguna conexión a internet por cable duro.
Así es cómo funciona:
- Se lee un valor de arduinos analógico de entrada A0 (en este caso temperatura)
- Se inicia el módem GSM y una conexión establecida.
- se llama Pass.php y la clave de datos de valor y la seguridad se pasa a la secuencia de comandos.
- El script guarda el valor, la dirección IP y la hora actual del servidor en la base de datos.
- Arduino espera el intervalo especificado antes de repetir.
- Los datos pueden ser trazados en un gráfico con plot.php o escritos a un archivo csv con csv.php
El código fue inspirado por y contiene fragmentos de:
Arduino Daten-logger (MySQL/PHP) por Poldi
Cliente de Web GSM por Tom Igoe
Cómo dejar de gsm.begin() por Anders Hedberg
Material
Hardware
- Arduino (Leonardo)
- Escudo GSM
- termistor 10 kiloohm
- resistencia 10 kiloohm
- Tarjeta SIM (se requiere información de APN)
Software
- IDE de Arduino
- XAMPP
- JpGraph
Errores
Aproximadamente cada 10 intento de conexión falla. Se desconoce si la anomalía está relacionada con el proveedor de servicios o si otros factores influyen en este comportamiento (el tiempo tal vez?). Si usted tiene experiencias sobre este problema le invitamos a dejar un comentario.
Potencial de mejora
Intervalos regulares de tiempo
Actualmente se define el valor de tiempo perteneciente a la medición cuando la medición se escribe en la base de datos. Porque varía el momento de crear la conexión a la red GSM, los intervalos de tiempo son irregulares.
Para lograr intervalos precisos, que podría utilizarse una solución de software como se describe aquí o un desglose de reloj de tiempo real .
Ahorro de energía
Porque el modem GSM es constantemente alimentado y acumula conexiones con frecuencia, la solución es más bien energía exigentes. Para ahorrar energía y por lo tanto mejorar la duración cuando alimentado por una batería, la medición podría ser almacenada en una matriz y haz subida en un paquete. Esto permitiría que el escudo de GSM a cerrar durante la mayor parte del tiempo pero también requiere un método para determinar la hora local en el arduino. Esperemos que esta solución también resolvería el problema al mismo tiempo.