Forum: Mikrocontroller und Digitale Elektronik Vorüberlegung: Syslog (UDP) aufzeichnen


von Manfred (Gast)


Lesenswert?

Mein Internet-Access-Router sendet Informationen zu Verbindungsaufbauten 
etc. per UDP ins Netzwerk. Seit Jahren fange ich diese auf einem PC 
unter Windows mit einer selbst geschriebenen Software ein und schreibe 
sie in ein Logfile. Meine Software triggert auf Schlüsselwörter und 
zeigt mir bestimmte Ereignisse an.

Aktuell ist der Router nur eingeschaltet, wenn auch ein PC im Netz aktiv 
ist.

Wenn ich zukünftig den Router dauerhaft aktiv haben muß, weil Telefonie 
nur noch über diesen geht, will ich nicht dauerhaft einen PC laufen 
haben, aber will dennoch eine permanente Protokollierung.

Mit einem Arduino kann ich Daten auf eine SD-Karte schreiben und Dinge 
im LC-Display anzeigen, habe aber noch nie versucht, ihn mit einem 
Netzwerkinterface zu betreiben.

Wie ich das sehe, würde ein Raspberry kaum weniger Leistungsaufnahme als 
ein ordentlicher Mini-ITX-PC haben, fällt also aus. Ziel soll sein, 
unter 3 Watt bleiben.

Habe ich Chancen, das mit einen TCP-Baustein W5500 oder ENC28J60 am 
Nano-328 umzusetzen oder wird mich der verfügbare Programmspeicher 
kneifen? Besser zu einem Mega 2560 greifen?

Welchen TCP-Baustein und warum?

von Andre (Gast)


Lesenswert?

Ich schätze mit einem ESP32 hast du die besten Chancen! Der hat ein 
Ethernet MAC und WLAN, SPI für eine SD Karte, läuft mit 3,3V, hat 
ausreichend Leistung, ...
Wenn du den mit der Arduino IDE programmierst kannst du dir das fast 
komplett aus fertigen Libraries zusammenklicken. (Auch wenn einige Leute 
das nicht mögen, aber sooo lebenswichtig ist ein syslog-to-sdcard Dings 
nun auch nicht)

von (prx) A. K. (prx)


Lesenswert?

Manfred schrieb:
> Wie ich das sehe, würde ein Raspberry kaum weniger Leistungsaufnahme als
> ein ordentlicher Mini-ITX-PC haben, fällt also aus.

RPi 2B: 1,2W.
https://www.elektronik-kompendium.de/sites/raspberry-pi/1910071.htm

> Habe ich Chancen, das mit einen TCP-Baustein W5500 oder ENC28J60 am
> Nano-328 umzusetzen oder wird mich der verfügbare Programmspeicher
> kneifen? Besser zu einem Mega 2560 greifen?

Ein UDP Logger geht schon mit Dunkels uIP Stack, somit auch mit dem 
ATmega328 + Ethernet. Nur sollten die Daten nicht zu schnell eintrudeln.

Bis du allerdings mit dem AVR die Wattstunden wieder raus hast, die du 
in Form von Kaffee erst einmal rein steckst (denk an die 2kW der 
Kaffeemaschine!), wirds eine Weile dauern. Der RPi bringt das fix und 
fertig mit.

: Bearbeitet durch User
von WattMonster (Gast)


Lesenswert?

A. K. schrieb:
> Manfred schrieb:
>> Wie ich das sehe, würde ein Raspberry kaum weniger Leistungsaufnahme als
>> ein ordentlicher Mini-ITX-PC haben, fällt also aus.
>
> RPi 2B: 1,2W.
@5V

An 230V sind das hier schon 1,8W.

Ein kleiner NUC braucht <4W mit 100MBps Ethernet..

von Furti (Gast)


Lesenswert?

Kann der Router das nicht mitmachen? Das braucht am wenigsten 
Ressourcen.

von Horst (Gast)


Lesenswert?

Manfred schrieb:
> Habe ich Chancen, das mit einen TCP-Baustein W5500 oder ENC28J60 am
> Nano-328 umzusetzen oder wird mich der verfügbare Programmspeicher
> kneifen? Besser zu einem Mega 2560 greifen?

Das hat, wie man am Pollin NetIO oder Ulrich Radigs ETH M32 sieht, schon 
mit dem ATMega32 geklappt.
Mit Mega644, ENC28J60, einem 128x128 Pixeldisplay und SD-Karte hab ich 
schon einen Syslog-Server laufen gehabt, allerdings prä Arduino.

Arduinos gibt es schon mit Ethernet onboard und für UDP Send/Receive und 
SD-Karte sind fertige Beispiele mitgeliefert. Das sollte also nicht 
wirklich kompliziert werden.

von Manfred (Gast)


Lesenswert?

Andre schrieb:
> Ich schätze mit einem ESP32 hast du die besten Chancen! Der hat ein
> Ethernet MAC und WLAN, SPI für eine SD Karte, läuft mit 3,3V, hat
> ausreichend Leistung, ...

Am ESP vermisse ich den Ethernet-Anschluß, WLAN wird nicht benötigt.

> Wenn du den mit der Arduino IDE programmierst kannst du dir das fast
> komplett aus fertigen Libraries zusammenklicken. (Auch wenn einige Leute
> das nicht mögen, aber sooo lebenswichtig ist ein syslog-to-sdcard Dings nun auch 
nicht)

Ich habe nicht vor, alles selbst zu schreiben, dafür sind Libraries da.

-------

