Telemetrie-Box

Überblick

Die Telemetrie-Box ist das Herzstück des Smart Machine Monitoring System. Sie besteht aus dem Arduino DUE und der selbst entworfenen Platine und ist dafür zuständig die Sensordaten von den Sensor Modulen zu holen und an die Cloud weiterzuleiten.

Abbildung 1: Big Picture Telemetrie-Box

Die Telemetrie-Box besteht dabei aus folgenden Komponenten:

Dem UC20 Mobilfunk/GPS Chip. Dieser ist mittels UART am Arduino DUE angeschlossen und kann mittels AT Command angesteuert werden. Er ist dafür zuständig die aktuelle GPS Position zu bestimmen und die gesammelten Messdaten mittels TCP/IP Verbindung an den Server zu senden.

Der HM11 ist ein Bluetooth Low Energie Modul welches ebenfalls mittel UART angebunden ist und mittels AT Commands kommuniziert. Er wird für die Verbindung der Telemetrie-Box mit den Sensor Modulen verwendet.

Das Bluetooth Low Energie Modul von Adafruit funktioniert ähnlich dem HM11 Modul. Dieses Modul dient aber jediglich zur Kommunikation mit der Smartphone App um die Verbindung mit den Sensor Modulen nicht zu blockieren.

Der EEPROM ist für die Speicherung von Messdaten und Einstellungen zuständig. Parameter wie der SIM Pin oder die Webserver Adresse werden darauf gespeichert um sie nicht bei jeder in Betrieb nahme neu einstellen zu müssen. Weiters werden Messdaten darauf gespeichert falls bis zum Ausschalten der Telemtrie-Box keine Verbindung mit dem Server hergestellt werden konnte.

Der Eingang für die Betriebsspannung der Maschine ist dafür da, um zu erkennen, ob der Motor der Maschine läuft und Messdaten erfasst werden müssen.


Programmablauf

Abbildung 2: Grober Programmablauf

Das Strukturdiagramm zeigt den groben Programmablauf der Telemetrie-Box. Wenn der Motor der Maschine gestartet wird, wird die Box mit Spannung versorgt und die alle Module werden initialisiert. Dabei wird das UC20 Modul mit den im EEPROM gespeicherten Parametern initialisiert. Sobald die Initialisierung abgeschlossen ist, beginnt die Hauptschleife des Programms. Binnen der ersten Minute nach der Initialisierung ist es möglich sich mittels der Smartphone-App zu verbinden um die Einstellungen für den UC20 Chip sowie die zu verwendendenden Sensor Module zu konfigurieren. Währendessen werden alle ca. 5 Sekunden die Daten der Sensor Module gepollt und die aktuelle GPS Position wird abgefragt. Die Struktur, die das Sensor Modul zurückliefert ist wie Abbildung 3 zu sehen. Zu Beginn steht eine laufende Sensor ID um die Messwerte in der Datenbank zu unterscheiden. Danach folgen Beschleunigung, Gyroskop und Magnetometer, die jeweils in x, y und z Achse unterteilt werden. Am Ende liegt ein float mit dem Temperaturwert. Die Werte werden dabei in einer Queue gespeichert die alle ca. 10 Sekunden geleert wird und an den Server sendet. Wird der Motor der Maschine abgestellt, wird das vom Modul erkannt und die aktuellen Einstellungen sowie die Messdaten, die nicht gesendet werden konnten, auf dem EEPROM gespeichert.

Abbildung 3: Struktur Sensor Messwert