Forum: Mikrocontroller und Digitale Elektronik ESP01S: TCP Server und UDP Multicast


von Bot N. (botnec)


Lesenswert?

Hallo,

ich habe mehrere ESP01S im Einsatz und möchte eine Erweiterung
einführen, bin aber nicht sicher ob das funktioniert.

Bisher betreibe ich die WiFi Module einfach via TCP Server(CIPSERVER).
Das alles via AT+ Kommandos mit kleinen MSP430. Klappt soweit 
einwandfrei.

Mittlerweile habe ich im lokalen Netzwerk mehrere Geräte die sich
mittels Multicast miteinander unterhalten. Es wäre schön, wenn ich
mit den ESP01S einige dieser Datensätze mit verwenden könnte.

Bin quasi Neuling mit dem ESP01S und habe jetzt folgende Frage:
könnte der ESP01S meinen TCP Server bedienen wie bis jetzt, aber
gleichzeitig auf einem anderen Port UDP Multicast Message mitlesen?

Danke für sachdienliche Hinweise.

von Obelix X. (obelix)


Lesenswert?

Auf dem ESP01S Modul sitzt ein ESP8266. Also gib mal bei Google "ESP8266 
UDP Example" ein.

Bot N. schrieb:
> Bisher betreibe ich die WiFi Module einfach via TCP Server(CIPSERVER).
> Das alles via AT+ Kommandos mit kleinen MSP430. Klappt soweit
> einwandfrei.

Schmeiß den MSP430 raus und programmiere den ESP direkt.

von Bot N. (botnec)


Lesenswert?

Zeig mir mal bei Google wo man da was über Multicast beim
ESP8266 mit AT-Kommandos findet, was funktioniert!!!

Ich werde nicht auf den MSP430 verzichten , da ich so viel
HW und SW dazu habe die für mich ideal arbeitet!

: Bearbeitet durch User
von Rahul D. (rahul)


Lesenswert?

Bot N. schrieb:
> Zeig mir mal bei Google wo man da was über Multicast beim
> ESP8266 mit AT-Kommandos findet, was funktioniert!!!

Ich weiß nicht, ob es funktioniert, aber es kommt vom 
Controller-Hersteller:
https://www.espressif.com/sites/default/files/4b-esp8266_at_command_examples_en_v1.3.pdf

: Bearbeitet durch User
von Sebastian W. (wangnick)


Lesenswert?

Rahul D. schrieb:
> Bot N. schrieb:
>> Zeig mir mal bei Google wo man da was über Multicast beim
>> ESP8266 mit AT-Kommandos findet, was funktioniert!!!
>
> Ich weiß nicht, ob es funktioniert, aber es kommt vom
> Controller-Hersteller:
> 
https://www.espressif.com/sites/default/files/4b-esp8266_at_command_examples_en_v1.3.pdf

Rahul, in dem von dir verlinkten Espressiv-Dokument ist UDP Multicast 
allerdings nicht erwähnt ...

LG, Sebastian

von Rahul D. (rahul)


Lesenswert?

Sebastian W. schrieb:
> Rahul, in dem von dir verlinkten Espressiv-Dokument ist UDP Multicast
> allerdings nicht erwähnt ...

Multicast ist doch nichts anderes als ein Broadcast in die eine Richtung 
und eine Peer-to-peer in die andere.

von Bot N. (botnec)


Lesenswert?

Danke für die Rückmeldungen.
Wenn es so einfach wäre.

Die Dokumente kenne ich alle.

Bin kein Experte aber meine Experimente mit dem ESP01S zeigen,
dass einfaches UDP sicher kein Problem ist, aber Multicast scheint
anscheinend doch etwas komplizierter zu sein. Im Moment suche
ich nach einer Möglichkeit "to Join the Multicast group" mit
AT Commandos meiner AT-FW (1.7.5) zu bewerkstelligen. Irgendwie muss
man wohl eine IGMPv2 "Membership report message" schicken
um an der Multicast Gruppe teilzunehmen.

