Forum: Mikrocontroller und Digitale Elektronik Daten von ESP32 an Fritzbox senden (mit FTP)


von Dieter K. (dieter_k739)


Lesenswert?

Hallo an alle

ich bin gerade eher zufällig auf diesen Beitrag gestoßen: 
Beitrag "Daten von ESP32 an Fritzbox senden - FTP oder SMB?" und sehe hier ein
vergleichbares Projekt zu meinem aktuellen Projekt und einen Teil meiner
Probleme beschrieben. Da besagter Beitrag zu alt ist, folge ich der 
Empfehlung, einen neuen Beitrag zu erstellen.

Ich bin dabei, mit einem ESP32 Modul (Arduino IDE) einen Datenlogger zu
entwickeln, der seine Messwerte periodisch an einen FTP Server
übermittelt.
Das Ganze funktioniert seit einigen Wochen ganz ordentlich, jedoch nicht
ganz so, wie ich es mir vorgestellt hatte: leider ist es mir bisher
nicht gelungen, die Daten per FTP auf meiner Fritzbox 7590 abzulegen.
Ich musste auf einen anderen FTP-Server umsteigen und benutze derzeit
meinen Webspace bei einem deutschen Provider. Natürlich wäre mir sehr
viel lieber, wenn ich meine Datenpakete im Hausnetz halten könnte, aber
dafür müsste ich ein weiteres Gerät permanent am Laufen halten, was ich
aus diversen Gründen nicht möchte. Die Fritzbox ist ohnehin da und
permanent aktiv. Nur leider funktioniert sie nicht, wie sie soll und
nach wie vor habe ich keine Lösung.
Es ist übrigens keinerlei Problem, so wie weiter oben schon
vorgeschlagen, per FTP weitere Daten an eine vorhandene Datei anzuhängen
(APPE). In meinem Projekt wird alle 12 Stunden eine neue Datei angelegt.

Nun habe ich die Frage, ob es schon jemandem gelungen ist, per FTP Daten 
aus einem ESP32 Modul in eine Datei auf dem NAS einer Fritzbox zu 
schreiben und falls ja, wie man die Fritzbox dazu bringt, das zu 
ermöglichen?

Vielen Dank
Dieter

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Was passiert denn, wenn Du Dich mit einem normalen Computer mit dem NAS 
auf der Fritzbox verbinden möchtest? Funktioniert das oder führt da auch 
zu Problemen?

von Dieter K. (dieter_k739)


Lesenswert?

Mit meinem Laptop kann ich mich problemlos mit dem NAS der Fritzbox 
verbinden (mit Filezilla-FTP). Ebenso kann das ESP32 Modul mit den FTP 
Servern auf meinem Webspace oder auf anderen PCs in unserem Hausnetz 
zugreifen. Einzig die Kombination ESP-Modul <--> Fritzbox-NAS via FTP 
geht nicht. Das Ganze läuft übrigens unverschlüsselt ab.
Heute habe ich außerdem den FTP-Zugriff auf eine andere Fritzbox (7390) 
getestet: identisches Problem! Außerdem habe ich einen Test mit einer 
anderen ESP32-FTP-Library gemacht: auch hier das identische Problem. Für 
mich sieht es so aus, als ob es eine Inkompatibilität zwischen den 
ESP-Modulen und den Fritzboxen gibt, die andere FTP Clients bzw. Server 
ignorieren.

: Bearbeitet durch User
von Motopick (motopick)


Lesenswert?

Du koenntest es einmal mit ein Modeumschaltung "ACTIVE/PASSIVE"
probieren. Wie das in deiner Library geht, musst du selbst herausfinden.
Ob die FBox das unterstuetzt, kannst du mit einem PC FTP-Client
leicht herausfinden. Der Befehl ist "remotehelp".
Da sollte dann z.B. ein "PASV" in der Liste auftauchen.

von N. M. (mani)


Lesenswert?

Ansonsten geh halt Mal auf die Capture Seite deiner Fritzbox und 
schneide den Traffic in beiden Fällen mit.
Dann sollte man schnell den Unterschied rausfinden.

von Dieter K. (dieter_k739)


Lesenswert?

