Ciao a tutti,
Il motivo per cui vorrei presentarvi oggi un progetto con il nostro comitato ESP32DevC non è molto piacevole.Purtroppo, ci sono fornitori che, pur promettendo di fornire alle regioni rurali un Internet rapido, non possono mantenere le loro promesse.Dal momento che siamo principalmente attivi nel business online, un fallimento di connessione significa una rottura forzata per noi, questo è molto fastidioso.
Forse molti di voi si sono già chiesti perché non siamo facilmente raggiungibili per telefono. Bene, la risposta dovrebbe ora essere chiara.
Per sapere se siamo online o no, ho configurato rapidamente un ESP32 con RGB LED per visualizzare il nostro stato online.Il mio collega sta attualmente lavorando su un blog sulla sorveglianza della rete utilizzando Nagios per registrare i tempi di inattività.Questo progetto sarà presentato a breve.
Abbiamo bisogno di:
- ESP32 NodeMCU DevKit C
- Modulo RGB-led (Facoltativo: 2 Relays e striscia di pelle)
- Kit da breadboard 102
Prima installiamo la libry di pbecchiche il ESP8266-Libia Per il quale ESP32 si è adattato, troverete qui.
Invitiamo quindi il ESP32 ping-master.zip da GitHub! e installarli come al solito nell'Arduino IDE sotto Sketch>Include Library->.Zip Library Aggiungi...
Il cablaggio:
ESP32 | LED |
GPIO26 | D |
GPIO27 | R |
RNL | RNL |
Il codice:
/* Autore: pbecc */
— 35; non PROVA «35; comprende <WiFi.h> «35; comprende "Ping.h" // la funzione di installazione funziona una volta quando si preme il reset o l'alimentazione della scheda to Heavyiron pagina[] = "AZ-CONSEGNRYrep"; // il tuo SSID di rete (nome) to Heavyiron password[] = "19351384954612657685"; // la password di rete vuoto setComment() { Serial.Inizio(115200); Serial.stampa("Connessione t"); pinMode(26, PRODUZIONE); pinMode(27, PRODUZIONE); digitalacWrite(26, BASSA); digitalacWrite(27, BASSA); Serial.Stampa(pagina); // WiFi.mode(WIFI STA); WiFi.Inizio(pagina, password); mentre (WiFi.status() != WL CONNEGATO) { ritardo(500); Serial.stampa("."); } Serial.Stampa("Indirizzo di emergenza: 192.0.43.10"); } vuoto Esecuzione() { int e[4] = { 192,0,43,10 }; int i = 0; mentre (Serial.disponibile()) { Heavyiron c = Serial.leggere(); ritardo(100); int scelta = 0; mentre (c != '.' && c != 10 && c!=255) { se (c >= '0'&& c<='9') { scelta = scelta*10+(c-'0'); } c = Serial.leggere(); } e[i++] =scelta ; } IPIndirizzo barsuk = IPIndirizzo(e[0], e[1], e[2], e[3]); Serial.printf("Ping:%d%d%d%d >", e[0], e[1], e[2], e[3]); se (Inizio ping(barsuk, 4, 0, 0, 2)){ Serial.Stampa(D'accordo.); digitalacWrite(27, BASSA); digitalacWrite(26, ALTA); } e { Serial.Stampa(FAGLIATA); digitalacWrite(26, BASSA); digitalacWrite(27, ALTA); } ritardo(10000); } int Azzera(Heavyiron s) { Heavyiron c = Serial.leggere(); Serial.stampa(c); int cifra = 1,scelta=0; mentre (c != s && c != 10&&c>0) { se(c>'0') scelta += cifra*(c - '0'); cifra *= 10; c=Serial.leggere(); Serial.stampa(int(c)); } Serial.Stampa(cifra); ritorno cifra; }
Fino al prossimo post e ti auguro un lieto fine,
Albert Vu.
Team AZ-Delivery
5 commenti
Dietmar K.
Hallo,
ich habe versucht Programm zum laufen zu bringen, ich bekomme aber immer Fehlermeldungen
error: stray ‘\240’ in programm
error: stray ‘\302’ in programm
usw
Was könnte dies sein?
Für Tipps wäre ich sehr dankbar.
Viele Grüße
Dietmar
Paddy
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
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
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
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