: Bearbeitet durch User
von Klaus S. (kseege)


Lesenswert?

Bot N. schrieb:
> Irgendwie muss
> man wohl eine IGMPv2 "Membership report message" schicken
> um an der Multicast Gruppe teilzunehmen.

Ich bin ebenfalls kein kein großartiger Experte auf diesem Gebiet, aber 
so wie ich Multicast bisher verstanden habe, ist die "Membership report 
message" nur für die Router  auf dem Wege bis zu den Sendern wichtig, 
damit sie die Pakete weiterleiten und nicht verwerfen. Die Sender von 
Multicastmessages haben ja keine Ahnung davon, wer alles diese Pakete 
empfängt, die senden blind an eine Port/Class-D-Adress-Kombi. Da aber 
die  Teilnehmer alle innerhalb Deines Subnetzes liegen und kein Router 
durchquert werden muß, braucht es m.M.n diese Anmeldung nicht. Es muß 
lediglich ein UDP-Socket auf dem benutzten Port und der benutzten 
Class-D-Adresse aufgemacht werden. Dafür gibt es wohl auch Protokolle, 
aber ein wiresharc-mitschnitt  sollte die ebenso sichtbar machen.
(Mein Stand des Wissens ohne jede Garantie)

Gruß Klaus (der soundsovielte)

von Bot N. (botnec)


Lesenswert?

Danke für den Hinweis, dann brauche ich in diese Richtung
nicht weiter zu suchen. Hatte nur in Wireshark besagte Message
gelegentlich von meinem PC als Sender gesehen.

Irgendwie klappt es aber nicht mit dem passenden Setup beim
ESP01S. Irgendwie sehe ich schon was multicastmäßiges, aber
das ist eben nur eine Teil dessen was man sehen müsste. Da
gibt auch für mich Wireshark nicht viel mehr her.

Vermute immer mehr, dass die AT-FW das doch nicht unterstützt.
Werde mich mal bei AI-Thinker erkundigen.

von Stefan F. (Gast)


Lesenswert?

Als ich vor ein paar Jahren Multicast probiert habe ging es auf dem 
ESP8266 nicht. Weder mit der AT Firmware noch mit Arduino.

Inzwischen gibt es jedoch einige Arduino Beispiel Sketche im Netz, die 
angeblich funktionieren.

Vielleicht musst du dich von der AT Firmware lösen oder zu einem ESP32 
wechseln.

von Bot N. (botnec)


Lesenswert?

Stefan F. schrieb:
> Als ich vor ein paar Jahren Multicast probiert habe ging es auf dem
> ESP8266 nicht. Weder mit der AT Firmware noch mit Arduino.

Das wäre wirklich schade!

Will aber im Moment noch nicht aufgeben. Zumal ich vielleicht nahe
dran bin. Die Multicast Message die ich beim ESP01S sehe,ist die
gleiche die ich auch in Wireshark sehe, bevor ich am PC ein bestimmtest
Programm starte. Danach sind in Wireshark alle gewünschten
Messages sichtbar. Also muss beim ESP8266 noch irgend was fehlen,
denke ich.

Stefan F. schrieb:
> Vielleicht musst du dich von der AT Firmware lösen oder zu einem ESP32
> wechseln.

Müsste ich dann wohl, aber ungern!!

: Bearbeitet durch User
von Εrnst B. (ernst)


Lesenswert?

Bot N. schrieb:
> Will aber im Moment noch nicht aufgeben.

Dann mach doch eine eigene Firmware für den ESP, die nur die 
Kommunikation macht, und vorverarbeitet an den MSP weiterleitet. Dann 
hast du auf dem ESP alle Freiheiten bzgl. TCP, UDP, Multicast, kannst 
evtl. auch noch HTTP oder Modbus/UDP dahin auslagern, aber behältst die 
eigentliche Logik im MSP.

Protokoll zwischen ESP und MSP kannst du dann frei wählen, entweder an 
das AT-Kommand-Set angelehnt oder was eigenes, für den Anwendungsfall 
effizienteres...

