Forum: Mikrocontroller und Digitale Elektronik Mehrere ESP8266 auf gleiche IP geht das?


von MOBA 2. (Gast)


Lesenswert?

Hallo,

ich habe vor, ein smartes Haussystem für mich zu bauen.
Dabei soll jedes Gerät einen Mega328 + ESP bekommen. Auf dem ESP läuft 
dann samt Bootloader meine FW. Das Gerät kann dann an jeden Verbrauche 
angeschlossen bzw. dazwischengeklemmt werden. Soll auch Sensoren geben 
etc...

2 Platinen habe ich, eine seit etwas längerer Zeit im Einsatz zwecks FW 
Test. Das funktioniert nun alles gut, sodass ich die 2. gelötet habe.

Nun habe ich ein Problem: Ich habe DHCP abgeschaltet am ESP8266 und ihm 
eine feste IP zugewiesen. Hat den Vorteil, dass ich am PC/App die IP 
hinterlegen kann und dann direkt zugreifen kann (da ich nicht 
herausgefunden habe, ob/wie man DHCP IPs finden kann, da die ESP auch 
immer als "Unknown" am Router angezeigt werden). Das ohne DHCP ist auch 
nicht schlimm, bei anderen Geräten seit Jahren ohne Probleme im Einsatz.


Jetzt kommt aber das Problem: Nachdem ich das 2. Gerät angeschaltet 
hatte, konnte ich es wie erwartet steuern. Ich sende dabei an die feste 
IP einen String mit Kommando's und einem Namen. Das Gerät guckt dann ob 
sein Name = Empfangsname ansonsten ignoriert er den Befehl.




Jetzt das Problem/merkwürdige:

Am PC sende ich via TCP/IP über VisualBasic Terminal.
Am Handy per APP auf Android via HTTP PUT

Nun spielt es eine Rolle, ob ich erst das 1. und dann das 2. anschalte 
oder anders.
Ich kann, sobald beide Geräte an sind (und die gleiche IP haben), per 
TCP/IP IMMER nur das zuletzt angeschaltete Gerät erreichen.
Per APP geht nur das zuerst angeschaltete. HTTP GET geht ebenfalls nur 
das zuletzt angeschaltete


Jetzt mal die total bescheuerte Frage: Was ist das bitte?!
Warum geht das so komisch?! Wenn ich das 2. abschalte (oder das 1., also 
so das nur 1 an ist) geht via TCP, HTTP GET/PUT wieder alles wie 
gewohnt. Ich habe vor, von diesen Teilen ~ 10 zu verbauen.

Zu beobachten ist nun auch, dass sobald 2. Geräte an sind, das eine ja 
Daten bekommt, das andere aber absolut nichts empfängt.
Also die LED vom ESP blinkt nicht mal, es werden so wie es aussieht 
keine Daten weiter geleitet.


Wo liegt das Problem? Geht das mit den gleichen IP's nicht?
Sollte man beim ESP lieber DHCP anschalten und trzd. eine feste IP 
zuweisen oder macht das keinen Unterschied?

von Einer K. (Gast)


Lesenswert?

Marius D. schrieb:
> Geht das mit den gleichen IP's nicht?
Gut erkannt!

von Noch einer (Gast)


Lesenswert?

Normalerweise kann man in diesen Routern auch Namen vergeben.

1. Du schaltest einen ESP ein
2. Schaust im Router nach welche Zeile dazugekommen ist.
3. Kreuzt an "Dieser MAC immer die selbe IP-Addresse zuweisen"
4. Vergibst im Router einen Namen für diese IP (Der Router verteilt 
diesen Namen über DNS an alle Rechner.)
5. Du schaltest den nächsten ESP ein.
...

von Martin (Gast)


Lesenswert?

Grundlagen der Netzwerktechnik und so... Schon mal was von mac(nicht 
angefressene äpfel) und Arp und so gehört?

von Arthur (Gast)


Lesenswert?

Marius D. schrieb:
> Wo liegt das Problem? Geht das mit den gleichen IP's nicht?

Du benutzt TCP/IP, ein Paket orientiertes Protokoll.

Siehe: 
https://de.wikipedia.org/wiki/Transmission_Control_Protocol/Internet_Protocol

Deine Erwartungshaltung mal zum Verständnis mal als Beispiel ein 
Postpaket:

Du vergibst an alle deine Postfächer ( deine ESP8266 ) die gleiche 
Adresse, obwohl sie an unterschiedlichen Orten befinden.
( Was schon mal nicht als saubere Adressierung gelten könnte.
 Mehrere Personen mit z.B. der gleichen IBAN-Nummer ihres Kontos
 könnten auch Probleme bekommen ... )

Dann sendest du EIN(!!!) Paket und erwartest, das es GLEICHZEITIG(!!!) 
an mehrere Empfänger ( deine ESP8266 ) zugestellt wird.
Die Empfänger sollen dann in dem Paket nachschauen ob es für sich 
bestimmt ist.

TCP/IP macht das aber nicht mit. TCP/IP ist immer eine Punkt zu Punkt 
Verbindung.

Was du nutzen könntest ist Multicast.

Siehe: https://de.wikipedia.org/wiki/Multicast

Ob du dafür einen Stack für ESP8266 findest, keine Ahnung.

von Michael R. (mr-action)


Lesenswert?

Auch per Multicast wird es mit der gleichen IP Adresse nicht gehen...

Zwei PCs mit der gleichen IP geben wenigstens eine Fehlermeldung aus, 
das es einen Adresskonflikt gibt - da der ESP das nicht macht, sind wir 
jetzt hier... ;-)

Du brauchst für jedes Netzwerkgerät eine eigene IP oder musst dich auf 
anderen Ebenen, wie TCP/IP unterhalten...

Also das einzig sinnvolle wäre, den DHCPClient von deinen ESPs mal 
richtig zu machen, das die sich mit einem Namen an deinem Router 
anmelden... Einige sind da etwas zickig, was das angeht (Fritzboxen 
hatten früher Probleme mit Linux Geräten - hat sich das inzwischen 
geändert?)... Und danach kannst du deine ESPs über ihre Namen 
ansprechen... Aus dem Zeitalter, wo man sich IP Adresse merken muss sind 
wir doch eigentlich raus - auch zuhause... ;-)

Edit: Eine Idee noch, wo dir die IP egal sein kann... UDP Broadcast... 
Dann macht auch der Empfängernamen in deinem Datenpaket Sinn, du 
brauchst keine IP Adressen wissen usw... Du musst allerdings im gleichen 
IP-Bereich wie deine ESPs sein... Also von Unterwegs übers Internet 
gehts dann nicht mehr... Und auf UDP Pakete kann doch sicher auch der 
ESP lauschen? (noch nie was damit gemacht)

: Bearbeitet durch User
von Horst (Gast)


Lesenswert?

Arthur schrieb:
> Dann sendest du EIN(!!!) Paket und erwartest, das es GLEICHZEITIG(!!!)
> an mehrere Empfänger ( deine ESP8266 ) zugestellt wird.

Nein, auch so funktioniert IP nicht.
Für die Übertragung hat jedes Device eine eigene Adresse, die 
MAC-Adresse. Die IP ist wieder nur eine Hilfsadresse. Aus dem Grund 
erreicht er mal das eine und mal das andere Device, je nachdem welche 
MAC-Adresse die Adressauflösung welcher IP zugeordnet hat.
Da keine IP zwei MAC-Adressen (oder umgekehrt) zugeordnet sein kann, 
funktioniert die SubAdressierung über den Namen nicht, die Pakete gehen 
nur an ein Device, das zweite bekommt davon garnichts mit.

Ein IP-Broadcast währe eine Möglichkeit das umzusetzten, aber da gibt es 
dann neue Probleme und sauber ist das auch nicht.

von Rappelvoll (Gast)


Lesenswert?

Wie wäre es schlichtweg mit einem Broadcast an alle Geräte im Netz? 
Deine Clints scheinen ja schon zu filtern, ob sie angesprochen werden. 
Dann ist die IP egal.

von Chris K. (Gast)


Lesenswert?

Boradcast hin oder her. Sauber wird es, wenn du deine Clints dazu 
bringst sich an der APP mit ihrer IP zu registrieren.

von Pete K. (pete77)


Lesenswert?

2 gleiche IP-Adressen in einem IP-Subnetz funktioniert nicht.

Der saubere Weg ist, verschiedene IP-Adressen einzugeben oder DHCP zu 
nutzen. Falls Dein Router nicht die von DHCP vergebenen IP-Adressen 
"fest" machen kann, also immer wieder die gleiche IP-Adresse an die 
MAC-Adresse des ESP8266 zuweisen kann, dann solltest Du den Router 
wechseln.

Broadcast hat hiermit überhaupt nix zu tun.

: Bearbeitet durch User
von Arthur (Gast)


Lesenswert?

Michael R. schrieb:
> Auch per Multicast wird es mit der gleichen IP Adresse nicht gehen...

Hatte ich auch nicht behauptet.
Das gleiche Adressen nicht gehen hatte ich vorher im meinem Beispiel 
schon versucht darzulegen.

Ok, hätte ich sicherlich auch noch viel deutlicher machen können, ist 
mir hinterher auch auf gefallen.
Aber da ich nicht angemeldet bin konnte ich das nicht noch erweitern ...

von Arthur (Gast)


Lesenswert?

Horst schrieb:
> Nein, auch so funktioniert IP nicht.
> Für die Übertragung hat jedes Device eine eigene Adresse, die

Deswegen steht auch darüber:
>>  Deine Erwartungshaltung mal zum Verständnis mal als Beispiel ein
Postpaket:

Wie soll ich das denn noch vor tanzen?

Ich habe auch weder das Handshaking noch das Schichtenmodel angesprochen 
sondern NUR auf Wikipedia verwiesen, wo der TO erstmal genug zu lesen 
hat.

Das er sich mit TCP/IP beschäftigen sollte wurde weiter oben auch schon 
genannt.

So, noch mal für alle:

Das war ein Beispiel und kein Lehrbuch für den Netzwerk-Admin.