A. K. schrieb:
> RPi 2B: 1,2W.
> https://www.elektronik-kompendium.de/sites/raspberry-pi/1910071.htm

Da iritiert mich, dass die Raspberry-Kits immer mit 2A Netzteilen 
geliefert werden. Sollte ich mir vielleicht selbst mal angucken.

> Ein UDP Logger geht schon mit Dunkels uIP Stack, somit auch mit dem
> ATmega328 + Ethernet. Nur sollten die Daten nicht zu schnell eintrudeln.

Ich habe vor ein paar Monaten in einer anderen Anwendung heftig 
gekämpft, weil mir am Nano der Programmspeicher ausging, mit fertigen 
Libraries für I2C (Display), Meßwerterfassung INA219, AD-Wandler und 
SD-Karte und will das ungerne nochmal erleben.

-------

Horst schrieb:
> Arduinos gibt es schon mit Ethernet onboard und für UDP Send/Receive und
> SD-Karte sind fertige Beispiele mitgeliefert.

Mit der SD-Library kann ich umgehen, läuft hier in zwei Geräten. Arduino 
mit Ethernet onboard sind mir beim Chinamann noch nicht begegnet. Ich 
habe keine Angst, ein paar Module auf der Lochrasterkarte zu verdrahten, 
Hardware kann ich besser als Software.

-------

Generelle Frage: Wo liegt der Unterschied, ENC28J60 oder W5500 zu 
verwenden? Hat jemand Erfahrung mit dem Platzbedarf deren Libraries?

von (prx) A. K. (prx)


Lesenswert?

Manfred schrieb:
> Da iritiert mich, dass die Raspberry-Kits immer mit 2A Netzteilen
> geliefert werden. Sollte ich mir vielleicht selbst mal angucken.

Der Spitzenstrom mit angeschlossenem Display, Kamera, maximaler Last an 
USB und voller CPU-Last unterscheidet sich erheblich vom Ruhestrom mit 
lediglich Ethernet. Das Netzteil muss den Spitzenstrom abkönnen, der 
Stromzähler kriegt in dieser Anwendung aber praktisch nur den Ruhestrom 
zu sehen.

: Bearbeitet durch User
von (prx) A. K. (prx)


Lesenswert?

Manfred schrieb:
> Ich habe vor ein paar Monaten in einer anderen Anwendung heftig
> gekämpft, weil mir am Nano der Programmspeicher ausging, mit fertigen
> Libraries für I2C (Display), Meßwerterfassung INA219, AD-Wandler und
> SD-Karte und will das ungerne nochmal erleben.

Ich habe eine Datalogger-Anwendung auf einem Mega32 laufen, mit 
ENC28J60, Dataflash, FRAM, I2C-Slave und uIP Stack mit UDP, TCP und 
simpler Webseite. Leidlich voll, passt aber.

Nur würde ich das heute nicht mehr damit machen. Das war 2007. Heute 
würde das ein RasPi. Viel einfacher und flexibler.

Wirklich sparsam ist der ENC übrigens nicht, der heizt mit 120mA 
deutlich. Damit liegt er aber immer noch unter den 180mA eines W5300. 
Ethernet-PHY kostet halt. Auch der RasPi 2B braucht gemäss obiger Quelle 
200mW nur fürs Ethernet.

: Bearbeitet durch User
von Manfred (Gast)


Angehängte Dateien:

Lesenswert?

A. K. schrieb:
> Ich habe eine Datalogger-Anwendung auf einem Mega32 laufen, mit
> ENC28J60, Dataflash, FRAM, I2C-Slave und uIP Stack mit UDP, TCP und
> simpler Webseite. Leidlich voll, passt aber.

Heute kam Post aus Fernost, über Aliexpress vom Händler 'Advanced Tech'. 
Wie ich den bereits kenne, ordentlich verarbeitet und sachgerecht 
verpackt: Zweimal 28J60 (á 2,25€) und zwei Nanos (á 1,72€) für den 
Lagerbestand.

Hier fliegt noch ein Uno rum, damit habe ich einen Testaufbau auf ein 
Stück Pappe genäht. Grundsätzlich bewegt sich mit fertigem Sketch etwas 
am Ethernet, aber mit 30% Programmspeicher und 46% dynamischem Speicher 
nicht ganz bescheiden, da möchte ja noch einiges mehr dran. Die 
gefundenen Examples sehen nicht so aus, dass sie ohne massive Nacharbeit 
zum Ziel führen könnten, das wird zeitlich aufwendig.

> Wirklich sparsam ist der ENC übrigens nicht, der heizt mit 120mA
> deutlich.

Oops, ja wirklich: Mein Testaufbau gönnt sich 175mA aus dem USB.

von Manfred (Gast)


Lesenswert?

Inzwischen habe ich einen fertigen Aufbau mit A*-Nano auf 
Lochrasterplatte im Gehäuse und bin dem Wahnsinn nahe: Ich bekomme per 
serial.print die erwarteten UDP-Daten zu sehen oder ich kann auf meine 
SD-Karte schreiben.

Sobald ich aber die EtherCard.h einbinde, vorbei: Die SD-Karte wird 
erkannt, falls das Logfile.txt nicht da ist, wird es angelegt, aber es 
werden keinerlei Daten in die Datei geschrieben.

Einen Hardwarefehler will ich ausschließen, das klemmt auch, wenn nur 
das SD-Modul angeschlossen ist und ich nur die Ethercard initialisiere.

Die Internetsuche zeigt jede Menge Fundstellen, wo SD und Ethernet 
kollidieren, aber (noch?) keine greifbare Lösung.

Verdammter Bastelkram :-(

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.