von Sebastian W. (wangnick)


Lesenswert?

Bot N. schrieb:
> Zumal ich vielleicht nahe
> dran bin.

Interessant. Einmal das Thema UDP Multicast auf dem ESP8266, und darüber 
hinaus das Thema UDP Multicast auf WiFi. Denn du wirst js zwischen PC 
und ESP01S noch einen AP haben, oder? Und die haben so ihre eigenen 
Schwierigkeiten mit echtem Multicast über Funk. Zum Beispiel, mit 
welcher Rate sie senden sollen ...

LG, Sebastian

von Bot N. (botnec)


Lesenswert?

Sebastian W. schrieb:
> Interessant. Einmal das Thema UDP Multicast auf dem ESP8266, und darüber
> hinaus das Thema UDP Multicast auf WiFi. Denn du wirst js zwischen PC
> und ESP01S noch einen AP haben, oder? Und die haben so ihre eigenen
> Schwierigkeiten mit echtem Multicast über Funk

Bin  nicht sicher ob ich verstehe was damit gemeint ist.

Grundsätzlich muss MUlticast mit dem ESP funktionieren, zumindest nach
AT-Command Doku:

"If the remote host over the UDP is an IPv4 multicast address
(224.0.0.0 ~ 239.255.255.255), the ESP device will send and
receive the UDPv4 multicast."

Kann aber sein, dass meine AT-FW etwas anders draus macht!

Meine Idee ist, Multicast Messages von Geräten in meinem Netzwerk
(SMA Wechslerichter, SMA HomeManager, SMA-Energy Meter) nur mithören
und nur bestimmte Daten daraus für eigene Zwecke zu verwerten. Selber
"reden" möchte ich nicht. Es hat mit dem PC eigentlich nichts zu tun.
Der fungiert im Moment nur als Wireshark Host zum Verfolgen des
ETH Datenstroms und gleichzeitig ist da mittels USB-Adapter der ESP01S 
angeschlossen via Terminalprogram.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Bot N. schrieb:
> Grundsätzlich muss MUlticast mit dem ESP funktionieren, zumindest nach
> AT-Command Doku:

Bist du sicher dass du diese Version der Firmware verwendest? Die AT 
Firmware vom ESP8266 wird (soweit ich das sehen kann) seit 2020 nicht 
mehr weiter entwickelt!

Aktuelle Version vom ESP32 ist 3.2, währen der ESP8266 bei 2.2 hängen 
geblieben ist.

https://docs.espressif.com/projects/esp-at/en/latest/esp32/index.html

Links oben kannst du die Version der Doku auswählen. Die 1.7.5 steht 
dort leider nicht zur Verfügung. Im oben verlinkten Dokument von Version 
1.3 steht jedenfalls nichts von multicast.

von Bot N. (botnec)


Lesenswert?

Stefan F. schrieb:
> Bist du sicher dass du diese Version der Firmware verwendest?

Sicher bin ich mir nicht, denn soweit ich das gesehen habe
gibt es eigene Versionen für den ESP01S (auch älter).

In der Doku sehe ich aber keinen Unterschied was Multicast
betrifft zu der die ich als gültig für mich erachte.

Die entsprechenden AT Kommandos werden auch vom Modul akzeptiert.
Allein das Ergebnis gefällt mir nicht.

Ich warte jetzt mal ab was AI-Thinker sagt.

von Stefan F. (Gast)


Lesenswert?

Gemäß https://www.sigmdel.ca/michel/ha/esp8266/ESP01_AT_Firmware_en.html

ist das die Doku die am ehesten zur Version 1.7.5 passt: 
https://www.espressif.com/sites/default/files/documentation/4a-esp8266_at_instruction_set_en.pdf

Da steht nichts von multicast.

Die Version 2.2 kann es angeblich  lässt sich aber nicht erfolgreich 
installieren/ausführen.

von Stefan F. (Gast)


