INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 1 Bewertungen - 4 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Nodemcu wie benutzen?
26.01.2017, 17:17
Beitrag #33
RE: Nodemcu wie benutzen?
Das schau ich mir bei nächster Gelegenheit mal im rauen Feldeinsatz anSmile

Besten Dank!!!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.02.2017, 18:08
Beitrag #34
RE: Nodemcu wie benutzen?
Ich bin zwar grad unterwegs, aber will mich trotzdem nochmal melden.
Wenn ich direkt an der Sache bin vergesse ich das blöderweise immer und jetzt hab ich Zeit dafürWink

Ich hab mit UDP sehr gute Ergebnisse erzielt!

Der eine ESP macht den AP auf
Der andere klinkt sich dort ein.

Udp Paket starten
UDP Byte senden
UDP Paket schließen

Beide Seiten können senden und empfangen

UDP funktionierte bei mir aber nur, wenn ich die IP Adresse als Ziel angebe.
Deswegen hatte ich massive Probleme, damit was auf die Beine zu stellen.

Will man eine INT oder LONG Variable übertragen, muss man dies wohl in mehreren Schritten machen.
Ich glaube nicht, das es auf Anhieb klappt, vermutlich muss man die 2 oder 4 Bytes erst zerlegen und Byte für Byte in dem Paket unterbringen.

Auf jeden Fall reichen 3 Zeilen Code zum Senden und auf Empfängerseite sieht es ähnlich aus.

Ob die IP Adressen, die ich jetzt im Sketch festlege auch später zur Laufzeit stimmen, weis ich nicht.
Kann ja durchaus sein, das der AP dem Clienten mal ne andere IP zuweist...
dann ist natürlich Funkstille

Vielleicht schaff ich es am WE, einen kurzen Beispiel Sketch hier anzuhängen.

Bis dahin schaut doch mal die Beispiele in der IDE durch...

Binatone
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.02.2017, 18:54 (Dieser Beitrag wurde zuletzt bearbeitet: 03.02.2017 19:39 von Tommy56.)
Beitrag #35
RE: Nodemcu wie benutzen?
(03.02.2017 18:08)Binatone schrieb:  Will man eine INT oder LONG Variable übertragen, muss man dies wohl in mehreren Schritten machen.
Ich glaube nicht, das es auf Anhieb klappt, vermutlich muss man die 2 oder 4 Bytes erst zerlegen und Byte für Byte in dem Paket unterbringen.
Das Senden mehrerer Bytes funktioniert. Ich hatte das in dem Beispiel in #32 schon mit drin.
Code:
char antwort[10];
...
Udp.beginPacket(Udp.remoteIP(), Udp.remotePort());
Udp.write(antwort, alen);
Udp.endPacket();

// für float geht es so:
float val;
Udp.beginPacket(Udp.remoteIP(), Udp.remotePort());
Udp.write(val, sizeof(val));
Udp.endPacket();

Evtl. könnte man auch wieder so ein Konstrukt wie beim FRAM bauen.

Die IP scheinen ziemlich stabil vergeben zu werden. Es wird ja kein großes Netz, sondern es werden meistens 2 Teilnehmer sein.

Gruß Tommy

Ergänzung: Du kannst auch den NodeMCU eine feste IP zuweisen.
Ungetestet, nur im Netz recherchiert.
Code:
// beim AP
IPAddress ip(192,168,4,1);
IPAddress gateway(192,168,4,1);
IPAddress subnet(255,255,255,0);
  boolean result = WiFi.softAP(ssid, password);
  if(result == true)
  {
    WiFi.config(ip, gateway, subnet);
    Serial.println("Ready");
    Udp.begin(port);
  }


// beim Slave
IPAddress ip(192,168,4,10);
IPAddress gateway(192,168,4,1);
IPAddress subnet(255,255,255,0);
(...)
WiFi.begin(ssid, password);
WiFi.config(ip, gateway, subnet);

Damit umgehst Du das genannte Problem.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.02.2017, 09:21
Beitrag #36
RE: Nodemcu wie benutzen?
Ahhh super!
Also MehrByte Variablen sind demnach überhaupt kein Problem!
Herrlich!

Zu der IP Adresse
Der AP vergibt doch die IP, oder hab ich das falsch verstanden?

Deinem Code nach meldet sich der Client beim AP und schlägt von sich aus eine IP Adresse vor, die der AP dann verwendet?

Diese Vorgeschlagene IP sollte dann wohl in einem Bereich liegen, der weit weg von
192.168.4.1 liegt, also z.B. 192.168.4. 20

Sonst könnte es ja sein, das der AP bereits die IP für einen anderen Clienten verwendet.

Ist die IP frei, sollte das wohl laufen...


Bleibt nur noch zu erwähnen, das der Empfänger immer schneller arbeiten muss als der Sender, weil sonst Informationen verloren gehen.

Binatone
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.02.2017, 13:52
Beitrag #37
RE: Nodemcu wie benutzen?
(04.02.2017 09:21)Binatone schrieb:  Ahhh super!
Also MehrByte Variablen sind demnach überhaupt kein Problem!
Herrlich!

Zu der IP Adresse
Der AP vergibt doch die IP, oder hab ich das falsch verstanden?

Deinem Code nach meldet sich der Client beim AP und schlägt von sich aus eine IP Adresse vor, die der AP dann verwendet?

Diese Vorgeschlagene IP sollte dann wohl in einem Bereich liegen, der weit weg von
192.168.4.1 liegt, also z.B. 192.168.4. 20

Sonst könnte es ja sein, das der AP bereits die IP für einen anderen Clienten verwendet.

Ist die IP frei, sollte das wohl laufen...


Bleibt nur noch zu erwähnen, das der Empfänger immer schneller arbeiten muss als der Sender, weil sonst Informationen verloren gehen.

Binatone
So, wie ich das verstanden habe, schlägt er die IP nicht vor, sondern benutzt sie einfach. Ja, so ab .20 sollte gehen.

Den Datenverlust bzw. Fehler zu erkennen ist bei UDP Aufgabe des darüber liegenden Protokolls, also Prüfsummen, Längenangaben, oder ignorieren.
Das kommt auch etwas darauf an, wie komplex das Protokoll werden soll. Bei den paar Varianten meines Beispielprotokolls ist das noch ziemlich übersichtlich. Bei sehr variablen Längen wird man um 2 Byte Längeninfo nicht rum kommen. also:
Kennbyte, 2 Byte unsigned int Länge der Nutzinfo, Nutzinfo.
Damit kannst Du dann auch erkennen, ob schon alles da ist.
Der UDP-Puffer ist standardmäßig 8192 Byte.
Der Empfänger muss nicht schneller sein, das macht die IP-Schicht.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  NodeMCU steuert UNO/NANO über I2C Tommy56 7 1.343 11.02.2017 15:30
Letzter Beitrag: Binatone
  NodeMCU + RemoteXY.com Binatone 2 941 06.01.2017 15:49
Letzter Beitrag: Binatone

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste