Comment un appareil peut-il obtenir le SSID et le mot de passe de mon réseau sans WPS?


13

J'étudie les moyens de faire accéder un appareil IoT au réseau wifi d'un utilisateur. Je connais la méthode WPS, où l'appareil «diffuse» un signal et le routeur, après avoir reçu l'ordre d'écouter, de «le recevoir» et de lui donner accès. Il y a aussi la façon dont l'appareil crée son propre point d'accès, l'utilisateur s'y connecte pour transmettre le SSID et le mot de passe du réseau domestique. Y a-t-il d'autres façons d'accomplir cela?

J'ai lu cet article qui parle de cette méthode 'ProbMe' :

Je me trompe peut-être, mais le Broadlink Rm Pro peut faire quelque chose comme ça. Récemment, j'en ai configuré un et j'ai juste eu à:

  1. Connecter mon smartphone à mon wifi

  2. Scannez un code QR ou saisissez un code dans l'application Broadlink

  3. Entrez mon SSID et mon mot de passe réseau dans l'application Broadlink

  4. Et, je ne sais pas comment, l'appareil est connecté à mon réseau, l'application a même son adresse MAC.

Est-ce que l'un d'entre vous en sait plus sur cette méthode ProbMe et / ou d'autres alternatives pour permettre à un appareil IoT d'accéder à un réseau wifi utilisateur?

Edit: En recherchant le ProbMe, j'ai découvert qu'il s'agit d'une technologie d'une société appelée Econais , partageant simplement si l'un d'entre vous souhaite développer / produire quelque chose de similaire, la société travaille avec le logiciel / matériel IoT. Avis de non-responsabilité: je ne travaille pas chez Econais et je n'y suis d'aucune façon impliqué.


1
C'était un peu répondu ici. De nombreuses puces wifi peuvent basculer entre le mode client et le mode point d'accès. ESP8266 sont capables iot.stackexchange.com/questions/2568/…
GusGorman402

Merci pour le commentaire @ GusGorman402. Le mode client / mode point d'accès est une bonne solution à mon problème. Quoi qu'il en soit, je voudrais souligner que le périphérique Broadlink que j'ai pointé sur ma question n'a pas utilisé quelque chose comme ça, du moins je ne pense pas, car mon smartphone n'a pas commuté le wifi auquel il n'était connecté ni manuellement ni par programmation. Je parie que c'était quelque chose de similaire à la méthode ProbMe.
Eric Akira

Je pense que cela utilise le protocole ESP-Touch développé par Espressif. Cet article fournit quelques détails et du code Arduino pour l'utiliser via la fonction WiFi.beginSmartConfig (). Je n'ai pas testé cela moi-même, donc je ne pose pas encore cela comme une réponse, mais je mettrai à jour avec tous les détails si / quand je le fais fonctionner.
jsaven

Réponses:


9

Si vous utilisez un ESP8266, la fonction de configuration intelligente intégrée peut y parvenir. Un exemple peut être trouvé ici: ESP8266 Arduino WiFiSmartConfig.ino .

Les étapes importantes consistent à passer en mode STA: WiFi.mode(WIFI_STA);

Ensuite, commencez à rechercher les paquets de configuration intelligente: WiFi.beginSmartConfig();

Enfin, vérifiez que la configuration est terminée: WiFi.smartConfigDone()

Le wifi peut ensuite être configuré sur l'appareil à l'aide d'un iPhone ou d' Android Ap , ou vous pouvez créer le vôtre depuis Espressif iOS Ap ou Android Ap .

L'ESP32 a également cette capacité; voir Démo 11: Comment utiliser SmartConfig sur Arduino ESP32 .


1

La plupart des appareils que j'ai achetés (caméras IP, interrupteurs d'éclairage, prises de courant) utilisaient la communication ultrasonique dans les coulisses. Jetez un œil à des marques telles que Chromecast, Lisnr & Chirp.

Lorsque l'appareil est en mode configuration, vous devez tenir votre smartphone près de l'appareil et l'application cliente enverra un signal audio (qui pourrait être audible ou inaudible), avec le SSID et le mot de passe modulés. Sonne comme l'âge de pierre, mais ça marche sans fioritures :)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.