sind wir Online?

Hallo zusammen,

der Grund weshalb ich Ihnen heute ein Projekt mit unserem ESP32DevC Board vorstellen möchte ist nicht sehr erfreulich. Leider gibt es Provider, die zwar Versprechen ländliche Regionen mit schnellem Internet zu versorgen, ihr Versprechen aber nicht halten können. Da wir hauptsächlich im Onlinegeschäft tätig sind heißt ein Verbindungsausfall für uns Zwangspause, dies ist sehr ärgerlich.

Eventuell haben sich schon viele von Ihnen gefragt wieso wir telefonisch nur schlecht erreichbar sind - nun, die Antwort sollte jetzt klar sein.

Damit wir wissen ob wir Online sind oder nicht, habe ich auf die Schnelle einen ESP32 mit RGB-Led konfiguriert welcher unseren Onlinestatus anzeigen soll. Momentan arbeitet mein Kollege an einem Blogbeitrag zur Netzwerküberwachung mithilfe von Nagios, um die Ausfallzeiten zu protokollieren. Dieses Projekt stellen wir in Kürze vor.

Wir brauchen:

Zuerst installieren wir die Libary von pbecchi, der die ESP8266-Libary für den ESP32 angepasst hat, diese finden Sie hier.

Wir laden also die ESP32_ping-master.zip von GitHub und installieren diese wie gewohnt in die Arduino-IDE unter Sketch->Bibliothek einbinden->.Zip-Bibliothek hinzufügen... 

Die Verkabelung:

 ESP32 LED-Modul
GPIO26 G
GPIO27 R
GND GND

 

Der Code:

 

/*
 Author:	pbecc
*/
#undef PROVA_ #include <WiFi.h> #include  "ping.h" // the setup function runs once when you press reset or power the board const char ssid[] = "AZ-DELIVERYrep";  //  your network SSID (name) const char password[] = "19351384954612657685";       // your network password void setup() { Serial.begin(115200); Serial.print("Connecting t ");  pinMode(26, OUTPUT);  pinMode(27, OUTPUT);  digitalWrite(26, LOW);  digitalWrite(27, LOW); Serial.println(ssid); // WiFi.mode(WIFI_STA); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println("Pinging address: 192.0.43.10"); } void loop() { int ia[4] = { 192,0,43,10 }; int  i = 0; while (Serial.available()) { char c = Serial.read(); delay(100);    int  val = 0; while (c != '.' &&  c != 10 && c!=255) { if (c >= '0'&& c<='9') { val = val*10+(c-'0'); } c = Serial.read(); } ia[i++] =val ; } IPAddress adr = IPAddress(ia[0], ia[1], ia[2], ia[3]); Serial.printf("Ping : %d . %d . %d . %d ->", ia[0], ia[1], ia[2], ia[3]); if (ping_start(adr, 4, 0, 0, 2)){ Serial.println("OK");   digitalWrite(27, LOW);   digitalWrite(26, HIGH); } else { Serial.println("FAILED");  digitalWrite(26, LOW);    digitalWrite(27, HIGH); } delay(10000); } int readnu(char s) { char c = Serial.read(); Serial.print(c); int digit = 1,val=0; while (c != s &&  c != 10&&c>0) { if(c>'0') val += digit*(c - '0'); digit *= 10; c=Serial.read(); Serial.print(int(c)); } Serial.println(digit); return digit; }

 

Bis zum nächsten Beitrag und einen schönen Feierabend wünscht,

 

Albert Vu

Team AZ-Delivery

 

Letzter Artikel Gehäuse für Amica
Neuer Artikel Heute sind Sie gefragt! Teil 2

Kommentar

Paddy - September 14, 2018

Moin!

Könnt Ihr dieses Projekt noch weiter ausbauen und einen Anstoß oder gar eine Lösung bieten, wie man die Daten speichern und dann später auswerten kann?

Moritz S - September 6, 2018

Vielen Dank für die Kommentare :-)
Nagios kennen wir noch aus Zeiten, in denen wir in großen Rechenzentren gearbeitet haben, allein schon aus Nostalgiegründen möchten wir dieses Projekt umsetzten.
Die rot/grüne Led hängt im Unternehmen an einem sehr zentralen Ort und soll lediglich unseren Mitarbeiten signalisieren wann sie sich stressfrei um anderen Aufgaben zuwenden können.

Alex - September 5, 2018

Schnelle und einfacher kommt man nicht zu einer vollständigen Netzwerk und Serviceüberwachung – und die Hardware liegt bei Euch im Lager ;-)

https://www.heise.de/ct/ausgabe/2018-19-Raspi-ueberwacht-Server-und-Netzwerkdienste-mit-Check-MK-4147940.html

Ulf Kosack - September 4, 2018

Wenn Ihr Euch ein Gefallen tun wollt, nehmt nicht mehr Nagios. Der Open-Source-Weg heißt Icinga (https://www.icinga.com/).

Viele Grüße
Ulf

Hinterlasse einen Kommentar

Kommentare müssen vor der Veröffentlichung überprüft werden

Erforderliche Angabe