Beschrijving
Het doel van dit project van arduino wil verwerven en de overdracht van gegevens via het GSM-netwerk. Het voordeel is om het verzamelen van gegevens (bijvoorbeeld monitoring van een zonne-energiecentrale) te kunnen, zelfs als er geen bedrade internetverbinding beschikbaar.
Dit is hoe het werkt:
- Een waarde wordt afgelezen uit arduinos analoge ingang A0 (in dit geval temperatuur)
- De GSM-modem wordt gestart en een verbinding tot stand gebracht is.
- Pass.php wordt aangeroepen en de sleutel van de data waarde en veiligheid wordt doorgegeven aan het script.
- Het script slaat de waarde, het IP-adres en de huidige servertijd in de database.
- Arduino wacht voordat het herhalende wordt voor een opgegeven interval.
- De gegevens kunnen worden uitgezet in een grafiek met plot.php of geschreven naar een CSV-bestand met csv.php
De code is geïnspireerd door en bevat fragmenten van:
Arduino Daten-logger (MySQL/PHP) door Poldi
Hoe te stoppen met gsm.begin() door Anders Hedberg
Materiaal
Hardware
- Arduino (Leonardo)
- GSM Shield
- 10 kiloohm thermistor
- 10 kiloohm weerstand
- SIM-kaart (APN informatie noodzakelijk)
Software
- Arduino IDE
- XAMPP
- JpGraph
Insecten
Ongeveer elke 10e verbindingspoging mislukt. Het is onbekend als de storing betrekking heeft op de dienstverlener of andere factoren invloed op dit gedrag (misschien weer?). Hebt u ervaringen betreffende dit probleem bent u welkom om een commentaar te verlaten.
Potentieel voor verbetering
Regelmatige tijdsintervallen
Op dit moment wordt de tijdswaarde die behoren tot de meting gedefinieerd wanneer de meting wordt weggeschreven naar de database. Omdat de tijd om te bouwen van de verbinding met het GSM-netwerk varieert, zijn de tijdsintervallen onregelmatig.
Om de precieze tijdsintervallen die een software oplossing zoals hier beschreven of een real-time klok uitbraak kon worden gebruikt.
Energie besparen
Omdat de GSM modem wordt voortdurend gevoed en verbindingen vaak opbouwt, de oplossing is eerder energie eisen. Energie besparen en daarom verbeteren de duur wanneer aangedreven door een pak van de batterij, de metingen kunnen worden opgeslagen in een matrix en krijgen geüpload in een bundel. Dit zou het schild van de GSM worden afgesloten voor de meeste van de tijd, maar ook een methode om de tijd lokaal op de arduino te bepalen zou vereisen. Hopelijk deze oplossing zou ook het oplossen van de Bug op hetzelfde moment.