Lesenswert?

Bot N. schrieb:
> Ich warte jetzt mal ab was AI-Thinker sagt.

Dafür ist es zu spät. Du hast ihre Produkte schon bezahlt, alles andere 
ist denen egal. (ist meine Erfahrung mit chinesischen Marken)

von Εrnst B. (ernst)


Lesenswert?

Bot N. schrieb:
> Meine Idee ist, Multicast Messages von Geräten in meinem Netzwerk
> (SMA Wechslerichter, SMA HomeManager, SMA-Energy Meter) nur mithören
> und nur bestimmte Daten daraus für eigene Zwecke zu verwerten

Sowas in der Art dachte ich mir schon.
Funktioniert am PC problemlos, müsste ich mit dem ESP mal 
ausprobieren...

am PC in etwa: (nodejs)
1
const dgram =require('node:dgram');
2
3
const server = dgram.createSocket({ type: 'udp4', reuseAddr: true });
4
5
server.bind(9522,"239.12.255.254");
6
7
server.addMembership("239.12.255.254");
8
9
server.on('message', (msg, rinfo) => {...

Falls du Beispiel-Code zum Parsen Speedwire (EnergyMeter) -> 
OBIS-Kennzahlen brauchst, hab ich auch noch rumfliegen, aber ebenfalls 
NodeJS. Ist aber auch kein Hexenwerk.

: Bearbeitet durch User
von Εrnst B. (ernst)


Lesenswert?

So, am ESP32 ausprobiert (lag grad am Tisch): Klappt problemlos, der 
kriegt die Broadcasts vom SMA-EM.
1
void setup() {
2
  Serial.begin(115200);
3
  Serial.println("");
4
5
  initWiFi();
6
7
  Udp.begin(multicastPort);
8
  Udp.beginMulticast(multicastIP, multicastPort);
9
}
10
11
void loop() {
12
  uint8_t buffer[1024];
13
  int packetSize = Udp.parsePacket();
14
  if (packetSize){
15
    Serial.print("RECEIVED: ");
16
    Serial.print(packetSize);
17
    Serial.println(" bytes");
18
    int rSize=Udp.read(buffer,1024);
19
    if (rSize != 600) {
20
      Serial.println("Not an SMA packet?");
21
      return;
22
    }
23
    Serial.print("First 3 Bytes: ");
24
    Serial.println(String(buffer,3));
25
  } else {
26
    delay(1000);
27
    Serial.println(".");
28
  }
29
}

Ausgabe auf der Seriellen:
1
RECEIVED: 600 bytes
2
First 3 Bytes: SMA

Ich kompilier das gleich nochmal für ESP8266.


Nachtrag: Läuft am ESP8266 genauso, kleine Code-Änderung:
1
#ifdef ESP8266
2
  Udp.beginMulticast(WiFi.localIP(), multicastIP, multicastPort);
3
#else
4
  Udp.beginMulticast(multicastIP, multicastPort);
5
#endif
und es gibt dort scheinbar keinen String-Konstruktor von Char* und 
Länge...

d.H. dort das Speedwire-Parsen ergänzen, und schon kriegt dein MSP auf 
der seriellen z.B. schön vorbereitete und leicht zu verabeitende 
Datenhäppchen
"<OBIS-Kennziffer>=<Wert>\n"

: Bearbeitet durch User
von Sebastian W. (wangnick)


Lesenswert?

Εrnst B. schrieb:
> Läuft am ESP8266 genauso

Gut zu wissen. Thumbs up, Ernst!

LG, Sebastian

PS: Über was für einen AP läuft das bei dir?

: Bearbeitet durch User
von Michael D. (nospam2000)


Lesenswert?

Rahul D. schrieb:
> Multicast ist doch nichts anderes als ein Broadcast in die eine Richtung
> und eine Peer-to-peer in die andere.

Wenn du das denkst, solltest du dich mal über IGMP snooping und 
Multicast groups informieren:
https://en.wikipedia.org/wiki/IGMP_snooping

 Michael

: Bearbeitet durch User
von Michael D. (nospam2000)


Lesenswert?

> Bot N. schrieb:
>> Irgendwie muss
>> man wohl eine IGMPv2 "Membership report message" schicken
>> um an der Multicast Gruppe teilzunehmen.

Korrekt.

Klaus S. schrieb:
> Da aber die  Teilnehmer alle innerhalb Deines Subnetzes liegen und kein Router
> durchquert werden muß, braucht es m.M.n diese Anmeldung nicht.

Das stimmt nicht, selbst ein Switch muss die UDP Pakete für die 
Multicast Group Membership auswerten (IGMP snooping). Das klingt erstmal 
strange, da ein Switch normalerweise nur auf Layer 2 arbeitet, aber wenn 
es um Performance und Resource usage geht, dann wird das Layering eben 
manchmal durchbrochen.

  Michael

: Bearbeitet durch User
von Εrnst B. (ernst)


Lesenswert?

Sebastian W. schrieb:
> PS: Über was für einen AP läuft das bei dir?

Der Stromzähler (im Keller) über Wlan an einem AmpliFi-Repeater 
(Consumer-Marke von Ubiquiti), Switch, langes Kabel, TP-Link-Router mit 
OpenWRT am Arbeitsplatz, dem ich auf die Schnelle noch eine SSID für das 
VLan gegeben habe an dem auch der AP im Keller hängt.

Wenn bei dir Stromzähler und ESP im selben Wlan hängen, darauf achten 
dass da keine "Client Isolation" konfiguriert ist. Wenn der Stromzähler 
per LAN-Kabel dran hängt, ist das natürlich egal.

Nachtrag, wg. dem IGMP-Snooping Hinweis:
Der Switch ist auch nix besonderes, nicht managebar, irgendein 
Plaste-Consumer-Krempel eben. Ob der das macht oder nicht, kann ich 
nicht sagen.

: Bearbeitet durch User
von Rahul D. (rahul)


Lesenswert?

Michael D. schrieb:
> Wenn du das denkst, solltest du dich mal über IGMP snooping und
> Multicast groups informieren:
> https://en.wikipedia.org/wiki/IGMP_snooping
>
>  Michael

Ja, meine Aussage war etwas zu allgemein.

von Bot N. (botnec)


Lesenswert?

Recht herzlichen Dank für die unterschiedlichen interessanten Beiträge
zu meinem Problem.

Da ich paar Tag mit anderen Dingen beschäftigt bin und deshalb mein
Hobbyprojekt zur Seite legen muss, komme ich Mitte nächste Woche wieder
darauf zurück und bitte speziell Εrnst B. mir dann paar Fragen zu
seiner Lösung zu beantworten. Mir fehlen da noch paar Randbedingen.

Danke nochmals vorerst.

: Bearbeitet durch User
von Bot N. (botnec)


Lesenswert?

Durch Zufall habe ich jetzt eine Lösung für mein Problem gefunden,
dass möglicherweise weitere Nachfragen hier bei den Experten nicht
mehr nötig macht.

Bei folgendem Link gibt es eine programmierbare AT-FW Version 2.2.0 .
Sie lies sich sofort programmieren und liefert die Mulicast-Daten die
ich erwarte.

https://github.com/CytronTechnologies/esp-at-binaries/blob/main/images/ESP8266_Download_Tool_ESP01.png

Habe aber nur kurz getestet und übernehme keine Garantie. Meine
Testkommandos musste ich etwas umstellen, da es anscheinend die
"..._CUR" AT-Kommandos nicht mehr gibt.

Werde weiter testen ob meine SW noch zu den anderen AT Kommandos passt.

Vielleicht hilft das anderen Interessierten weiter.

von Benedikt L. (Firma: Dem Ben seine Leiche) (dembenseineleiche) Flattr this


Lesenswert?

Bot N. schrieb:
> Bin quasi Neuling mit dem ESP01S und habe jetzt folgende Frage:
> könnte der ESP01S meinen TCP Server bedienen wie bis jetzt, aber
> gleichzeitig auf einem anderen Port UDP Multicast Message mitlesen?

Der ESP ist auch schon bald 10 Jahre auf dem Markt. Unter welchem Stein 
warste die letzte Zeit?
Jo, erstemal das Rad neu erfinden.

von Εrnst B. (ernst)


Angehängte Dateien:

Lesenswert?

@botnec:

Ich pack dir mal meinen Test-Source hier rein, da haben ggfs. mehr Leute 
was davon als das per PN durchzugehen.

Ist "Arduino"-Sourcecode, würde aber empfehlen den per Platformio zu 
compilieren.

Ordner anlegen, platformio.ini reinlegen, src-Unterordner anlegen, 
main.cpp reinlegen.

dann "pio run" zum kompilieren, "pio run -t upload" zum Installieren auf 
dem ESP.
Oder, falls du platformio als VSCode-Plugin benutzt, einfach die 
entsprechenden Knöpfchen drücken.

Source passt noch nicht 100%ig, Debugausgaben könnten den MSP430 stören, 
und die int64-Rechnung hat wohl noch irgendein Problem.

von Bot N. (botnec)


Lesenswert?

@Ernst B.

Vielen Dank für die Antwort!!

Habe alles mal schnell probiert und ich denke ich konnte das
Firmware.elf File erzeugen.

Aber noch eine dumme Frage: wie und wo muss ich den ESP01S anschließen
zum Programmieren der Firmware? Geht das mit dem USB Adapter ?

Nachtrag: Hat schon geklappt !!

Dank , prima.

: Bearbeitet durch User
von Εrnst B. (ernst)


Angehängte Dateien:

Lesenswert?

Bot N. schrieb:
> Geht das mit dem USB Adapter

Entweder so ein Programmierstöpsel wie im Anhang, oder du verbindest RX, 
TX, GND mit einem USB->Seriell(TTL) Wandler, und stellst die nötigen 
Brücke zum Start im Bootloader-Modus her (GPIO0 auf LOW)

https://www.diyhobi.com/flash-program-esp-01-using-usb-serial-adapter/

: Bearbeitet durch User
von Bot N. (botnec)


Lesenswert?

Es hat schon geklappt mit dem USB Adapter.

Ich bekommen schon die Punkte angezeigt. Da stimmt wohl was noch
nicht mit dem Netzwerk Login bzw. möchte ich eine fixe IP vergeben.

Vielen Dank erst mal. Komme aber evtl. nochmals mit paar Fragen.

: Bearbeitet durch User
von Εrnst B. (ernst)


Lesenswert?

Bot N. schrieb:
> bzw. möchte ich eine fixe IP vergeben.

Entweder am DHCP-Server so einstellen, oder im Quelltext im setup() 
zwischen "WiFi.mode" und "WiFi.begin" eine Zeile einfügen:
1
WiFi.config(IPAddress(192,168,55,42), IPAddress(192,168,55,1), IPAddress(255,255,255,0), IPAddress(192,168,55,1),IPAddress(8,8,8,8));
(lokale ip, Gateway, Netmask, erster DNS, zweiter DNS)

von Stefan F. (Gast)


Lesenswert?

Bot N. schrieb:
> Aber noch eine dumme Frage: wie und wo muss ich den ESP01S anschließen
> zum Programmieren der Firmware? Geht das mit dem USB Adapter ?

http://stefanfrings.de/esp8266/index.html#fwupdate

Ernst hat dir einen Adapter gezeigt, den ich auch gerne benutze. Da sind 
nur zwei Haken (nicht immer aber oft):

1) Dem Adapter fehlt der "Flash" Button an GPIO0. Denn kann man aber 
ganz leicht auf der Rückseite der Buchsenleiste nachrüsten.

2) Der Spannungswandler ist oft zu schwach, um WLAN (stabil) zu nutzen. 
Aber für einen kurzen Firmware-Upload reicht es.