Das man ALLES viel besser, deutlicher und ausführlicher schreiben kann 
ist mir auch klar. Deswegen gibt es dicke Bücher, tausende von RFCs ( 
von denen ich auch kein einziges erwähnt habe ) und all so ein Zeug.

Mann mann mann ...

von Oliver S. (phetty)


Lesenswert?

Fazit:

Jeder ESP braucht eine eigene IP.
Per MQTT verteilt man die Nachrichten an alle/einzelne IPs.

von MOBA 2. (Gast)


Lesenswert?

Hallo,

viele Antworten, danke erstmal.
TCP ist sockelorientiert, dass weiß ich. Das es damit ggf. Probleme gibt 
dachte ich mir schon, wäre auch halb so wild, dann programmiere ich das 
Terminal auch auf HTTP Befehle um. Hier wird viel auf TCP eingegangen, 
dass kann aber vernachlässigt werden.

BTW: Alle Geräte haben den gleichen Port (2020).

Viel interessanter hingegen ist HTTP GET/PUT.
Dort ist es so wenn beide Geräte an sind, das per GET das 1. und per PUT 
das 2. Gerät erreicht werden kann (warum auch immer?!).


Ich dachte eigentlich so: Wenn ich einem ESP die gleiche IP (und 
ggf./zwinglich) die gleiche MAC gebe, dann sind das für den Router die 
gleichen Geräte und es wird an beide das gleiche versendet. So war mein 
Plan.
Als wenn ich im Bussystem die gleiche ID verteile, ist zwar nicht toll, 
geht aber.



Meine Probleme sind jetzt wie folgt:
1. DHCP kann ich machen, das wäre kein Problem, aber wie ändere ich den 
Namen am ESP?! Das mit dem Router dort den Namen ändern kommt nicht in 
Frage, das ist super umständlich. Ich will eher Plug&Play.

2. Wenn ich den Namen geändert hätte, wie sende ich was bspw. an HTTP 
GET an den Namen. Normalerweise gebe ich ja die IP (die wäre mir ja 
unbekannt wegen DHCP) an. Im Normalfall würde ich sowas senden: 
http://192.168.1.205:2020/?FensterDATEN. Wie mache ich das wenn der zwar 
einen Namen hat ich die IP aber nicht weiß?! Wie gesagt, ich hatte in 
der Anfangszeit genau das selbe Problem. Ich habe nicht herausbekommen 
wie sich der Name ändern lässt oder sich dann das Gerät ermitteln lässt, 
sodass ich auf diese feste IP gewechselt bin (was bei Geräten wo man nur 
1 hat ja auch wunderbar klappt):

von dunno.. (Gast)


Lesenswert?

Marius D. schrieb:
> ormalerweise gebe ich ja die IP (die wäre mir ja
> unbekannt wegen DHCP) an. Im Normalfall würde ich sowas senden:
> http://192.168.1.205:2020/?FensterDATEN. Wie mache ich das wenn der zwar
> einen Namen hat ich die IP aber nicht weiß?!

dein stichwort ist DNS.

aber du solltest dir die sache mit dem MQTT wirklich anschauen. das wird 
dein leben garantiert erleichtern..

von Einer K. (Gast)


Lesenswert?

Marius D. schrieb:
> Ich dachte eigentlich so: Wenn ich einem ESP die gleiche IP (und
> ggf./zwinglich) die gleiche MAC gebe, dann sind das für den Router die
> gleichen Geräte und es wird an beide das gleiche versendet. So war mein
> Plan.
Vergiss es!
Das, was du da Plan nennst, ist eine Dummheit.

Dass dein Router/Netz das wegsteckt, ohne völlig zusammen zu brechen, 
ist eine Gnade deines Systems.

Bitte mache einen Netzwerkgrundlagenkurs.
Alternativ: Eine Hirnoperation, damit der kranke Gedanke/Plan da raus 
kommt.

Sorry, für die Grobheit, aber es ist traurig mit anzusehen, wie sich 
jemand absichtlich selber Knüppel zwischen die Beine wirft, und dann 
auch noch darauf beharrt, wie toll die Idee doch ist.

von MOBA 2. (Gast)


Lesenswert?

Arduino F. schrieb:
> Marius D. schrieb:
>> Ich dachte eigentlich so: Wenn ich einem ESP die gleiche IP (und
>> ggf./zwinglich) die gleiche MAC gebe, dann sind das für den Router die
>> gleichen Geräte und es wird an beide das gleiche versendet. So war mein
>> Plan.
> Vergiss es!
> Das, was du da Plan nennst, ist eine Dummheit.
>
> Dass dein Router/Netz das wegsteckt, ohne völlig zusammen zu brechen,
> ist eine Gnade deines Systems.
>
> Bitte mache einen Netzwerkgrundlagenkurs.
> Alternativ: Eine Hirnoperation, damit der kranke Gedanke/Plan da raus
> kommt.
>
> Sorry, für die Grobheit, aber es ist traurig mit anzusehen, wie sich
> jemand absichtlich selber Knüppel zwischen die Beine wirft, und dann
> auch noch darauf beharrt, wie toll die Idee doch ist.


Immer mit der Ruhe Junge. Sag mir wie dein Plan diesbezüglich ausschaut.

von MOBA 2. (Gast)


Lesenswert?

dunno.. schrieb:
> Marius D. schrieb:
>> ormalerweise gebe ich ja die IP (die wäre mir ja
>> unbekannt wegen DHCP) an. Im Normalfall würde ich sowas senden:
>> http://192.168.1.205:2020/?FensterDATEN. Wie mache ich das wenn der zwar
>> einen Namen hat ich die IP aber nicht weiß?!
>
> dein stichwort ist DNS.
>
> aber du solltest dir die sache mit dem MQTT wirklich anschauen. das wird
> dein leben garantiert erleichtern..


MQTT werde ich mir angucken, die Frage ist nur, ob ich dann noch via 
HTTP per App drauf zu greifen kann, geht das?

von Thorsten (Gast)


Lesenswert?

MQTT ist eine Middleware um Daten zwischen verschiedenen Anwendungen zu 
verteilen, das hat mit HTTP nichts zu tun. Willst Du HTTP weiterhin 
nutzen kannst Du dir einen Server schreiben, der die MQTT Daten zentral 
sammelt und via HTTP zur Verfügung stellt.

von MOBA 2. (Gast)


Lesenswert?

Thorsten schrieb:
> MQTT ist eine Middleware um Daten zwischen verschiedenen Anwendungen zu
> verteilen, das hat mit HTTP nichts zu tun. Willst Du HTTP weiterhin
> nutzen kannst Du dir einen Server schreiben, der die MQTT Daten zentral
> sammelt und via HTTP zur Verfügung stellt.


Ah okay dann habe ich das grob verstanden. Ja sowas hatte ich 
massenweise am Anfang des Projekt durchgelesen. Ich bin davon 
weggegangen, da ich ja genau meine Plug&Play Lösung wollte. App 
installieren Gerät steuern. Am Reiter anderen Namen auswählen anderes 
Gerät steuern. Ohne großartige Konfig und Arbeit mit irgendwelchen 
Servern...

von Thorsten (Gast)


Lesenswert?

Marius D. schrieb:
> Ah okay dann habe ich das grob verstanden. Ja sowas hatte ich
> massenweise am Anfang des Projekt durchgelesen. Ich bin davon
> weggegangen, da ich ja genau meine Plug&Play Lösung wollte. App
> installieren Gerät steuern. Am Reiter anderen Namen auswählen anderes
> Gerät steuern. Ohne großartige Konfig und Arbeit mit irgendwelchen
> Servern...

Dann bleib bei deinem bisherigen Konzept und gibt den ESP einfach feste 
unterschiedliche IP-Adressen, entweder direkt oder über entsprechende 
Konfiguration des DHCP Servers. Und wenn Du es komfortabel haben willst 
auch noch einen DNS Namen.

von MOBA 2. (Gast)


Lesenswert?

Thorsten schrieb:
> Marius D. schrieb:
>> Ah okay dann habe ich das grob verstanden. Ja sowas hatte ich
>> massenweise am Anfang des Projekt durchgelesen. Ich bin davon
>> weggegangen, da ich ja genau meine Plug&Play Lösung wollte. App
>> installieren Gerät steuern. Am Reiter anderen Namen auswählen anderes
>> Gerät steuern. Ohne großartige Konfig und Arbeit mit irgendwelchen
>> Servern...
>
> Dann bleib bei deinem bisherigen Konzept und gibt den ESP einfach feste
> unterschiedliche IP-Adressen, entweder direkt oder über entsprechende
> Konfiguration des DHCP Servers. Und wenn Du es komfortabel haben willst
> auch noch einen DNS Namen.

Was ich nicht so ganz verstehe ist, folgendes:
https://en.wikipedia.org/wiki/Multicast_address

Hier steht was ich auch damals gelesen hatte, dass 224.0.0.1 für ALLE 
Hosts ist. Ich habe mal versucht, diese IP zu setzen, jedoch kann ich 
das Gerät dann via HTTP PUT/GET nicht mehr erreichen. Stehe irgendwie im 
Wald.

von Thorsten (Gast)


Lesenswert?

HTTP ist TCP basiert. Multicast/Broadcast funktioniert nur mit UDP.

von Jobst M. (jobstens-de)


Lesenswert?

Horst schrieb:
> Da keine IP zwei MAC-Adressen (oder umgekehrt) zugeordnet sein kann,

Umgekehrt geht. Ein Gerät kann (mit einer MAC) mehrere IP-Adressen 
haben.


Marius D. schrieb:
> Ich dachte eigentlich so: Wenn ich einem ESP die gleiche IP (und
> ggf./zwinglich) die gleiche MAC gebe, dann sind das für den Router die
> gleichen Geräte und es wird an beide das gleiche versendet. So war mein
> Plan.

Für den Router ist eine MAC nur EIN Ziel. Und nur dort schickt er ein 
Paket dafür hin. Sagst Du dem Router MAC XY ist nun dort, dann vergisst 
er die alte Position. Deshalb sind MACs weltweit unique.

Alleine die ARP-Anfrage löst ein Chaos in Deinem Router aus. (Welcher 
ARP sprechen muss, um die Pakete richtig zu leiten.)

