Forum: Mikrocontroller und Digitale Elektronik Transparente Datenbrücke(n) mit ESP8266 in Mesh?


von Alex W. (Gast)


Lesenswert?

Hallo,

ich habe eine Frage an die ESPler, da ich keine passende Antwort 
gefunden habe. Lediglich die wifi2serial-bridge hat ein interessanten 
Ansatz.

Was ich genau suche wär eine Firmware für den ESP das man über einen 
GPIO in den Transparentmode schalten kann, im nicht Transparent-Mode 
kann dann ein uC z.B. über die AT-Befehle den ESP konfigurieren.

Warum ich sowas suche? Ich möchte einen kleinen uC einsetzen für kleine 
Sensoren, welche dann vom uC in einen einfachen seriellen Strom 
ausgesendet wird (Sensoren bestehen bereits).

Hat jemand eine Empfehlung?

von Peter (Gast)


Lesenswert?

Hallo,

was ist der Transparent-Mode?

Gruß Peter

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Peter schrieb:
> was ist der Transparent-Mode?

Ich vermute, daß damit eine "drahtlose" serielle Verbindung gemeint ist. 
Alles, was dem ESP8266 am einen Ende über die serielle Schnittstelle 
'reingestopft wird, soll am anderen Ende genauso wieder rausfallen und 
umgekehrt.

Modems (die auch mit dem AT-Befehlssatz gesteuert wurden) verhielten 
sich nach dem Aufbau einer Verbindung genau so.

Das Projekt "esp-link" dürfte die eine Hälfte der Angelegenheit sein:

https://github.com/jeelabs/esp-link

von Alex W. (Gast)


Lesenswert?

Danke Rufus, das schaue ich mir mal an!

Transparentmode: das Modul nimmt Daten seriell am Eingang auf uns sendet 
es so als Paket ins Netzwerk. Ich habe die Hoffnung das esp-link keine 
punkt-zu-punkt Verbindung ist sonder punkt-zu-mehrpunkt!

Was mich halt stört ist die AT-Kommandoeinheit welche beim 
Datenversenden trotzdem angewendet werden muss. Diesen Overhead möchte 
ich vermeiden, weil der Sensor den ich verwende dadurch direkt 
angeschlossen werden kann. Mit AT-Command müsste ich erst ein Übersetzer 
einbauen.

von Micha M. (bavilo)


Lesenswert?

War es diese die du verwendet hast?

https://github.com/jeelabs/esp-link


Die benutze ich auch und funktioniert dafür perfekt.

von Alex W. (Gast)


Lesenswert?

Michael W. schrieb:
> War es diese die du verwendet hast?
>
> https://github.com/jeelabs/esp-link
>
> Die benutze ich auch und funktioniert dafür perfekt.

Ja, ich hab die 2.2.3 genommen. Bekomme aber nach den Reset :

   291> Flash config restore FAILED

und die WebSite geht zwar auf, aber ich kann keine Einstellungen ändern.

von Micha M. (bavilo)


Lesenswert?

Probier mal 3.0.14.

von Alex W. (Gast)


Lesenswert?

Michael W. schrieb:
> Probier mal 3.0.14.

Selbes Problem!

Auch kann ich die Website nicht richtig öffnen! Bei "System overwiev" 
kommt nur ein Ladekreis

von Alex W. (Gast)


Lesenswert?

Interessant: ich habe es nun vom PC probiert, da kann ich die WebSite 
verwenden. Vom Smartphone geht es nicht :-/

EDIT: Ich Depp :-O am Smartphone war Javascript abgeschaltet. Nach 
hinzufügen einer Ausnahme für diese Adresse geht es jetzt auch.

So, jetzt läuft das Teil soweit. Nun kann ich mich mal langsam drann 
aufmachen dort zu testen!

von Alex W. (Gast)


Lesenswert?

So, Nachtrag:

Wenn ich mit dem ESP mich untereinander verbinde (max 4 Clients an einem 
ESP) kann ich keine serielle Daten an ALLE schicken! Ich kann nur von 
der WebSite zu einem ESP oder von diesem zur WebSite. Von ESP 1 zu ESP 2 
geht nicht.

Wenn doch, bitte um Info!

von Sascha W. (sascha-w)


Lesenswert?

Hallo,

wenn du alle Daten die an irgend einem ESP-Rx reinkommen immer an alle 
anderen ESP weiterleiten willst so dass die dort an Tx rauskommen wirst 
du wohl selbst was selber schreiben müssen.
Die Frage ist wie sicher soll die Übertragung sein?
Das einfachste wäre die seriellen Daten per UDP-Broadcast zu senden, 
dann erhalten automatisch alle verbundenen ESP das Paket und können die 
Daten seriell wieder ausgeben.
Bei UDP kann natürlich auch mal (unbemerkt) ein Paket nicht ankommen - 
kommt dein Sensor/Empfänger damit klar? Da ich bei serieller Übertragung 
der Sensoren mal davon ausgehe das diese irgend ein Protokoll verwenden 
mit dem sich Beginn und Ende einer Übertragung abgrenzen lassen, sollte 
man das auch auf dem ESP auswerten, so das genau ein Datensatz in einem 
UDP-Paket übertragen wird.
Mit TCP wirds schwieriger, denn dort müsste der Sender immer zu allen 
anderen eine eigene Verbindung aufbauen.

Sascha

von Alex W. (Gast)


Lesenswert?

Sascha W. schrieb:
> wenn du alle Daten die an irgend einem ESP-Rx reinkommen immer an alle
> anderen ESP weiterleiten willst so dass die dort an Tx rauskommen wirst
> du wohl selbst was selber schreiben müssen.

Das habe ich befürchtet! Ich bastel auch gerade an MicroPython, komme 
aber damit nicht wirklich klar und versuche daher erstmal einige 
Beispielquelltexte zu finden.

Im Grunde brauche ich nur ein Script dass von RxD die Daten an den 
UDP-Socket sendet. Und umgekehrt die UDP-Daten an die TxD rausgibt.

Hat jemand ein Beispielscript für MicroPython?

Sascha W. schrieb:
> Die Frage ist wie sicher soll die Übertragung sein?

Momentan ist für mich die Datensicherheit absolut uninteressant, da in 
dem System ich selbst auch daten verändern möchte. Zudem ist es 
abgeschottet, d.h. die ESP sind nur untereinander verbunden. Und durch 
die WPA2 mach ich mir auch keine Sorgen von Hackern. Sollte 
Verschlüsselung später nötig sein, kann man einen XMega mit AES 
davorsetzen und den Datenstrom zum ESP schon crypten.

Später möchte ich mich dann mit dem Smartphone verbinden und die Daten 
dort grafisch darstellen. Daher ist die Verschlüsselung nur auf 
WLAN-Ebene erforderlich.

Sascha W. schrieb:
> Bei UDP kann natürlich auch mal (unbemerkt) ein Paket nicht ankommen -
> kommt dein Sensor/Empfänger damit klar? Da ich bei serieller Übertragung
> der Sensoren mal davon ausgehe das diese irgend ein Protokoll verwenden
> mit dem sich Beginn und Ende einer Übertragung abgrenzen lassen, sollte
> man das auch auf dem ESP auswerten, so das genau ein Datensatz in einem
> UDP-Paket übertragen wird.

Richtig, da ich aber einen Master habe kann man das Prinzip von RS485 
machen bzw einfach vom Rx einen Ack verlangen. TCP wäre zwar 
Verbindungssicher, aber nicht Broadcastfähig.

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.