Damit habe ich mich schon einige Zeit beschäftigt. Leider schneidet die 
Fritzbox nur den Verkehr nach außen (WAN) mit, die FTP Zugriffe auf das 
NAS sind nicht im Datenstrom enthalten. Nun suche ich noch nach einer 
Lösung, wie ich den Datenverkehr zwischen desm ESP32 und der Fritzbox 
mitschneiden könnte. Das scheint nur direkt auf einer Leitung zwischen 
dem ESP und der Fritzbox zu gehen. Alle Switches dazwischen scheinen die 
ESP Pakete abzublocken.
Ich habe zwischen dem ESP32 und der Master-Fritzbox noch eine ältere 
Fritzbox (7390), doch da die im AP-Modus betrieben wird, zeichnet sie 
keinen IP Traffic auf. Auch Versuche, den internen Datenverkehr durch 
einen Laptop zu leiten, waren bisher nicht erfolgreich. Nun möchte ich 
noch einen Versuch mit einem Laptop und der SW 'MyPublicWiFi' und einem 
Wireshark machen. Allerdings wird das noch etwas dauern. Habt Ihr noch 
eine andere idee?

@Motopick: Dann versuche ich auch zwischen Active/Passive umzuschalten. 
Bisher wird alles im FTP Passive Mode gemacht. Da muss ich erst 
rausbekommen, wie das bei der verwendeten ESP-FTP-Lib 
<FTPClient_Generic.h> geht.

Danke,
Dieter

von Rahul D. (rahul)


Lesenswert?

Dieter K. schrieb:
> Nun suche ich noch nach einer
> Lösung, wie ich den Datenverkehr zwischen desm ESP32 und der Fritzbox
> mitschneiden könnte.

Macht wireshark nicht genau das?
https://www.wireshark.org/docs/wsug_html_chunked/ChapterCapture.html

Ich habe damit noch nie gearbeitert, sondern immer nur was darüber 
gelesen.

von N. M. (mani)


Angehängte Dateien:

Lesenswert?

Dieter K. schrieb:
> Leider schneidet die
> Fritzbox nur den Verkehr nach außen (WAN) mit

Also ich kann da auswählen was ich haben möchte (siehe Bild).

Dieter K. schrieb:
> Nun suche ich noch nach einer
> Lösung, wie ich den Datenverkehr zwischen desm ESP32 und der Fritzbox
> mitschneiden könnte

Sollte es bei deiner FritzBox nicht gehen mach halt einen AP dazwischen. 
Dann kommt es über LAN in die FB.

von Εrnst B. (ernst)


Lesenswert?

Bevor man da mit Wireshark und extra-Hardware dazwischen drangeht:

Einfach mal von Hand testen. FTP ist ein altes, textbasiertes Protokoll. 
Das kann man wunderbar mit dem telnet-client testen.

Also: Zwei Konsolen-Fenster aufmachen.
Im ersten:

telnet fritz.box 21
USER Username
PASS Password
HELP
PASV
APPE example.csv

--> Meldet per "Entering Passive Mode" wohin du verbinden sollst.
Die angegebene IP wird die der Fritz-Box sein, Portnummer ist 
interessant, sind die letzten beiden Zahlen (vorletzte mal 256+letzte)
Damit in der zweiten Konsole noch eine Telnet-Session aufmachen.
Alles was du da tippst, wird an example.csv angehängt.

Wenn das so "von Hand" funktioniert: Fritzbox ist nicht schuld, es ist 
deine FTP-Implementation auf dem ESP. Dort weitersuchen.

von Roland S. (roschmi)


Lesenswert?

Den Vorschlag von @mani habe ich mal verwendet, um den Netzwerkverkehr 
zwischen z.B. ESP32 über einen auf dem PC laufenden Access Point 
umzuleiten. Dann sollte man den Netzwerkverkehr zwischen dem PC und der 
Fritzbox mit Wireshark mitschneiden können.

Windows 10: Hotspot einrichten
https://www.giga.de/downloads/virtual-router/tipps/laptop-als-hotspot-einrichten-so-gehts/

Enter:
netsh wlan show drivers
If a usable WLAN Adapter is connected you see the properties.
Create a WLAN Accesspoint on your PC:
netsh wlan set hostednetwork mode=allow ssid=VirtualWiFi key=xxxxxxxxxx 
keyUsage=persistent
Start the Accesspoint:
netsh wlan start hostednetwork

Dann:
Aktuell genutzten Netzwerkadapter auf Teilen der Internetverbindung 
einstellen
Falls Schwierigkeiten aufkommen, könnte ich noch eine hausgemachte 
Anleitung mit möglichen pitfalls zur Verfügung stellen.

Ich selbst bin dazu übergegangen, meine Sensordaten auf Azure Storage 
Tables zu speichern, das funktioniert gut und ist preiswert.

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.