IP ist ein wunderbares Protokoll, für das es schon alles gibt und man 
nicht neu erfinden muss.

Die richtige Vorgehensweise, wenn Du keine Daten von Hand irgendwo 
(außer im Client) hinterlegen möchtest, ist:
- Client holt sich per DHCP eine IP
- Client meldet sich mit Namen und IP bei einem dynamischen DNS-Server - 
z.B. mit nsupdate
- Andere Clients bekommen vom DNS die korrekte IP zum angefragten Namen
- Über ARP bekommen sie auch die MAC


https://de.wikipedia.org/wiki/DHCP
https://de.wikipedia.org/wiki/Dynamisches_DNS
https://de.wikipedia.org/wiki/BIND

Installieren, konfigurieren, keinen Blödsinn produzieren.


Gruß

Jobst

: Bearbeitet durch User
von Noch einer (Gast)


Lesenswert?

>Das mit dem Router dort den Namen ändern kommt nicht in
>Frage, das ist super umständlich.

Das ist nur Superlangweilig. Alle anderen Lösungen sind wesentlich 
interessanter - aber in Summe auch wesentlich aufwendiger.

Wenn du experimentieren willst  - baue dir ein System, das auf 
Broadcasts aufbaut und die locale hosts Datei für den Browser füllt. Das 
werden 6 interessante, lehrreiche Monate.

von Pete K. (pete77)


Lesenswert?

Marius D. schrieb:
> TCP ist sockelorientiert, dass weiß ich. Das es damit ggf. Probleme gibt
> dachte ich mir schon, wäre auch halb so wild, dann programmiere ich das
> Terminal auch auf HTTP Befehle um. Hier wird viel auf TCP eingegangen,
> dass kann aber vernachlässigt werden.
>
> BTW: Alle Geräte haben den gleichen Port (2020).
>
> Viel interessanter hingegen ist HTTP GET/PUT.
> Dort ist es so wenn beide Geräte an sind, das per GET das 1. und per PUT
> das 2. Gerät erreicht werden kann (warum auch immer?!).

Dein Geschreibsel gibt so gar keinen Sinn. Bitte beschäftige Dich erst 
einmal mit den Netzwerkgrundlagen, OSI-Stack und so, dann sehen wir 
weiter.

IP/TCP-IP/HTTP sind alles verschiedene Protokolle auf verschiedenen 
Netzwerkebenen. Das musst Du lernen.

Ansonsten mache es lieber seriell ;-)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Jobst M. schrieb:
> Für den Router ist eine MAC nur EIN Ziel. Und nur dort schickt er ein
> Paket dafür hin. Sagst Du dem Router MAC XY ist nun dort, dann vergisst
> er die alte Position. Deshalb sind MACs weltweit unique.

MAC-Adressen sind nur innerhalb eines Ethernet-Netzwerkes relevant; der 
Router arbeitet auf IP-Adress- und nicht auf MAC-Adress-Ebene.

Der PC des Nachbarn, der an einem anderen Router hängt, kann völlig 
problemlos exakt dieselbe MAC-Adresse haben. Der kann sogar die gleiche 
IP-Adresse verwenden wie der eigene PC, der Nachbar hat sein eigenes 
lokales Netzwerk, das durch den Router vom anderen Netzwerk isoliert 
ist.


Wer aber MAC-Adressen auswertet, ist der Switch, der im Router eingebaut 
(oder nachgeschaltet) ist. Und der merkt sich, an welchem seiner 
Netzwerkports welche Netzwerkgeräte mit welcheb MAC-Adressen 
angeschlossen sind, damit er die Ethernetpakete an den richtigen 
Netzwerkports übertragen kann. Das ist nämlich eine der wesentlichen 
Eigenschaften eines Switches: Ethernet-Pakete werden nicht an allen 
Ports ins gesamte Netzwerk 'rausgeblasen, sondern nur an den jeweils 
korrekten Empfänger gesendet. Deswegen sieht ohne weitere Maßnahmen ein 
an einem weiteren Port des Switches angeschlossener Rechner auch nicht 
den Datenverkehr der ersten beiden Rechner.

Die MAC-Adress-Tabelle, die der Switch verwaltet, ist natürlich deutlich 
größer als die Anzahl der Ports, weil pro Port auch mehr als ein Gerät 
zulässig sein muss - schließlich kann zwischen Port und Zielgerät ja 
noch ein weiterer Switch untergebracht sein.

Auch auf Ethernet-Ebene gibt es Broadcast-Pakete, diese werden an allen 
Ports des Switches ausgegeben.

Innerhalb eines Netzwerkes müssen MAC-Adressen eineindeutig sein, da 
sonst der Switch mit der Zuordnung seiner Ports durcheinanderkommt.

von Jobst M. (jobstens-de)


Lesenswert?

Rufus Τ. F. schrieb:
> MAC-Adressen sind nur innerhalb eines Ethernet-Netzwerkes relevant; der
> Router arbeitet auf IP-Adress- und nicht auf MAC-Adress-Ebene.

Verdammt! Streiche Router, setze Switch!

Danke für die Korrektur!


Gruß

Jobst

von MOBA 2. (Gast)


Lesenswert?

Pete K. schrieb:
> Marius D. schrieb:
>> TCP ist sockelorientiert, dass weiß ich. Das es damit ggf. Probleme gibt
>> dachte ich mir schon, wäre auch halb so wild, dann programmiere ich das
>> Terminal auch auf HTTP Befehle um. Hier wird viel auf TCP eingegangen,
>> dass kann aber vernachlässigt werden.
>>
>> BTW: Alle Geräte haben den gleichen Port (2020).
>>
>> Viel interessanter hingegen ist HTTP GET/PUT.
>> Dort ist es so wenn beide Geräte an sind, das per GET das 1. und per PUT
>> das 2. Gerät erreicht werden kann (warum auch immer?!).
>
> Dein Geschreibsel gibt so gar keinen Sinn. Bitte beschäftige Dich erst
> einmal mit den Netzwerkgrundlagen, OSI-Stack und so, dann sehen wir
> weiter.
>
> IP/TCP-IP/HTTP sind alles verschiedene Protokolle auf verschiedenen
> Netzwerkebenen. Das musst Du lernen.
>
> Ansonsten mache es lieber seriell ;-)


Ja das weiß ich doch das das verschiedene Protokolle auf 
unterschiedlichen Ebenen sind. Ich habe in der FW alle 3 Varianten 
implementiert. Und die funktionieren ja auch.


Das Problem liegt ja einfach nur in einem Punkt:

Wenn ich DHCP mache würde alles laufen ohne Probleme. Jedoch bekomme ich 
dann an der APP/PC nicht mehr die Geräte ermittelt. Wenn ich das 
hinbekommen würde, dann wäre alles erledigt. Dann mache ich DHCP und 
fertig. Da das aber einfach nicht geklappt hat damals als ich angefangen 
habe mit dem ESP (vor 3 Jahren), bin ich zu der Variante der festen IP 
gegeangen. Die ist in APP und PC Terminal hinterlegt und das klappt.

Die ist ja immer konstant: 192.168.x.y, y ist Geräteabhängig, x ist 
Routerabhängig, das wird aber alles automatisch in Routinen 
berücksichtigt.

von MOBA 2. (Gast)


Lesenswert?

> https://de.wikipedia.org/wiki/DHCP
> https://de.wikipedia.org/wiki/Dynamisches_DNS
> https://de.wikipedia.org/wiki/BIND
>
> Installieren, konfigurieren, keinen Blödsinn produzieren.
>
>
> Gruß
>
> Jobst


Ja da kommt wieder direkt das erste Problem. Beim ESP kann man den Namen 
einfach nicht ändern. Sowas dummes.... Das war damals schon mein 
Problem.

von Jobst M. (jobstens-de)


Lesenswert?

Marius D. schrieb:
> Ja da kommt wieder direkt das erste Problem. Beim ESP kann man den Namen
> einfach nicht ändern. Sowas dummes.... Das war damals schon mein
> Problem.

Schickst Du Daten ab oder tut der ESP das selbst ohne dass Du Einfluss 
hast?
Wenn Du selber Daten verschicken kannst, ist das kein Problem. Ich kann 
mir nicht vorstellen, dass Dir das nicht klar ist.

Und ich sehe aus Deinen Äusserungen, dass Du Dich noch nicht wirklich 
damit auseinander gesetzt hast.


Gruß

Jobst

