Das Herzstück des Melders ist ein Arduino, also benötigt man da auch noch das passende Programm für. Insgesamt setzt sich die Software auf dem Melder aus einem Arduino-Sketch und zwei Bibliotheken zusammen.
In typischen Beispielprogrammen für den Arduino, gerade den Arduino Pro Mini, erfolgt folgende Aufteilung:
- die physische, serielle Schnittstelle wird für das Debugging verwendet
- für die Kommunikation mit einem SIM800 wird eine SoftSerial verwendet
Dieser Aufteilung wollte ich nicht folgen, da die Kommunikation mit dem SIM800 für die Gesamtfunktion relevanter ist und ich hier den physischen UART der per Software emulierten Schnittstelle als überlegen ansehe.
Entsprechend gibt es die Bibliothek DebugOverSoftSerial, die Debuginformationen über eine SoftSerial ausgeben kann.
Zusätzlich gibt es die Bibliothek SimpleSim800, die verschiedene Funktionen gegenüber dem SIM800 bereitstellt. Hier erfolgt die Kommunikation über den physischen UART.
In dem Programm TrapSensor werden die verschiedenen, durch die Hardware bereitgestellten Funktionen, miteinander verwoben.
Welche Funktionen beinhaltet das Programm?
- Messen den Versorgungsspannung
- Auslesen der externen Schalter
- Zyklisches Auslesen der Schalter und Meldung bei Veränderung
- Zyklische Meldung zu definierten Uhrzeiten
- Ansteuerung der verschiedenen LEDs
Was muss man jetzt machen, wenn man das selber in Betrieb nehmen möchte?
Im Hauptprogramm TrapSensor.ino ist die URL der Web-Application hinterlegt. Hier muss einer zur eigenen Installation passende URL hinterlegt werden.
const char url[] = "http://yourdomain/traps/ping";
In der Datei SimpleSim800.cpp sind APN und PIN der verwendeten SIM-Karte definiert. In Abhängigkeit von der SIM müssen hier ggf. Anpassungen vorgenommen werden.
// 1NCE
const char _networkAPN[] = "iot.1nce.net";
const char _userName[] = "";
const char _passWord[] = "";
const char _simPin[] = "9545";
Weidmannsheil,
ich finde dein Projekt super.
Ich habe ebenfalls begonnen einen GSM Melder zu Bauen mit SIM800 und Arduino, jedoch komme ich nicht aus der IT Branche und verstehe also nicht alles was ich gemacht habe 😉
Ich hab mir dazu auch weitere vorhandene Projekte angesehen, und auch beim mir ein RTC Modul mit eigener Knopfzelle und fest Programmierter Uhrzeit für die Kontroll Meldung.
Laufen lassen ich das ganze (momentan nur Testbetrieb) über Meldung via SMS.
Das mit der Website gefällt mir sehr gut 🙂 muss/müsste mich dazu aber erst Reinfuchsen.
Würde mich zu der ganze Sachen mit den Fallenmeldern gerne mit dir in Verbindung setzen, hätte für ein bisschen Hilfe evtl. auch was anzubieten.
Mfg
Sasch