Forum: Mikrocontroller und Digitale Elektronik ESP32 Daten per Wifi senden und mit Python auslesen


von Peachlii (Gast)


Lesenswert?

Hallo Zusammen,

ich habe mir einen Datenlogger gebastelt und würde nun gerne das Ganze 
ein wenig erweitern.
Mir ist es nicht wichtig über den genauen Code zu sprechen, sondern 
einen Ansatz herauszuarbeiten mit dem ich mein Vorhaben umsetzen kann.

Ich würde gerne die Daten nun nicht mehr per serieller Schnittstelle 
also Serial.Print übermitteln, sondern per Wi-Fi, Bluetooth oder 
sonstiger drahtloser Quelle.

Wie sende ich die Daten per Wifi und wie kann ich diesem Datenstrom in 
Echtzeit von einem Laptop mit Python auslesen, bzw. wäre dies auch per 
Smartphone zusätzlich möglich, ohne vorgefertigte Frameworks wie Blynk?

Falls kein Router zur Verfügung steht, welche Methode eignet sich am 
besten, um diese Daten über eine möglichst große Entfernung (100-300 m) 
zu übertragen?

Ist es auf die gleiche Art möglich z.B. eine ganze CSV-Datei zu 
verschicken, welche auf einer SD-Karte vom ESP32 gespeichert wurde?

Danke schon einmal!

von B. W. (yesitsme)


Lesenswert?

Du hast denke ich du hast da verchiedene Möglichkeiten per Wifi die 
Daten zu übertragen:

1. Der ESP macht selber einen Accesspoint auf
2. Der ESP verbindet sich mit einem vorhandenen Wlan

A. Der ESP nimmt die Serverrolle ein und stellt einen z.B. HTTP-Server 
zur Verfügung
B. Der ESP nimmt die Clientrolle ein und versucht die Daten irgewndwo 
hochzuladen

Einen CSV-Datei kannst du mit allen Varianten übertragen. Welche passt 
am besten in dein Konzept?

von Peachlii (Gast)


Lesenswert?

Hallo B.W.

Ich wusste gar nicht, dass ein ESP32 einen eigenen Accesspoint aufmachen 
kann. Bedeutet dies, dass ich mich z.B. mit meinem Laptop direkt per 
W-Lan mit dem ESP32 verbinden kann?

Klingt beides sehr interessant. Falls das mit dem Access Point so ist 
wie ich vermute, dann würde ich das sogar bevorzugen.
Sagen wir der ESP32 bekommt vom Sensor kontinuierlich Daten und fungiert 
als Server.

Mit welcher Libary kann ich grundsätzlich den ESP32 selbst als Server 
einrichten und Daten bereitstellen? Und mit welcher Methode könnte ich 
dann per Python z.B. die Daten, welche mir der ESP zur Verfügung stellt, 
einlesen?

von Torsten (Gast)


Lesenswert?

Korrekt. Du kannst dich mit dem Laptop dann direkt verbinden. Ich habe 
zB schon Projekte gemacht, da versucht sich der ESP zu einem WLAN zu 
verbinden. Scheitert das, so baut er nach x Sekunden einen eigenen 
Access-Point auf. Auf den kannst du dich dann verbinden. Grundsätzlich 
klingt das erstmal gut, aber man darf auch nicht vergessen: Wenn du da 
mit dem Laptop drauf gehst, dann hast du in dem Moment keine Verbindung 
mehr in dein restliches Netzwerk bzw. zum Internet.

Also die einfachtse Möglichkeit ist vermutlich, wenn du zB einen 
Webserver aufmachst auf dem ESP mit z.B. einer komma-separierten Anzeige 
der Werte. Das kann man sehr einfach aufrufen und ausparsen. Für weitere 
Infos fütterst du vielleicht einfach mal die Suchmaschine deines 
Vertrauens zB mit: "esp32 http server arduino".

Was ich persönlich ja recht schick finde und ggf auch was für dich sein 
könnte, sofern du lokal z.B. einen Raspberry Pi laufen hast: MQTT. Dazu 
brauchst du halt einen MQTT-Broker - der kann z.b. auf dem Raspi dann 
laufen. Darüber kann man dann shcön strukturiert Daten austauschen.

von Stefan F. (Gast)


Lesenswert?

Für deine 100-300 musst du entsprechende Funkmodule raus suchen. Nicht 
alle darf man frei (ohne entsprechende Lizenz) benutzen.

Aber solche Funkstrecken stabil zu bekommen, ist eine Kunst für sich. Da 
du ohnehin schon bei WLAN bist, würde ich hier eher auf WLAN 
Richtfunkstrecken setzen, die kann man fertig kaufen.

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.