von Bot N. (botnec)


Lesenswert?

Danke,

aber den Adapter benutze ich auch schon länger für meine AT-FW 
Versuche. Bisher alles in Ordnung.

von Bot N. (botnec)


Lesenswert?

Jetzt muss ich doch nochmals um Hilfe bitten.

Ich habe mittels Platformio einmal ein File erzeugt und mit UPLOAD
in den ESP8266 programmiert. Wenn ich jetzt am Programm Änderungen
durchführe wird zwar mit BUILD das File fehlerfrei compiliert, aber
beim UPLOAD ist wieder das alte File programmiert. Ich habe nur
zwei Print-Kommandos eingefügt für MAC und IP. Diese werden aber
anscheinend nicht ausgeführt.

Muss ich da noch was machen dass das neue File übernommen wird?

Plattformio ist absolut neu für mich!!

von Εrnst B. (ernst)


Lesenswert?

Eigentlich sollte das upload-target auch neu Kompilieren, wenn nötig.

Zeig mal die Ausgabe vom upload.

von Bot N. (botnec)


Angehängte Dateien:

Lesenswert?

Ist dass das was gewünscht war?


NACHTRAG: Fehler gefunden!!
Hatte main.cpp zweimal im PIO Verzeichnis.

Kompiliert wurde das File im Verzeichnis SRC, editiert aber das File
im Verzeichnis über SRC. Typische Anfängerfehler.

