Wie schnell können zwei ESP8266 (oder ESP32) kommunizieren?

Moin,

Ich habe noch nix gemacht. Es geht erstmal um eine Vorabschätzung.

Ich möchte in ein Carrera Auto einen ESP8266 (vorzugsweise, weil er etwas kleiner als es ESP32 ist) einbauen und Beschleunigung und Drehzahl messen.
Dann sollen diese Daten an einen zweiten externen ESP senden. Das kann dann auch ruhig ein ESP32 sein.
Die maximale Entfernung sind 10m.
Wie macht man das am schnellsten mit der geringsten Latenz?
Wie schnell kriegt man das hin?
(Wenn ich die Signallaufzeit kenne kann ich abschätzen wie weit das Fahrzeug in dieser Zeit ungefähr weiterfährt).

Ich glaube es gibt da verschiedene Methoden. Mit Prüfung, ob ein Wert bzw. Datenpaket korrekt angekommen ist, oder ohne.
Mich interessieren dabei beide Varianten, da ich noch nicht abschätzen kann wie sich Fehler in der Übertragung auf mein später geplantes Projekt auswirken würden.

Beste Grüße,
Chris

Geringsten Overhead hat UDP, aber auch die geringste Sicherheit. Prinzip Fire and forget.
Evtl. solltest Du eine CRC mit einbauen.

Gruß Tommy

UDP hab ich schon vermutet, wollte es aber nicht vorweg nehmen. Die Alternative ist dann TCP?

Und was kriegt man da so für Datenraten größenordnungsmäßig hin?

Die Idee ist ein Datenlogging / Livetelemetrie. Ich möchte also live schnell auf Daten reagieren können. Das ist kein Datenlogging, dass ich nur später auslesen möchte (also schon, aber nicht nur). Das große Endziel ist ein sich selbst steuerndes, maximal schnelles Auto, aber das ist noch ein sehr langer Weg.

Beste Grüße,
Chris

"schnell"--> Google nach "ESP-NOW" (!!!)

aber nur so nebenbei, wenn das Auto eh autonom fahren soll, ist es dann nicht egal, ob du die "Telemetriedaten" in 1ms oder in 5ms auf deinem PC hast?

Sehr spannend, aber zur Geschwindigkeit finde ich nix.

Meine grobe Idee ist: Das Auto misst die Beschleunigung. Eventuell noch zusätzlich die Raddrehzahl und eventuell noch den Winkel des Leitkeils. Aber eigentlich müsste die Beschleunigung ausreichen. Das Auto kann über eine IR LED Weichen schalten. Beim Überfahren der Start/Ziel gerade wird extern die Rundenzeiten gemessen. Gas/Bremse wird von extern gegeben.

Mit den Randbedingungen kristallisiert sich jetzt die Lösungsansätze heraus.
Das Auto kann also, je nachdem wie die Weichen gestellt sind mehrere Wege zum Ziel finden pro Runde. Die Runde fängt immer mit Überfahrt von Start/Ziel an und endet dort. Daran will ich mich orientieren. Mit dem Beschleunigungssensor will ich für jeden Pfad messen wie die höchste Beschleunigung ist bevor das Auto aus dem Slot fliegt. Das Auto muss also ein paar Runden lernen wo die Kurven und Weichen sind und wie schnell man da überall fahren kann. Und daraus ergeben sich dann pro Pfad Gas/Bremskurven.
.....so ungefähr stell ich mir das vor

Theoretisch wird das Auto so unbesiegbar. Praktisch aber wohl nicht, denn es wird leichtere Autos geben und die Reifen spielen ein extrem große Rolle wie schnell man fahren kann. So kann man also immernoch gegen das Fahrzeug gewinnen, je nachdem welche Reifen man aufzieht.

themanfrommoon:
Ich möchte in ein Carrera Auto einen ESP8266 ...

Da denke ich zunächst an Störungen, weil in meiner Kindheit Streifen auf dem Fernseher zu sehen waren, wenn ich mich richtig erinnere. Eine Validierung und eine Statistik dazu würde ich auf jeden Fall einer umfangreichen Programmierung vorschalten.

Hmm, da ist mein letzter Post wohl verloren gegangen?!

Gegen die Störungen und Spannungsunterbrechungen durch die Weichen muss wohl ein GoldCap und vielleicht noch ein Elko und ein paar kleine Keramikkondensatoren helfen. Das würde ich einfach mal austesten. Tut ja keinem weh, wenn es nicht funktioniert.

Aber noch ne andere Geschichte. Weiss jemand ein ESP Board mit onboard Beschleunigungssensor? Ich möchte ungern zwei breakout Boards verdrahten, weil das dann zu groß wird. Sowas gibts doch sicher fertig. Gibts irgendwo eine Übersicht? Andreas Spiess könnte ich sicher auch fragen, der hat ja vieeeele verschiedene Boards in den Fingern gehabt.
Oder hat hier vielleicht jemand eine kompakte Idee?

Beste Grüße,
Chris

themanfrommoon:
Weiss jemand ein ESP Board mit onboard Beschleunigungssensor?

Ich schau bei solchen Fragen meist hier: http://esp32.net/
Allerdings scheint es nicht allzu viele zu geben.
ESP32_SNOW (Website ist aber anscheinend nicht erreichbar)
M5Stack (zu groß für deine Anwendung)

Im Alter die Probleme der Kindheit lösen...
Gefällt mir :slight_smile:

Aber ich sehe die Lösung anders.

Die optimale Strecke herauszufinden ist eher eine rein logische Sache für den Fahrer:
Innenbahn == kürzester Weg
Größerer Kurvenradius == höhere Geschwindigkeit
Wechsel der Bahn == kostet Zeit

Nun müssen ein paar Konstanten vorab (durch testen) definiert werden:

  • Grip
  • Beschleunigung
  • Verzögerung

Den Gyro halte ich für überflüssig, wenn Du den Winkel & die Geschwindigkeit hast. Dass die Reifen abbauen und Deine Konstante versagt, wird auch der Gyro nicht retten können. Das muss die Erfahrung lösen!

Dann brauchen wir den Winkel des Schlittens und die aktuelle Geschwindigkeit aus der Sensorik. Durch einmaliges Abfahren der "optimalen" Strecke, werden die Standorte und Winkel der Kurven abgespeichert, sowie die Weichen.
Nun muss Hirnschmalz her und diese Informationen verknüpft werden! Was wäre die rein rechnerisch maximale Geschwindigkeit für den Winkel der Kurve? Wie viel Verzögerung brauchen wir, damit man nicht zu schnell in die Kurve schießt?

Die Übermittlung an einen weiteren ESP sehe ich nur für eine spätere Auswertung. Start/Stopp/Clear für die Aufzeichnung, Abspielen und ggf. verschiedene Routen.

Die Latenz zu verwenden sehe ich als schwierig an! Durch Zeit & Geschwindigkeit (+ Kurvenwinkel) kannst Du sicherlich die Position auf der Strecke besser bestimmen als über eine Latenz, die im Zweifel dank Streckenführung mehrfach überschneiden wird.

Wenn nötig, fährst Du alle möglichen Weichenstellungen einmal ab und der ESP verrät Dir den optimalen Weg.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.