Description
L’objectif de ce projet arduino est d’acquérir et de transférer des données via le réseau GSM. L’avantage est de pouvoir collecter des données (par exemple la surveillance d’une installation solaire) même s’il n’y a pas de connexion internet câblée disponible.
C’est comment cela fonctionne :
- Une valeur est lue à partir arduinos entrée analogique A0 (dans ce cas température)
- Le modem GSM est démarré et une connexion établie.
- Pass.php est appelée et la clé de valeur et de la sécurité des données est transmise au script.
- Le script enregistre la valeur, l’adresse IP et l’heure actuelle du serveur dans la base de données.
- Arduino attend pendant un intervalle spécifié avant de répéter.
- Les données peuvent être tracées dans un graphique avec plot.php ou écrites dans un fichier csv avec csv.php
Le code a été inspiré par et contient des extraits de :
Arduino Daten-logger (MySQL/PHP) par Poldi
Comment arrêter gsm.begin() par Anders Hedberg
Matériel
Matériel
- Arduino (Leonardo)
- Bouclier GSM
- thermistance 10 kiloohm
- résistance de 10 kiloohm
- Carte SIM (champ APN obligatoire)
Logiciel
- IDE Arduino
- XAMPP
- JpGraph
Bogues
Environ chaque 10e tentative de connexion échoue. On ne sait pas si le dysfonctionnement est lié au fournisseur de service ou si d’autres facteurs influencent ce comportement (météo peut-être?). Si vous avez des expériences concernant ce problème, nous vous invitons à laisser un commentaire.
Potentiel d’amélioration
Intervalles de temps réguliers
À l’heure actuelle, la valeur de temps appartenant à la mesure est définie lorsque la mesure est écrite dans la base de données. Parce que le temps de construire la connexion au réseau GSM varie, les intervalles de temps sont irréguliers.
Pour atteindre les intervalles de temps précis qu'une solution logicielle telle que décrite ici ou une évasion d’horloge temps réel pourrait être utilisé.
Économiser l’énergie
Parce que le modem GSM est constamment alimenté et connexions s’accumule souvent, la solution est plutôt d’énergie exigeants. Pour économiser l’énergie et par conséquent améliorer la durée lorsqu’il est alimenté par une batterie, les mesures peuvent être stockés dans un tableau et obtenir téléchargées dans un forfait. Cela permettrait le bouclier GSM soient éteintes pour la plupart du temps, mais nécessiterait également une méthode pour déterminer l’heure locale sur l’arduino. J’espère que cette solution serait également résoudre le bogue en même temps.