Hallo.
Nachdem es viele hervorragende Beispiele gibt, wie man einen Webserver
z.B. mit Arduino realisieren kann, suche ich nach der Lösung eines
klassischen Problems.
Die ip wird per DHCP vergeben. Das ist wohl die beste universelle
Lösung.
>>> Wie kann der Benutzer über einen Browser auf den Embedded-Webserver zugreifen
ohne die ip irgendwo abzulesen?
Kann man dem Arduino beibringen, z. B. beim DHCP-Zugriff einen Namen
eintragen zu lassen? (ArduinoWebserver1.Blablabla)
Kann man per broadcat (UDP) durch einen Link aus einer Datei o. ä. den
Emb-Ws erreichen, so dass dieser seine IP-Adresse als Link in einer
Seite zurückschickt?
Irgendwie muss das doch lösbar sein.
Meine Fritz-Box reagiert ja auch auf www.fritz.box. Gut, die hat es
leicht, hängt ja selbst dazwischen...
In diesem Sinne, hoffe auf Feedback.
E. dM schrieb: > Kann man dem Arduino beibringen, z. B. beim DHCP-Zugriff einen Namen > eintragen zu lassen? (ArduinoWebserver1.Blablabla) Man kann bei den meisten DHCP-Servern eine bekannte MAC-Adresse direkt an eine fest zu vergebende IP-Adresse binden. > Meine Fritz-Box reagiert ja auch auf www.fritz.box. Auch bei Deiner FritzBox als DHCP-Server kannst Du einstellen, dass die einmal vergebene IP-Adresse auch für alle Zukunft für dieses Gerät gelten soll.
:
Bearbeitet durch Moderator
das ist super... nur muss man dann immernoch die MAC-Adresse kennen/aufgeschrieben haben (incl. wiederfinden)/von den anderen unbekannten Geräten die gleichzeitig im Netz sind unterscheiden können... das ist also blöd. Leider wohl nur durch Ordnung lösbar.
??? schrieb: > das ist super... nur muss man dann immernoch die MAC-Adresse > kennen/aufgeschrieben haben (incl. wiederfinden)/von den anderen > unbekannten Geräten die gleichzeitig im Netz sind unterscheiden > können... Unsinn. Warum willst Du sie Dir aufschreiben? Du musst sie dem DHCP-Server nur "aufschreiben", das heisst, in irgendeine Konfigurations-Datei schreiben oder über ein Menü eintragen. Bei der FritzBox musst Du die MAC-Adresse noch nichtmals kennen. LAN anzeigen lassen und schon siehst Du das neue Gerät im Netz. Dann einfach der Fritzbox durch Klick mitteilen, dass sie zukünftig die vergebene IP-Adresse für dieses Gerät reservieren soll. Damit bekommt das Ding dann immer dieselbe. Fertig.
Klasse wieviele Antworten es bereits gibt. Ich möchte auf eine Anwebdung hinaus, in der ein Benutzer den WS (webserver) sozusagen auspackt, an sein Lan m. DHCP steckt und dann im Browser den WS findet, ohne vorher (!) die ip zu kennen.
E. dM schrieb: > Ich möchte auf eine Anwebdung hinaus, in der ein Benutzer den WS > (webserver) sozusagen auspackt, an sein Lan m. DHCP steckt und dann im > Browser den WS findet, ohne vorher (!) die ip zu kennen. Manche lokale DNS-Server (ich meine jetzt NICHT DHCP-Server) tragen den SMB-Namen eines Netzwerkgerätes automatisch in die lokale Domain ein. Das macht zum Beispiel auch die Fritzbox. Aber es gibt kein Verfahren, so etwas in jedem LAN zu erzwingen. Vergiss es also - geht nicht. Hänge an Deine Anwendung einfach ein kleines Display, auf welchem die vergebene IP-Adresse ausgegeben wird. Der User kann sie dann dort ablesen und im Browser eintippen.
Alternativ ein Programm (link reicht ja eigentlich) mitliefern das den Server per broadcast oder ping sucht....
Die Fritzbox sagt deinem PC über DHCP seine IP und auch den Nameserver den er benutzen soll. Nämlich sie selbst. Dadurch hat sie es leicht auf eine Nameserveranfrage nach www.fritz.box richtig zu antworten. Ich sehe keine Möglichkeit dein Problem sicher zu lösen. Auch Broadcasts sind gefährlich. Wie willst du 2 gleiche Geräte im selben Netz auseinanderhalten?
:
Bearbeitet durch User
Frank M. schrieb: > Aber es gibt kein Verfahren, > so etwas in jedem LAN zu erzwingen. Vergiss es also - geht nicht. Zero-Config aka mDNS-SD aka Aloha
Ping geht nur, wenn man die ip kennt. Broadcast geht angeblich nur bei UDP, nicht bei tcp. Vielleicht ist die Lösung, den Arduino auf ein UDP-broadcast, den ein kleines Programm schickt, antworten zu lassen. Dann könnte er z.B. an die mitgesendete ip seine eigenen ip zurück schicken. Oder so ähnlich... Wer kann das etwas genauer spezifizieren? Ich kenn mich mit ip, UDP und so nicht besonders gut aus.
@Jürgen Ich habe gerade gesehen, dass die Arduino Ethernet-lib UDP unterstützt. Lösung: - jedes Gerät hat eine interne ID vom Hersteller. - Alle habe denselben UDP-Port XYZ, Herstellerspezifisch. - Ein CMD-line-programm schickt einen Broadcast an den Port XYZ. - Jedes Gerät antwortet mit seiner ID & ip. - Das CMD-line-prg ruft den Systembrowser auf mit einem Instanz für jedes Gerät. - Die einzelnen Geräte erscheinen mit ihrer index.htm und Ihrer ID. Fertig, oder?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.