2017-06-14 6 views
0

Ich möchte eine Registrierung/entdecken Art der Service-Verbindung zwischen 2 Geräten auf dem gleichen WLAN. Idee ist zu finden, zu verbinden und senden Wireless Router Passwort zu einem neuen Gerät für die einfache Installation. Dies erfordert die Kommunikation zwischen zwei Geräten im selben drahtlosen Netzwerk, bevor eine Verbindung zum Router mit SSID, Passwort hergestellt wird.Zeroconf auf Wireless-Verbindung ohne Passwort

Ich kenne Zeroconf, Bonjour und MDNS-Bibliotheken. Alle Implementierungen, die ich sehe, beginnen mit der Verbindung zu WLAN im Stationsmodus, um eine lokale IP mit fest codierter SSID und Passwort zu erhalten, was zu diesem Zeitpunkt nicht bekannt ist.

Mit anderen Worten, wie kann man mit Wireless verbinden und eine Verbindung lokale IP ohne SSID und Passwort bekommen?

- Bearbeiten für eine bessere Erklärung -

Der Fluss i für ist wie folgt aussehen bin:

1- Mobiltelefon (iPhone oder Android) ist verbunden drahtloses Heimnetzwerk zu sichern, wie üblich
2- Ein neues Gerät mit drahtloser Schnittstelle wird beim ersten Mal eingeschaltet.
3- Gerät bekommt (oder Sätze) eine lokale IP und lokale DNS-Namen (Multicast-IP und Name) für sich
4- Gerät sendet seine verfügbaren Dienste an das Netzwerk
5- Telefon den Dienst entdeckt, zusammen mit Geräten lokaler Name und sogar lokale IP bereits zugewiesen.
6- Telefon initiiert eine direkte Verbindung mit dem Gerät drahtlose Konfigurationsinformationen (SSID und das Passwort für den Zugangspunkt)
7 zu senden - Gerät speichert diese Information in dem Modus des Normalbetriebes zurückzusetzt
8 - Gerät mit dem Internet verbindet
9 - Geräte-Dienste sind noch verfügbar im lokalen Netzwerk

- bearbeiten -

-Code wird auf esp32 oder Esp8266 laufen, so kompatibel c oder arduino Bibliotheken sind in Ordnung.

Ich bin bewusst von Smartconfig-Implementierung von ESPTouch-Anwendung, aber es ist ein schreckliches Design! Das Erkennungsprogramm versucht, Sockets für jede mögliche IP-Adresse zu erstellen, um die Peer-IP zu finden.

Antwort

0

diesen Satz in Frage lesen wieder und denken Sie daran:

Mit anderen Worten, wie kann die drahtlose Verbindung und einen Link lokale IP- ohne SSID und Passwort?

Die von Ihnen erwähnten Protokolle sind nur möglich, nachdem Sie Teil des Netzwerks sind. Wie Sie wissen, sind Wi-Fi-Netzwerke geschützt, um unbefugten Zugriff zu verhindern.

Versuchen Sie Wifi geschützte Einrichtung (WPS) in Google.

+1

Nicht wahr. Ich weiß, dass Sie UDP-Pakete senden und empfangen, P2P-Socket-Kommunikation usw. tun können, bevor Sie sich über einen WLAN-Router mit SSID und Passwort verbinden. So funktioniert ESPTouch, um die ssid-, pwd-Informationen an ein anderes Gerät im Netzwerk zu übertragen. –

+0

Nach einer umfangreichen Recherche habe ich herausgefunden, dass du fast völlig Recht hast! Es gibt kein formales Protokoll, mit dem ein Gerät kommunizieren kann, bevor es mit dem Netzwerk authentifiziert wird.Was ESPTouch und SmartConfig tun, ist das Sniffing des Netzwerks und die Veröffentlichung von Nachrichten, ausgedrückt in Paketgrößen! Hier ist ein ausgezeichneter Artikel dazu: –

+0

[link] (http://depletionregion.blogspot.com.tr/2013/10/cc3000-smart-config-transmitting-ssid.html) Dies ist keine Best Practice und Ich gebe auf! Der beste Weg, um drahtlose Konfiguration zu senden scheint über Bluetooth oder USB zu sein. –

Verwandte Themen