Jetzt funktioniert alles soweit.

Danke sehr nochmals.

: Bearbeitet durch User
von Bot N. (botnec)


Lesenswert?

Noch eine Frage bitte:

Wo finde ich den die Beschreibung der z.B. WiFi Kommandos die hier
verwendet werden? Ich habe zwar Dokumentation gefunden, aber die
passt irgendwie nicht zu dem Code.

z.B. Code: wifi.config(ip, gateway, netmask, dns, dns2);
     Doku: wifi.config(ip, dns, gateway, netmask);

von Εrnst B. (ernst)


Lesenswert?

Bot N. schrieb:
> Ich habe zwar Dokumentation gefunden, aber die
> passt irgendwie nicht zu dem Code.

https://arduino-esp8266.readthedocs.io/en/3.1.2/esp8266wifi/station-class.html#config

>> WiFi.config(local_ip, gateway, subnet, dns1, dns2)


Die Arduino-Header/Schnittstellen/API ist zwar meistens zwischen 
verschiedenen µCs kompatibel, zumindest ist das die Idee, aber eben doch 
nicht immer.

Im Source hast du sicher auch die "#ifdef ESP8266" gesehen: Arduino für 
ESP32 ist halt wieder etwas anders.

: Bearbeitet durch User
von Bot N. (botnec)


Lesenswert?

Danke, alles klar.

Sieht soweit ganz gut aus. Könnte mich daran gewöhnen!!

von Εrnst B. (ernst)


Lesenswert?

Aus aktuellem Anlass:

Ich habe den Code oben "als Gag" auf eine Viertelstunde 
zusammengestöpselt, und dabei einige JS->C++ Übersetzungsschritte per KI 
erledigen lassen.

Ich selber benutze keinen ESP zum Mitlesen von Speedwire, und habe es 
auch nicht vor.

Ich selber habe weder einen SMA Homemanger noch Ladesäule, nur einen 
"SMA EnergyMeter"-kompatiblen Stromzähler, der scheinbar manche Details 
doch anders macht.

Ich leiste keinen persönlichen Support für das Beispielprogramm oder SMA 
Anlagen.
Nicht per PN, nicht per EMail, auch nicht gegen Geld.

Wenn ihr Fragen zum Code habt, stellt sie hier im Forum, und sendet mir 
Keine PN.

Danke.

Und vorher hier vorbeischauen, das Problem mit komischen Feldbezeichnern 
nach dem 144er-Versionsfeld ist da schon gelöst.

Beitrag "SMA Home-Manager Multicast-Messages Auswertung"

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.