Seit langem endlich mal wieder ein kleines Bastel Projekt. Eine PRTG Alarm Leuchte!
PAESSLER PRTG Network Monitor ist ein Netzwerk und Infrastruktur Monitoring Tool welches IT Systeme überwacht und Alarme versendet (eMail, SMS, App...) sobald z.B ein System nicht mehr erreichbar ist.
Anstelle von SMS Gebimmel bei jedem Alarm genervt zu werden, ist es wesentlich angenehmer einfach eine Leuchte zu haben die wild anfängt zu blinken anstelle zu piepsen um auf einen Alarm aufmerksam zu machen.
Ganz nach Tom Sachs und ISRU, wurde hier verwendet was gerade da war. ;)
Daher musste eine leere Dose als Gehäuse herhalten, welche sich als gute Wahl herausstellte, da hier das Licht sehr schön difus gestreut wird und die ganze Dose leuchtet.
Als Leuchtmittel werden zwei 8 LED Neopixel Sticks verwendet.
Das Herzstück des Projektes bildet ein Wemos D1 Mini ESP8266 Board.
Zu guter letzt wurde noch eine Wäscheklammer als Leuchtmittelhalter und einiges an Heißkleber verwendet.
Die Verkabelung ist denkbar einfach,
"+" am Stick an 5V,
GND auf GND
DataIn am Stick auf D4 am ESP.
Die beiden Sticks werden einfach miteinander verbunden.
DataOut auf DataIn
"+" auf "+"
GND auf GND.
Nun alles mit gut Heißkleber in der Dose fixieren.
Zur eigentlichen Funktion.
Der ESP wählt sich in einem WLAN ein, verbindet sich via HTTPS zur PRTG Instanz, holt sich über die PRTG Api die Alarme als JSON, prüft ob hier Alarme vorkommen und spielt entsprechend Animationen auf den Neopixel Sticks.
Während des Bootvorgangens und dem Verbinden mit dem WLAN leuchtet die Dose blau. Sollte hier ein Fehler auftretetn blinkt es Rot. Sobald die Verbindung hergestellt und PRTG abgefragt wurde und keine Alarme vorhanden sind wechselt die Dose auf Grünes Leuchten.
Dieses Grüne Leuchten wird beibehalten und alle zehn Sekunden die Alarme erneut abgerufen. Stehen Alarme in der Abfrage wird die Alarm Animation abgespielt, welche an die amerikanischen Polizeit Autos angelehnt ist, Blau / Rot Blinken und anschließend Rot "Atmen". Sind die Alarme beendet wechselt die Dose wieder auf Grün.
Der Quellcode zum Projekt ist hier auf GitHub zu finden.
Er sollte ausreichend kommentiert sein, um zu verstehen wie was gemacht wird.
Am meisten hatte ich mit der JSON Abfrage zu kämpfen bis dies ohne Probleme klappte. Jetzt im fertigen Code sieht das alles gar nicht mehr so schlimm aus. ;)
Falls die Dose nachgebastelt wird, bitte ein Bild oder Video an mich schicken! Auf Twitter @boerzel oder an web@boerzel[.]de.