Come può un dispositivo ottenere SSID e password della mia rete senza WPS?


13

Sto studiando i modi per fare in modo che un dispositivo IoT acceda alla rete wifi di un utente. Conosco il modo WPS, in cui il dispositivo "trasmette" un segnale e il router, dopo che gli è stato comandato di ascoltarlo, lo "riceve" e dà al dispositivo il suo accesso. C'è anche il modo in cui il dispositivo crea il proprio punto di accesso, l'utente si connette ad esso per passare l'SSID e la password della rete domestica. Ci sono altri modi per farlo?

Ho letto questo articolo che parla di questo metodo "ProbMe" :

Potrei sbagliarmi, ma Broadlink Rm Pro potrebbe fare qualcosa del genere. Recentemente ho configurato uno di questi e dovevo solo:

  1. Collega il mio smartphone al mio wifi

  2. Scansiona un codice QR o digita un codice nell'app Broadlink

  3. Inserisci il mio SSID di rete e la password nell'app Broadlink

  4. E, non so come, il dispositivo sia collegato alla mia rete, l'app ha anche il suo indirizzo MAC.

Qualcuno di voi sa di più su questo metodo ProbMe e / o altre alternative per consentire a un dispositivo IoT di accedere a una rete wifi dell'utente?

Modifica: Cercando su ProbMe, ho scoperto che questa è una tecnologia di una società chiamata Econais , che condivide solo se qualcuno di voi vuole sviluppare / produrre qualcosa di simile, la società lavora con software / hardware IoT. Disclaimer: non lavoro in Econais né sono coinvolto in alcun modo.


1
È stato un po 'risposto qui. Molti chip wifi hanno la possibilità di passare dalla modalità client alla modalità punto di accesso. ESP8266 sono in grado iot.stackexchange.com/questions/2568/…
GusGorman402

Grazie per il commento @ GusGorman402. La Modalità client / Modalità punto di accesso è una buona soluzione per il mio problema. Ad ogni modo, vorrei sottolineare che il dispositivo Broadlink che ho indicato alla mia domanda non ha usato qualcosa del genere, almeno non credo, dal momento che il mio smartphone non ha cambiato il wifi a cui era collegato né manualmente né a livello di programmazione. Scommetto che era qualcosa di simile al metodo ProbMe.
Eric Akira,

Penso che questo stia utilizzando il protocollo ESP-Touch sviluppato da Espressif. Questo articolo fornisce alcuni dettagli e un po 'di codice Arduino per usarlo tramite la funzione WiFi.beginSmartConfig (). Non l'ho testato io stesso, quindi non lo metto ancora come risposta, ma aggiornerò con tutti i dettagli se / quando riuscirò a farlo funzionare.
jsaven,

Risposte:


9

Se si utilizza un ESP8266, la funzione Smart Config integrata può ottenere questo risultato. Un esempio può essere trovato qui: ESP8266 Arduino WiFiSmartConfig.ino .

I passaggi importanti sono l'impostazione della modalità STA: WiFi.mode(WIFI_STA);

Quindi inizia a cercare i pacchetti di configurazione intelligenti: WiFi.beginSmartConfig();

Infine controlla che la configurazione sia completa: WiFi.smartConfigDone()

Il wifi può quindi essere configurato sul dispositivo utilizzando un iPhone o Android Ap , oppure puoi crearne uno tuo da Ap iOS o Android Ap di Espressif .

L'ESP32 ha anche questa capacità; vedi Demo 11: come utilizzare SmartConfig su Arduino ESP32 .


1

La maggior parte dei dispositivi che ho acquistato (telecamere IP, interruttori della luce, prese di corrente) utilizzavano la comunicazione ad ultrasuoni dietro le quinte. Dai un'occhiata a marchi come Chromecast, Lisnr e Chirp.

Quando il dispositivo è in modalità configurazione, devi tenere lo smartphone vicino al dispositivo e l'app client invierà un segnale audio (potrebbe essere udibile o non udibile), con l'SSID e la password modulati. Sembra un'età della pietra, ma funziona senza fronzoli :)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.