von MOBA 2. (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Die MAC-Adress-Tabelle, die der Switch verwaltet, ist natürlich deutlich
> größer als die Anzahl der Ports, weil pro Port auch mehr als ein Gerät
> zulässig sein muss - schließlich kann zwischen Port und Zielgerät ja
> noch ein weiterer Switch untergebracht sein.
>
> Auch auf Ethernet-Ebene gibt es Broadcast-Pakete, diese werden an allen
> Ports des Switches ausgegeben.
>
> Innerhalb eines Netzwerkes müssen MAC-Adressen eineindeutig sein, da
> sonst der Switch mit der Zuordnung seiner Ports durcheinanderkommt.


Das ist mal eine Antwort die mal etwas hilft anstelle nur dumme 
Vorwürfe...
Die MACs der Geräte sind eindeutig, die IP hatte ich nur gleich gesetzt, 
da ich dachte das er dass dann ignorieren würde ähnlich einem Bussystem 
mit 2 Teilnehmern gleicher ID - naja falsch gedacht.

Dieses ganze DynDNS etc... kenne ich alles, will ich aber nicht. Das ist 
absolut kein Plug&Play für mich. Ich möchte mein Gerät anschalten, die 
App runterladen und steuern können. Ohne großes tramtram drum herum.

Jetzt mal zur Frage: UDP so wie ich das sehe wäre dafür weitaus besser 
geeignet. Man könnte nun, so wie ich das verstanden habe, die gleiche IP 
(224.0.0.1) setzen (MAC ist ja weiterhin unique) und ich sende dann 
weiterhin mein Protokoll. Wenn man Fernzugriff will, müsste man doch 
theoretisch das über einen Server umsetzen können, oder?

Würde das gehen?

von holger (Gast)


Lesenswert?

>die gleiche IP (224.0.0.1) setzen

Nein, du begreifst absolut gar nichts!

von MOBA 2. (Gast)


Lesenswert?

Jobst M. schrieb:
> Marius D. schrieb:
>> Ja da kommt wieder direkt das erste Problem. Beim ESP kann man den Namen
>> einfach nicht ändern. Sowas dummes.... Das war damals schon mein
>> Problem.
>
> Schickst Du Daten ab oder tut der ESP das selbst ohne dass Du Einfluss
> hast?
> Wenn Du selber Daten verschicken kannst, ist das kein Problem. Ich kann
> mir nicht vorstellen, dass Dir das nicht klar ist.
>
> Und ich sehe aus Deinen Äusserungen, dass Du Dich noch nicht wirklich
> damit auseinander gesetzt hast.
>
>
> Gruß
>
> Jobst



Wie meinst du das mit den Daten?
Ich schicke nur Daten an den ESP vom µC. Das sind entweder Konfig-Daten 
für den ESP (bspw. AP anschalten, AP Name einstellen usw...) oder 
Antworten an den Sender, bspw. wenn ich per App auf "AN" klicke dann 
schicke ich Feedback ob es an oder aus ist. Dieses Handling mache nur 
ich. Den Hostnamen des ESP kann man nicht via AT-Befehl ändern 
(zumindest was ich weiß). Auf dem ESP läuft eine Standartsoftware von 
Espressif. Der Name des ESP lautet immer ESP_82xxxx, die 4 x'er sind die 
letzten Nummern der MAC.


Womit soll ich mich nicht beschäftig haben?

von MOBA 2. (Gast)


Lesenswert?

holger schrieb:
>>die gleiche IP (224.0.0.1) setzen
>
> Nein, du begreifst absolut gar nichts!


Ist korrekt, dann klär mich doch auf.
Auf WIKI steht das das die IP für ALLE Geräte ist.

von Jobst M. (jobstens-de)


Lesenswert?

Marius D. schrieb:
> UDP so wie ich das sehe wäre dafür weitaus besser geeignet.

Nein.


Marius D. schrieb:
> Wenn man Fernzugriff will, müsste man doch
> theoretisch das über einen Server umsetzen können, oder?

Joar. Wie soll die Kommunikation bis zum Server stattfinden?
Broadcast über das Internet?
Wo ist da PnP, wenn erst ein Server installiert werden muss??

Marius D. schrieb:
> Das ist mal eine Antwort die mal etwas hilft anstelle nur dumme
> Vorwürfe...

Du machst Dich ja selbst zur Zielscheibe.

Ich bin raus ...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Marius D. schrieb:
> Auf WIKI steht das das die IP für ALLE Geräte ist.

Das ist die Adresse, an die gesendet werden muss. Nicht die Adresse, 
die bei den Geräten eingestellt werden muss.

Nochmal zum Mitmeisseln:

Du musst jedem Deiner Controller eine eigene IP-Adresse verpassen.

Und wenn Du DHCP verwenden willst, und Deine Controller über einen 
eindeutigen Namen (und nicht IP-Adressen) ansprechen können willst, 
könnte das hier helfen:

http://www.esp8266.com/viewtopic.php?f=6&t=617

Bei Verwendung der Arduino-Dinge wird das hier vermutlich helfen:

https://www.reddit.com/r/esp8266/comments/3zl3pi/change_esp8266_network_name/

von MOBA 2. (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Marius D. schrieb:
>> Auf WIKI steht das das die IP für ALLE Geräte ist.
>
> Das ist die Adresse, an die gesendet werden muss. Nicht die Adresse,
> die bei den Geräten eingestellt werden muss.
>
> Nochmal zum Mitmeisseln:
>
> Du musst jedem Deiner Controller eine eigene IP-Adresse verpassen.
>
> Und wenn Du DHCP verwenden willst, und Deine Controller über einen
> eindeutigen Namen (und nicht IP-Adressen) ansprechen können willst,
> könnte das hier helfen:
>
> http://www.esp8266.com/viewtopic.php?f=6&t=617
>
> Bei Verwendung der Arduino-Dinge wird das hier vermutlich helfen:
>
> https://www.reddit.com/r/esp8266/comments/3zl3pi/change_esp8266_network_name/



Achso, okay jetzt habe ich es verstanden. Danke dir. Also nochmal, dass 
es auch richtig sitzt:

1. Ich mache bei den Controllern DHCP, sie bekommen IP vom Router
2. Ich sende an die globale IP, dann werden diese Daten an ALLE 
Netzwerkteilnehmer gesendet

Frage hier: Geht das nur bei UDP oder gibt/geht sowas auch via HTTP 
GET/PUT?



Ja das mit den Namen beim ESP weiß ich, ich wollte aber die FW vom ESP 
nicht umschreiben - wenn alle Stricke reißen mache ich das, aber ich 
wollte auf der Seite einfach das originale nutzen - fertig. Programmiere 
in C, nutze/mag kein Arduino.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Marius D. schrieb:
> 2. Ich sende an die globale IP, dann werden diese Daten an ALLE
> Netzwerkteilnehmer gesendet

Das setzt UDP voraus. Bei TCP werden vom Empfänger die empfangenen Daten 
quittiert und erst dann gelten die Daten vom Sender als korrekt 
gesendet.

Nun stell' Dir das mal in einer Broadcast-Situation vor; der Sender weiß 
gar nicht, wieviele Empfänger es gibt, wie soll er da auf die Quittungen 
warten, um gegebendenfalls das Senden zu wiederholen?

Nein, Broadcast geht nur mit UDP, und folglich nicht mit HTTP oder einem 
anderen Protokoll, das TCP voraussetzt.


Warum aber willst Du so etwas überhaupt machen? Welches Problem meinst 
Du so lösen zu wollen?

: Bearbeitet durch User
von MOBA 2. (Gast)


Lesenswert?

Jobst M. schrieb:
> Marius D. schrieb:
>> UDP so wie ich das sehe wäre dafür weitaus besser geeignet.
>
> Nein.
>
>
> Marius D. schrieb:
>> Wenn man Fernzugriff will, müsste man doch
>> theoretisch das über einen Server umsetzen können, oder?
>
> Joar. Wie soll die Kommunikation bis zum Server stattfinden?
> Broadcast über das Internet?
> Wo ist da PnP, wenn erst ein Server installiert werden muss??
>
> Marius D. schrieb:
>> Das ist mal eine Antwort die mal etwas hilft anstelle nur dumme
>> Vorwürfe...
>
> Du machst Dich ja selbst zur Zielscheibe.
>
> Ich bin raus ...


Naja. Ich hatte ja geschrieben ich weiß es nicht und stehe im Wald 
brauche Hilfe. Es ist immer einfach jmd. anzugreifen anstelle mal 
vernünftig zu helfen. Wer letzteres nicht kann/mag sollte doch einfach 
gar nichts schreiben. Im Internet und gerade in Foren sind ja immer alle 
Rambo's.... Lachhaftes Phänomen was sich da über die Jahre entwickelt. 
Es ist kaum noch möglich mal Fragen oder Meinungen zu schreiben ohne 
direkt (und da ist YouTube der absolute Oberhammer) asozial beschimpft 
oder wie hier für dumm verkauft zu werden. Unterstes Niveau, mich 
persöhnlich stört das nicht weil im normalen Leben sind diese Leute 
immer die die ganz ganz ganz klein sind.
ABER: Wenn man nur die sinnvollen Antworten nimmt, ist der Thread 3 
Antworten lang UND (für andere die vll. genau die gleiche dumme Frage 
haben und sich nicht trauen zu schreiben), wäre es viel hilfreicher als 
immer so ein Müll überblättern zu müssen.....



Als Vorbild können sich 98% der hier beteiligten Personen mal
Rufus Τ. Firefly
nehmen um mal einen (oder hier den einen) zu nennen. Das nennt man 
Konversation und Hilfeleistung.

von MOBA 2. (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Marius D. schrieb:
>> 2. Ich sende an die globale IP, dann werden diese Daten an ALLE
>> Netzwerkteilnehmer gesendet
>
> Das setzt UDP voraus. Bei TCP werden vom Empfänger die empfangenen Daten
> quittiert und erst dann gelten die Daten vom Sender als korrekt
> gesendet.
>
> Nun stell' Dir das mal in einer Broadcast-Situation vor; der Sender weiß
> gar nicht, wieviele Empfänger es gibt, wie soll er da auf die Quittungen
> warten, um gegebendenfalls das Senden zu wiederholen?
>
> Nein, Broadcast geht nur mit UDP, und folglich nicht mit HTTP oder einem
> anderen Protokoll, das TCP voraussetzt.
>
>
> Warum aber willst Du so etwas überhaupt machen? Welches Problem meinst
> Du so lösen zu wollen?



Ahh okay, jetzt habe ich das verstanden. Ich wusste nicht das die Daten 
immer quittiert werden bei den IP Protokollen. Nun gut, dann geht 
Broadcast natürlich nicht. Ich werde mal die PC-Software umschreiben auf 
UDP und das mit dem "Global Call" testen. Ich hoffe das funktioniert 
dann. Dann kann ich beim ESP auch DHCP machen.


Ich muss sowas machen, da ich bei DHCP nicht weiß, welche IP das Gerät 
hat. Wenn ich den Hostnamen festlegen würde (setzt vorraus, dass ich 
dann erst die ESP-Firmware umschreiben muss) dann habe ich immer noch 
das Problem, dass ich nicht weiß, wie man anhand des Netzwerknamens die 
IP ausfindig macht. Ich hatte sowas testweise damals mal probiert, hat 
mir nicht den Erfolg gebracht. Am PC war das dann nicht wie gewünscht, 
dass ich alle im Netzwerk eingewählten Namen ermitteln kann und deren IP 
bekomme. Das ist das Problem warum ich dann auf feste IP gegangen bin. 
Bei dem Houssystem aber äußerst dummer Fehler.... Bei den 
Beleuchtungsgeräten war das bis dato gut da immer nur 1 Gerät vorhanden.

von JJ (Gast)


Lesenswert?

Wenn du DHCP nutzt, kannst du den Hostnamen auch einmalig auf dem DHCP 
Server festlegen. Wenn dann dort noch ein DNS Server integriert ist (wie 
bei einer Fritzbox o.Ä.) kannst du ohne weitere Arbeit über den Namen 
zugreifen.

Auch wenn du oben schreibst, dass du dort nichts konfigurieren willst, 
ist das trotzdem dynamischer und "mehr Plug'n Play" als für jeden ESP 
eine eigene Firmware mit eigenem Namen bzw. Filterkriterium zu haben.

von guest (Gast)


Lesenswert?

Marius D. schrieb:
> jetzt habe ich das verstanden

Nich wirklich.

Marius D. schrieb:
> wie man anhand des Netzwerknamens die
> IP ausfindig macht

Das nennt sich dann DNS, die passende Funktion auf dem PC wäre z.B. 
"getaddrinfo".

Du kannst auch UDP und TCP koppeln. Dein PC(-program) sendet einen 
UDP-Broadcast, worauf alle aktiven ESP mit ihrem Namen antworten. Dann 
hast Du Deine Liste von Geräten samt zugehöriger IP und kannts 
anschließend auch via TCP mit ihnen kommunizieren. Wenn die ESP beim 
Start Ihren Namen per UDP-Broadcast auch einmal automatisch versenden, 
bekommt Dein PC auch später eingeschaltete Geräte mit.

von MOBA 2. (Gast)


Lesenswert?

guest schrieb:
> Marius D. schrieb:
>> jetzt habe ich das verstanden
>
> Nich wirklich.
>
> Marius D. schrieb:
>> wie man anhand des Netzwerknamens die
>> IP ausfindig macht
>
> Das nennt sich dann DNS, die passende Funktion auf dem PC wäre z.B.
> "getaddrinfo".
>
> Du kannst auch UDP und TCP koppeln. Dein PC(-program) sendet einen
> UDP-Broadcast, worauf alle aktiven ESP mit ihrem Namen antworten. Dann
> hast Du Deine Liste von Geräten samt zugehöriger IP und kannts
> anschließend auch via TCP mit ihnen kommunizieren. Wenn die ESP beim
> Start Ihren Namen per UDP-Broadcast auch einmal automatisch versenden,
> bekommt Dein PC auch später eingeschaltete Geräte mit.


Ja das tuen sie in der Tat schon. Optional kann der Name und IP auch 
abgefragt werden. Das ist auch eine gute Idee. Ich bin gerade dabei mir 
UDP anzugucken und mal ein bisschen zu testen. Dann werde ich das 
umbauen/erweitern.


Bis dato klappt das mit dem UDP senden schomal. Auch Broadcast geht.
Sieht alles gut aus bis jetzt. Finde ich gut.

von Juhu (Gast)


Lesenswert?

Kannst Du nicht DHCP nehmen und den Adressbereich nach deinem Port 
abscannen?
Wenn sich die ESPs mit den richtigen Daten auf dem Port melden: IP 
merken ...

von Joachim S. (oyo)


Lesenswert?

Bevor Du da noch dutzende Stunden Arbeit reinhängst: Mache es lieber 
gleich richtig, und benutze einfach MQTT, um Deine ESPs zu steuern.

Mittlerweile gibt es fast jede Woche hier einen Thread, wo jemand ganz 
ähnlich wie Du ein Smart Home-System mit ESPs machen möchte, instinktiv 
erst einmal den Ansatz wählt, die ESPs über irgendwelche HTTP-Requests 
steuern zu wollen, und dabei dann auf irgendein Problem stösst. (Woher 
die IP-Adressen kennen? Wie kann ich mit einem einzigen Steuerbefehl 
gleich mehrere/viele ESPs steuern? Was mache ich, wenn ESPs nicht als 
Aktor, sondern als Sensor (z.B. Bewegungsmelder) fungieren sollen? usw.)

Letztlich ist das ein schönes Beispiel für 
https://de.wikipedia.org/wiki/Law_of_the_instrument : Diese Leute kennen 
üblicherweise einfach MQTT noch nicht, HTTP dafür aber gut, also 
versuchen sie das Problem auf Teufel komm raus mit irgendwelchem 
HTTP-Gefrickel zu lösen - obwohl HTTP dafür nicht gut geeignet, MQTT 
aber geradezu ideal ist.

Zwar hat auch MQTT Nachteile - z.B., dass man sich halt erst einmal kurz 
einlesen/einarbeiten muss, und zwingend einen Server benötigt, auf dem 
dann ein sogenannten "MQTT-Broker" (in der Praxis fast immer die 
Software "mosquitto") läuft.
Trotzdem sollte man diesen Weg gehen, denn mit irgendwelchem 
HTTP-Gefrickel wird man bei einem Smart Home-System auf Dauer nicht 
glücklich werden - vermutlich spätestens dann, wenn man den ersten 
Sensor integrieren möchte.

von Hannes J. (Firma: _⌨_) (pnuebergang)


Lesenswert?

Marius D. schrieb:
> Ahh okay, jetzt habe ich das verstanden.

Nein, wie dein Geschreibsel zeigt hast du immer noch einige Grundlagen 
nicht verstanden. Setz dich ein Wochenende hin und lerne
OSI-Model, Ethernet und MAC-Adressen, IP, TCP, UDP, ICMP, DNS, DHCP und 
ARP, statt hier deine Zeit zu verschwenden. Oben drauf kannst du noch 
die Grundlagen von HTTP legen.

Für Anfänger gut lesbar ist http://www.tcpipguide.com/, auch wenn die 
Seite hässlich ist und schon ein paar Jahre alt ist. Die Seite gibt es 
auch als Buch https://www.nostarch.com/tcpip.htm. Auch hier macht es 
nichts, dass das Buch schon älter ist. Die Grundlagen die du wissen 
musst haben sich nicht geändert.

> Ich wusste nicht das die Daten
> immer quittiert werden bei den IP Protokollen.

Nein, werden sie nicht.

> Nun gut, dann geht
> Broadcast natürlich nicht.

Broadcast oder Multicast gehen schon, wenn man (a) sie dafür verwendet 
wofür sie gemacht sind, (b) sie richtig implementiert hat und (c) es 
richtig konfiguriert ist.

> Ich werde mal die PC-Software umschreiben auf
> UDP und das mit dem "Global Call" testen. Ich hoffe das funktioniert
> dann. Dann kann ich beim ESP auch DHCP machen.

Diese Aussage ergibt keinen Sinn.

> Ich muss sowas machen, da ich bei DHCP nicht weiß, welche IP das Gerät
> hat.

Doch, denn genau die hat der DHCP-Server gerade vergeben.

> Wenn ich den Hostnamen festlegen würde (setzt vorraus, dass ich
> dann erst die ESP-Firmware umschreiben muss) dann habe ich immer noch
> das Problem, dass ich nicht weiß, wie man anhand des Netzwerknamens die
> IP ausfindig macht.

DNS.

> Ich hatte sowas testweise damals mal probiert, hat
> mir nicht den Erfolg gebracht. Am PC war das dann nicht wie gewünscht,
> dass ich alle im Netzwerk eingewählten Namen ermitteln kann und deren IP
> bekomme.

Schon diese Formulierung "eingewählt" ... Was soll das sein? Da wählt 
sich nichts ein. Du hast die Konzepte nicht verstanden.

> Das ist das Problem warum ich dann auf feste IP gegangen bin.

Was auch gehen würde - wenn man es richtig macht. Mehreren Geräten die 
gleiche IP-Adresse zu geben ist nicht "richtig machen".

Übrigens gibt es noch einen komplett anderen Satz von Konzepten, 
allgemein als Zero-Conf bezeichnet. Für Zero-Conf sollte man allerdings 
die oben erwähnten Grundlagen wirklich verstanden haben, sonst bekommt 
man das nicht mal im Ansatz richtig implementiert. Wobei sich diverse 
Fraktionen noch streiten, was in dem Zusammenhang "richtig" ist.

von Planlos (Gast)


Lesenswert?

Auch wenn wir uns alle immer wieder wiederholen...

MQTT.

Da kann jeder ESP seine Sensorwerte anliefern und sich seine 
Schalt-Kommandos abholen, egal welche IP er vom Router bekommen hat.

Und die Händie-App wird auch viel einfacher, weil sie nicht x 
verschiedene Endpunkte abklappern muss, sondern auch alles ganz Zentral 
an einer Stelle vorfindet.

Web-App wird auch viel einfacher und "voll live und so", MQTT lässt sich 
über Websocket vom Browser ansprechen.

Der MQTT-Server (mosquitto) ist dabei so klein, dass er problemlos auf 
dem Router mitlaufen kann, oder auf einem Raspi, auf einem NAS, was halt 
grad da ist.

von Hannes J. (Firma: _⌨_) (pnuebergang)


Lesenswert?

Als ob hier MQTT das Allheilmittel wäre :-( Das ist Fanboy-Gelaber.

Wer die Grundlagen (Ethernet, IP, TCP) nicht im Griff hat bekommt auch 
MQTT nicht zum Laufen. MQTT wird nämlich normalerweise über TCP gemacht 
(Ausnahme MQTT for sensor-networks).

MQTT ist kein Allheilmittel wenn man sein Gerät nicht mal so weit 
konfigurieren kann, das es prinzipiell per TCP kommuniziert. Das heißt, 
es braucht unter anderem eine eindeutige IP-Adresse. Damit sind wir dann 
wieder am Anfang.

von Planlos (Gast)


Lesenswert?

Hannes J. schrieb:
> Als ob hier MQTT das Allheilmittel wäre

Du vergisst, dass es für den ESP (egal ob LUA mit nodemcu, mit 
Arduino-Framework oder direkt auf der SDK) fertige MQTT-Bibliotheken 
gibt.

Da ist das ganze Low-Level-Gefrickel soweit abstrahiert, dass es eben 
reicht nach 08/15-Standard Initialisierung des WLans die Server-IP zu 
setzen.

Mehr hat man da mit IP, UDP, DNS, DHCP, TCP, ... nicht zu tun, alles 
Plug&Play und voll Arduino-Jünger-tauglich.

Grundlagen kann & sollte man trotzdem lernen, aber hier geht auch "Erst 
machen, später verstehen", in bester Arduino-Manier.

von guest (Gast)


Lesenswert?

Planlos schrieb:
> Da ist das ganze Low-Level-Gefrickel soweit abstrahiert, dass es eben
> reicht nach 08/15-Standard Initialisierung des WLans die Server-IP zu
> setzen.

Und wenn sich Netz und/oder die Server-IP ändern fängst Du an alle Deine 
netten Smart-Home-Gadgets ersmal mit ner neuen Software zu versorgen. Na 
schönen Dank auch.

von Joachim S. (oyo)


Lesenswert?

Hannes J. schrieb:
> MQTT ist kein Allheilmittel wenn man sein Gerät nicht mal so weit
> konfigurieren kann, das es prinzipiell per TCP kommuniziert. Das heißt,
> es braucht unter anderem eine eindeutige IP-Adresse. Damit sind wir dann
> wieder am Anfang.

Dass alle Geräte zwangsläufig eigene IP-Adressen haben müssen (ob nun 
per DHCP oder statisch festgelegt), ist klar.
Mein Eindruck war aber, dass der Threadstarter diesen Irrtum 
mittlerweile durchaus eingesehen hat, und das gar nicht mehr weiter 
thematisiert werden muss.

Und dass hier wirklich zuerst einmal handfeste Kenntnisse in unzähligen 
Bereichen ("OSI-Model, Ethernet und MAC-Adressen, IP, TCP, UDP, ICMP, 
DNS, DHCP und ARP, [...] HTTP" ) nötig sind, denke ich jetzt eher nicht.

von Planlos (Gast)


Lesenswert?

guest schrieb:
> Und wenn sich Netz und/oder die Server-IP ändern fängst Du an alle Deine
> netten Smart-Home-Gadgets ersmal mit ner neuen Software zu versorgen. Na
> schönen Dank auch.

Mimimimimi. Heul doch. Oder vergib einen Hostnamen für den Server.

von hufnala (Gast)


Lesenswert?

Hi,

nachdem ich null Ahnung vom 8266 habe, was ist die ganze Zeit mit 
"Firmware umschreiben" gemeint, und eine FW pro Gerät?

Das Ding hat doch einen EEPROM und g***l hat diesen link zu Tage 
gefördert wo sowohl der Name als auch die IP geändert wird.

https://wolf-u.li/5585/konfiguration-einer-statischen-ip-fuer-den-esp8266-und-arduino/#more-5585
(Hostname ist ein anderer Thread auf der selben Seite)

Gut, steht Arduino drüber was der TO nicht möchte, sollte aber doch auch 
in c gehen?

1) eine FW die eh geschrieben werden muss da eigene 
Funktionen/Sensoren/EA.
2) Name und/oder IP ins EEPROM
3) beim Start EEPROM lesen und verwenden und gut ist

== 1 Firmware + unique EEPROM.

Wo ist mein Denkfehler?
Da steht auch, dass der Name = ESP + Teile der Mac Adresse ist, d.h. 
jedes Device sollte einen eigenen Namen haben der auch bei 0815 Routern 
immer zur gleichen IP führt wenn DHCP verwendet wird?

Auf Github hab ich auch ne Lib gefunden die entweder ein bekanntes Netz 
aus dem EEPROM abruft oder bis dahin einen eigenen Accespoint zur 
Konfiguration per fester IP und http aufmacht. Also vielleicht nicht mal 
unterschiedliche EEPROMS?

//hufnala

P. S. wollte mit den vielleicht auch mal vornehmen :-)

von MOBA 2. (Gast)


Lesenswert?

Hannes J. schrieb
> Broadcast oder Multicast gehen schon, wenn man (a) sie dafür verwendet
> wofür sie gemacht sind, (b) sie c.... v


Das ist super.  Dann erkläre mir doch einfach mal wie das geht anstatt 
nur zu sagen dass es geht weil das interessiert keinen ich will Lösungen 
haben.

Abgesehen davon ist dein Text genau so einer von denen die unnötige 
quatscherei sind. Man kann dies man kann dass man kann jedes und alles 
funktioniert das interessiert hier überhaupt gar keinen. Sag wie es geht 
oder spar solche Texte. Und um was zu implementieren braucht es keine 
Grundlage. Ich kenne das im groben und gut ist. Mehr habe und musste ich 
mich damit nicht beschäftigen. Mein Gedanke war nur falsch ich dachte es 
geht ähnlich einem Bussystem. x Geräte mit gleicher ID geht aber ist 
nicht toll... aber geht. Bei IP geht's nicht habe ich dann durch gemerkt 
aber rufus hat erklärt was ich nicht verstanden habe (als einziger alle 
anderen Texten nur Müll) und nun mache ich es mit udp und bis auf das 
Empfangen funktioniert es. Da muss ich nochmal gucken warum das nicht 
geht. Davon abgesehen hat du mein ganzes Konstrukt nicht verstanden oder 
bist mitten drin angefangen beim lesen sonst wurden solche unnötigen 
Texte und unqualifizierten antworten ab Kommentar: "ich werde mal pc 
software umschreiben" nicht kommen.

Spar dir solche Texte in meinem Thread wenn du nur laberst.

von Icke (Gast)


Lesenswert?

Marius D. schrieb:
> Dann erkläre mir doch einfach mal wie das geht anstatt
> nur zu sagen dass es geht weil das interessiert keinen ich will Lösungen
> haben.

Genau DAS ist dein Problem. Es gibt unzählige Versuche hier, dir zu 
helfen. Das sind ANSÄTZE - keine "Lösungen". Dass dir keiner eine .hex 
für deinen µC gibt als Lösung sollte klar sein.

Wenn du "den Namen" des ESP nicht mit deinen AT-Befehlen ändern kannst - 
warum schreibst du nicht einfach eine FW für den ESP und sparst dir uU 
gleich den ATmega ein? Für C gibt es mit dem SDK haufenweise Beispiele; 
oder du nimmst Lua, Python oder irgend einen anderen Kram für dein 
Projekt.

Ich habe zwei dieser "Magic Home LED-Streifen-WiFi-Controller" [1]. Das 
ist einfach ein ESP8266 mit 3 Mosfets, nem LDO und IR-Receiver. Beim 
ersten Start errichtet er sein eigenes WLAN. Mit der App [2] kann man 
das Gerät einfach zu einem anderen hinzufügen. Beim Start der App 
schickt sie einen  UDP-Broadcast raus und erfährt aus den Antworten, 
welche Geräte mit welchem Namen (JAAAA, sie lassen sich auch in der App 
umbennen!) und IP (sieht nur die App) da sind.
Sollte der ESP sich nicht mehr zu dem AP verbinden können, macht er 
einfach wieder sein eigenes auf und man kann bspw. den geänderten 
WPA-Key eingeben.

Warum bleibst du so sturr und lässt dir nicht helfen? :(

PS: Kann die Teile nur empfehlen. Für den Preis bekommt man die weder 
selbst gebaut noch die FW.

[1] 
https://www.aliexpress.com/item/Magic-Home-Wifi-LED-RGB-RGBW-Controler-DC12V-MIni-Wifi-24-IR-Key-Remote-Controller-for/32727072737.html?spm=2114.40010308.4.2.STQEeA
[2] 
https://play.google.com/store/apps/details?id=com.Zengge.LEDWifiMagicHome&hl=de

von Einer K. (Gast)


Lesenswert?

Und, du glaubst wirklich, nach so einem Posting noch hilfreiche 
Antworten zu bekommen?

Selbst, wenn du für diese Dienstleistung bezahlen würdest, wäre dein 
Verhalten anstößig/unhöflich.


Tipp 1:
Wenn du die Antworten nicht verstehst, dann fehlen dir Grundlagen. 
Fertig und aus.
Da hilft kein Gejammere.
Und kein mit den Füßen auf dem Boden rum stampfen, wie so ein 3 jähriges 
Kind....


Tipp 2:
Martin Gerhard Reisenberg sagte:
> Schreie nach Besserem, bis du es auch erhältst.
> Das noch Bessere verabschiedet sich
> rechtzeitig vor deinem Lärm.




Marius D. schrieb:
> Hannes J. schrieb
>> Broadcast oder Multicast gehen schon, wenn man (a) sie dafür verwendet
>> wofür sie gemacht sind, (b) sie c.... v
>
> Das ist super.  Dann erkläre mir doch einfach mal wie das geht anstatt
> nur zu sagen dass es geht weil das interessiert keinen ich will Lösungen
> haben.
>
> Abgesehen davon ist dein Text genau so einer von denen die unnötige
> quatscherei sind. Man kann dies man kann dass man kann jedes und alles
> funktioniert das interessiert hier überhaupt gar keinen. Sag wie es geht
> oder spar solche Texte. Und um was zu implementieren braucht es keine
> Grundlage. Ich kenne das im groben und gut ist. Mehr habe und musste ich
> mich damit nicht beschäftigen. Mein Gedanke war nur falsch ich dachte es
> geht ähnlich einem Bussystem. x Geräte mit gleicher ID geht aber ist
> nicht toll... aber geht. Bei IP geht's nicht habe ich dann durch gemerkt
> aber rufus hat erklärt was ich nicht verstanden habe (als einziger alle
> anderen Texten nur Müll) und nun mache ich es mit udp und bis auf das
> Empfangen funktioniert es. Da muss ich nochmal gucken warum das nicht
> geht. Davon abgesehen hat du mein ganzes Konstrukt nicht verstanden oder
> bist mitten drin angefangen beim lesen sonst wurden solche unnötigen
> Texte und unqualifizierten antworten ab Kommentar: "ich werde mal pc
> software umschreiben" nicht kommen.
>
> Spar dir solche Texte in meinem Thread wenn du nur laberst.

von MOBA 2. (Gast)


Lesenswert?

Arduino F. schrieb:
> Und, du glaubst wirklich, nach so einem Posting noch hilfreiche
> Antworten zu bekommen?
>
> Selbst, wenn du für diese Dienstleistung bezahlen würdest, wäre dein
> Verhalten anstößig/unhöflich.

Du warst doch der erste der gepostet hat, dummes Zeug und wie die Axt im 
Wald. Also halt dich doch einfach raus, Junge.

Davon ab. Ich habe schon LANGE alles was ich wollte. Läuft schon alles 
:)
Rufus hat doch erklärt was unschlüssig war. Mehr wollte ich gar nicht. 
Keine Ahnung warum hier immer noch so viel geschrieben wird....

von MOBA 2. (Gast)


Lesenswert?

Icke schrieb:
> Genau DAS ist dein Problem. Es gibt unzählige Versuche hier, dir zu
> helfen. Das sind ANSÄTZE - keine "Lösungen". Dass dir keiner eine .hex
> für deinen µC gibt als Lösung sollte klar sein.
Brauche ich doch auch gar nicht, ich kann programmieren, davon ab läuft 
das ja alles und ist schon lange fertig. Ein Ansatz ist nicht zu sagen 
das es geht, sondern im groben wie. Es war ja nur der Gedankenfehler mit 
den gleichen IP's. Seit UDP ist alles ok.

> Wenn du "den Namen" des ESP nicht mit deinen AT-Befehlen ändern kannst -
> warum schreibst du nicht einfach eine FW für den ESP und sparst dir uU
> gleich den ATmega ein? Für C gibt es mit dem SDK haufenweise Beispiele;
> oder du nimmst Lua, Python oder irgend einen anderen Kram für dein
> Projekt.
Ich habe aber keine Lust die FW vom ESP zu ändern. Mein erstes Projekt 
mit dem ESP ist vor 4 Jahren. Dort habe ich das schon nicht machen 
wollen.

> Beim
> ersten Start errichtet er sein eigenes WLAN. Mit der App [2] kann man
> das Gerät einfach zu einem anderen hinzufügen. Beim Start der App
> schickt sie einen  UDP-Broadcast raus und erfährt aus den Antworten,
> welche Geräte mit welchem Namen (JAAAA, sie lassen sich auch in der App
> umbennen!) und IP (sieht nur die App) da sind.
> Sollte der ESP sich nicht mehr zu dem AP verbinden können, macht er
> einfach wieder sein eigenes auf und man kann bspw. den geänderten
> WPA-Key eingeben.
Genau das was der kann habe ich bei meinen Geräten als ich mit dem ESP 
anfing (vor 4 Jahren) auch implementiert. Exakt das gleiche Schema 
abgesehen vom UDP, das mache ich jetzt ja. Das wusste ich nicht mit dem 
UDP Broadcast. Ich hatte das damals auch so implementiert, dass wenn der 
ESP sich nicht einwählen kann er den AP aufmacht. Dort kann man dann 
über APP/PC Terminal (automatische Routinen) eine 
"Netzwerkregistrierung" anklicken und dann die nötigen Daten eingeben. 
Dann verschwindet der AP und man kann es bedienen (ich hatte bis dato 
feste IP). Durch den UDP Broadcast werde ich das ganze nun dynamisch 
machen können. Hätte ich früher gewusst, dass es bei UDP Broadcast gibt, 
hätte ich das gleich so gemacht. Aber nun wird es nachgeholt! Und das 
war eigentlich auch nur die einzige Frage die schon lange beantwortet 
wurde.....



> Warum bleibst du so sturr und lässt dir nicht helfen? :(
Ich lasse mir gerne helfen. Aber nicht bei solchen Antworten die nicht 
auf meine Sachen eingehen. Rufus hat es getan und seit dem läuft's. MQTT 
kenne ich seit ewigen Jahren, wollte/will ich aber geziehlt nicht 
einsetzen. Wird mir aber 1000x vorgeschlagen, obwohl ich mehrfach gesagt 
habe das mein Konzept ein anderes ist. Dafür habe ich die App, 
PC-Terminal und µC-Firmware schon lange fertig und vollständig. Ich muss 
jetzt nur einmal alles von HTTP PUT auf UDP ändern und es geht.

> PS: Kann die Teile nur empfehlen. Für den Preis bekommt man die weder
> selbst gebaut noch die FW.
Das ist bestimmt richtig. Ich baue aber gerne selber da ich dort einfach 
FW technisch machen kann was ich will. Aber trzd. danke für die Links. 
Sind auf jeden Fall interessant!

> [1]
> 
https://www.aliexpress.com/item/Magic-Home-Wifi-LED-RGB-RGBW-Controler-DC12V-MIni-Wifi-24-IR-Key-Remote-Controller-for/32727072737.html?spm=2114.40010308.4.2.STQEeA
> [2]
> https://play.google.com/store/apps/details?id=com.Zengge.LEDWifiMagicHome&hl=de

von Joachim S. (oyo)


Lesenswert?

Marius D. schrieb:
> MQTT kenne ich seit ewigen Jahren, wollte/will ich aber geziehlt nicht
> einsetzen. Wird mir aber 1000x vorgeschlagen, obwohl ich mehrfach gesagt
> habe das mein Konzept ein anderes ist.

Ahja, soso. Zu Deiner Erinnerung hier nochmal die absolut einzige 
Stelle, an der Du selbst bislang MQTT erwähnt hast:

> MQTT werde ich mir angucken, die Frage ist nur, ob ich dann noch via
> HTTP per App drauf zu greifen kann, geht das?

Wirklich unverständlich, wieso die anderen Forenten in Anbetracht einer 
solchen Aussage nicht sofort darauf gekommen sind, dass Du MQTT in 
Wahrheit schon "seit ewigen Jahren" kennst, also quasi voll der 
MQTT-Experte bist.

von MOBA 2. (Gast)


Lesenswert?

Joachim S. schrieb:
> Marius D. schrieb:
>> MQTT kenne ich seit ewigen Jahren, wollte/will ich aber geziehlt nicht
>> einsetzen. Wird mir aber 1000x vorgeschlagen, obwohl ich mehrfach gesagt
>> habe das mein Konzept ein anderes ist.
>
> Ahja, soso. Zu Deiner Erinnerung hier nochmal die *absolut einzige*
> Stelle, an der Du selbst bislang MQTT erwähnt hast:
>
>> MQTT werde ich mir angucken, die Frage ist nur, ob ich dann noch via
>> HTTP per App drauf zu greifen kann, geht das?
>
> Wirklich unverständlich, wieso die anderen Forenten in Anbetracht einer
> solchen Aussage nicht sofort darauf gekommen sind, dass Du MQTT in
> Wahrheit schon "seit ewigen Jahren" kennst, also quasi voll der
> MQTT-Experte bist.

Nein ich kenne es grob die es arbeitet und was die Idee ist. Das andere 
wollte ich mir nochmal angucken wie man es einrichtet so meinte ich das.

von Martin P. (billx)


Lesenswert?

mdns? ... id nimmste die mac.

von C.G. (Gast)


Lesenswert?

Man man man....... ich finds ja echt Klasse das sich immer mehr Leute 
die vorher evtl. nie mit Elektronik oder IT etc. auch nur irgendwas am 
Hut hatten sich durch Arduino, ESP breakout boards etc. dazu beflügelt 
fühlen "schöne neue" Dinge zu basteln, ABER es führt in den meisten 
Fällen, die ich bis jetzt beobachten durfte, immer nur zu einem 
"drauflosbasteln ohne Sinn und Verstand" bis jemand anderes es dann 
fixed. Das vorherige bitte nicht persönlich nehmen, ich bin auch kein 
Profi und war am Anfang genauso drauf, aber habe doch mit den Jahren 
feststellen müssen das es einfach Gold wert ist sich VORHER ein wenig 
mit den Grundlagen des Themas zu beschäftigen so dass man wenigstens 
ansatzweise nachvollziehen / verstehen kann was man da eigentlich tut. 
Diese wurde hier anscheinend NICHT getan. Ich weis es ist verlockend ein 
snippet hier und ein snippet da n bischen Strg-C / Strg-V, ein paar 
klicks in der IDE und schon "tatatataaaaa" ist das Projekt fertig und 
wenn man gaaaanz viel Glück hat läuft es auch aber wehe es hakt irgendwo 
dann beginnt der absolut vermeidbare HeadlessChickenDance.
Dabei ist es eigentlich sooo einfach, es gibt zu fast allem irgendwie - 
irgendwo n Wikipedia Artikel oder ähnliches im Netz zu finden da muss 
man zwar auch ein wenig selber filtern was brauchbar ist aber das 
bekommt man mit der Zeit schon raus. Bücher sollen auch ganz gut 
funktionieren, habe ich mir sagen lassen.
Die Menschheit wächst heute fast mit dem Smartphone in der Hand auf, 
aber weis sich nicht mal selbst zu helfen.
Ich bin immer wieder erstaunt welche Blicke man erntet wenn man nach 
etwas gefragt wird, es selber nicht weis und empfiehlt : Befrag doch mal 
die Suchmaschiene deiner Wahl dazu, was anderes würde ich jetzt auch 
nicht tun. Wie???? echt??? das geht??? Informationen aus dem Internetz?? 
Wie nicht von Youtube??? Brauch ich dafür ne App??????

.... von meinem Geschwafel bitte nicht entmutigen lassen, macht bitte 
mit dem weiter was ihr tut, nur wer übt kann zum Meister werden, aber im 
Hinterkopf behalten, versucht wenigstens Euch selbst zu helfen bevor man 
hier einfach was postet von wegen n anderer wirds schon richten und 
so...

von Oliver S. (phetty)


Lesenswert?

Wieso nimmst Du nicht espeasy oder ein ähnliches Paket? Da ist alles 
schon drin.

von MOBA 2. (Gast)


Lesenswert?

C.G. schrieb:
> Man man man....... ich finds ja echt Klasse das sich immer mehr Leute
> die vorher evtl. nie mit Elektronik oder IT etc. auch nur irgendwas am
> Hut hatten sich durch Arduino, ESP breakout boards etc. dazu beflügelt
> fühlen "schöne neue" Dinge zu basteln, ABER es führt in den meisten
> Fällen, die ich bis jetzt beobachten durfte, immer nur zu einem
> "drauflosbasteln ohne Sinn und Verstand" bis jemand anderes es dann
> fixed. Das vorherige bitte nicht persönlich nehmen, ich bin auch kein
> Profi und war am Anfang genauso drauf, aber habe doch mit den Jahren
> feststellen müssen das es einfach Gold wert ist sich VORHER ein wenig
> mit den Grundlagen des Themas zu beschäftigen so dass man wenigstens
> ansatzweise nachvollziehen / verstehen kann was man da eigentlich tut.
> Diese wurde hier anscheinend NICHT getan. Ich weis es ist verlockend ein
> snippet hier und ein snippet da n bischen Strg-C / Strg-V, ein paar
> klicks in der IDE und schon "tatatataaaaa" ist das Projekt fertig und
> wenn man gaaaanz viel Glück hat läuft es auch aber wehe es hakt irgendwo
> dann beginnt der absolut vermeidbare HeadlessChickenDance.
> Dabei ist es eigentlich sooo einfach, es gibt zu fast allem irgendwie -
> irgendwo n Wikipedia Artikel oder ähnliches im Netz zu finden da muss
> man zwar auch ein wenig selber filtern was brauchbar ist aber das
> bekommt man mit der Zeit schon raus. Bücher sollen auch ganz gut
> funktionieren, habe ich mir sagen lassen.
> Die Menschheit wächst heute fast mit dem Smartphone in der Hand auf,
> aber weis sich nicht mal selbst zu helfen.
> Ich bin immer wieder erstaunt welche Blicke man erntet wenn man nach
> etwas gefragt wird, es selber nicht weis und empfiehlt : Befrag doch mal
> die Suchmaschiene deiner Wahl dazu, was anderes würde ich jetzt auch
> nicht tun. Wie???? echt??? das geht??? Informationen aus dem Internetz??
> Wie nicht von Youtube??? Brauch ich dafür ne App??????
>
> .... von meinem Geschwafel bitte nicht entmutigen lassen, macht bitte
> mit dem weiter was ihr tut, nur wer übt kann zum Meister werden, aber im
> Hinterkopf behalten, versucht wenigstens Euch selbst zu helfen bevor man
> hier einfach was postet von wegen n anderer wirds schon richten und
> so...


Der Thread ist eigentlich schon lange erledigt?
Auf wen willst du diesen Text schließen? Auf mich? Da muss ich dich 
leider enttäuschen. Wie bereits gesagt, bei dem Internetprotokoll habe 
ich etwas drauf los geschossen, korrekt (aber auch NUR der Punkt mit den 
mehreren IP's die gleich sind). Alles andere (bspw. µC FW ~25kb + 
Bootloader via WLAN updatebar, App, Terminal alles in C/Java). Alles 
andere was ich seit mehreren Jahren am Laufen habe (TCP/HTTP Befehle) 
war ich tiefer in der Materie. Ich hätte natürlich mir damals mal UDP 
angucken sollen, dachte aber ist irrelevant wegen TCP/HTTP weil das gut 
lief....
Es nervt, weil man einmal drauf los geschossen hat, so einen Shit zu 
ernten. Mein Gott. Rufus hat es mir in 3 Sätzen erklärt und damit war 
die ganze Geschichte eignetlich erledigt und verstanden. Andere geilen 
sich hier auf habe ich das Gefühl.

BTW: Arduino, Breakoutboards etc... kann ich überhaupt nicht ab. Gerade 
Arduino und diese "Sketch" was absolut nichts mit Programmierung zu tun 
hat. Ich fertige meine Schaltungen + Platinen selber seit zig Jahren und 
habe selbst Elektrotechnik an der Uni studiert...

von MOBA 2. (Gast)


Lesenswert?

Oliver S. schrieb:
> Wieso nimmst Du nicht espeasy oder ein ähnliches Paket? Da ist alles
> schon drin.

FHEM habe ich bereits in Gebrauch für Fernzugriff und Weboberfläche.
Allerdings mit eigenen Modulen passend für meine Firmwarebefehle...

von Sheeva P. (sheevaplug)


Lesenswert?

Marius D. schrieb:
> Das Problem liegt ja einfach nur in einem Punkt:
>
> Wenn ich DHCP mache würde alles laufen ohne Probleme. Jedoch bekomme ich
> dann an der APP/PC nicht mehr die Geräte ermittelt. Wenn ich das
> hinbekommen würde, dann wäre alles erledigt. Dann mache ich DHCP und
> fertig. Da das aber einfach nicht geklappt hat damals als ich angefangen
> habe mit dem ESP (vor 3 Jahren), bin ich zu der Variante der festen IP
> gegeangen. Die ist in APP und PC Terminal hinterlegt und das klappt.

Der DHCP-Client kann dem DHCP-Server einen Hostnamen übermitteln. Diesen 
Namen würde ein wohlerzogener Router/Gateway dann als Hostnamen im DNS 
registrieren. Keine Ahnung, wie die Übergabe des Hostnamens in Deiner 
Firmware implementiert werden muß und ob Dein Router/Gateway per DHCP 
übergebene Hostnamen im DNS einträgt, aber das wäre der korrekte Weg.

von Dracul (Gast)


Lesenswert?

Jemand der behauptet dieser "Sketch" hätte nichts mit Programmierung zu 
tun, den kann man doch nicht ernst nehmen. Das Bild zeigt sich aber 
durch die ganze Lektüre dieses Threads.

von Stefan F. (Gast)


Lesenswert?

> Diesen Namen würde ein wohlerzogener Router/Gateway dann als
> Hostnamen im DNS registrieren.

Ja, schön wär's. Meine drei vorherigen WLAN Router hatten das alle nicht 
gemacht. Weil mich (unter anderem) das so genervt hat, habe ich dieses 
mal tiefer in die Tasche gegriffen und eine Fritzbox gekauft, die kann 
das.

Mitllerweilen bekommt man ja schon welche ab 50 Euro.

>  aber das wäre der korrekte Weg.

Allerdings. Im Business Umfeld habe ich nie etwas anderes gesehen.

von Horst (Gast)


Lesenswert?

Wieso lässt du deine WLAN Module sich nicht bei einem zentralen Server 
registrieren? Generell würde ich für Automatisierung etwas mit 
MQTT/REST/etc. nehmen. Wozu der ATmega?

Das kann entweder ein ESP8266 oder ein Dienst aufm 
Router/Pi/Thingspeak/Conrad Cloud/etc. sein.



Marius D. schrieb:
> BTW: Arduino, Breakoutboards etc... kann ich überhaupt nicht ab. Gerade
> Arduino und diese "Sketch" was absolut nichts mit Programmierung zu tun
> hat. Ich fertige meine Schaltungen + Platinen selber seit zig Jahren und
> habe selbst Elektrotechnik an der Uni studiert...

Gerade beim ESP8266 ist die Arduino IDE sehr schön da man hier einfach 
und schnell eine Anwendung die z.B. über einen HTTPS Post Sensorwerte 
übermittelt realisieren kann.

Ich wüsste nicht wieso ich für so eine Anwendung eine Platine designen 
sollte und dann auch noch eine Toolchain aufsetzen sollte. Ist doch 
Zeitverschwendung.

Aber ich seh schon, dann wäre es dir nicht elitär genug für dein 
abgehobenes Ego (keinen in diesem Thread interessiert, ob du 
Elektrotechnik/Gender Studies studiert hast).

von Einer K. (Gast)


Lesenswert?

Horst schrieb:
> Marius D. schrieb:
>> BTW: Arduino, Breakoutboards etc... kann ich überhaupt nicht ab. Gerade
>> Arduino und diese "Sketch" was absolut nichts mit Programmierung zu tun
>> hat.

Das muss man nicht so ernst nehmen...
Das ist die Abwertung eines Menschen, der (vermutlich) kein C++11 kann, 
und auch nicht sehen will. Ausblenden ist in solchen Situationen eine 
übliche Vorgehensweise. Und darum wird Arduino mal wieder verteufelt.
Eine Abwertung um sich selber etwas zu erhöhen.
Die Methode hat zwar kurze Beine, wird aber immer noch gerne genommen.
Steckt wohl tief in der menschlichen Psyche.

Ich finde das ok, es muss auch "andere" geben. Sonst wäre die Welt nicht 
so bunt, wie sie ist.
Auch wenn ich es als sehr überheblich/vermessen empfinde, einem modernen 
C++ den Status einer Programmiersprache abzuerkennen.

von C.G. (Gast)


Lesenswert?

Marius D. schrieb:
> Der Thread ist eigentlich schon lange erledigt?
> Auf wen willst du diesen Text schließen? Auf mich? Da muss ich dich
> leider enttäuschen. Wie bereits gesagt, bei dem Internetprotokoll habe
> ich etwas drauf los geschossen, korrekt (aber auch NUR der Punkt mit den
> mehreren IP's die gleich sind). Alles andere (bspw. µC FW ~25kb +
> Bootloader via WLAN updatebar, App, Terminal alles in C/Java). Alles
> andere was ich seit mehreren Jahren am Laufen habe (TCP/HTTP Befehle)
> war ich tiefer in der Materie. Ich hätte natürlich mir damals mal UDP
> angucken sollen, dachte aber ist irrelevant wegen TCP/HTTP weil das gut
> lief....
> Es nervt, weil man einmal drauf los geschossen hat, so einen Shit zu
> ernten. Mein Gott. Rufus hat es mir in 3 Sätzen erklärt und damit war
> die ganze Geschichte eignetlich erledigt und verstanden. Andere geilen
> sich hier auf habe ich das Gefühl.
>
> BTW: Arduino, Breakoutboards etc... kann ich überhaupt nicht ab. Gerade
> Arduino und diese "Sketch" was absolut nichts mit Programmierung zu tun
> hat. Ich fertige meine Schaltungen + Platinen selber seit zig Jahren und
> habe selbst Elektrotechnik an der Uni studiert...



also nur um das klar zu stellen, ich wollte hier niemandem ans Bein 
pissen, es ist einfach nur eine Feststellung und dieser Thread war halt 
grad einfach da. Wie sehr du das auf dich beziehst bleibt völlig dir 
überlassen und wenn du ehrlich bist hab ich da gar nicht soooo viel 
"shit" abgelassen... Das solls dann aber auch dazu gewesen sein.

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.