Como um dispositivo pode obter o SSID e a senha da minha rede sem o WPS?

12

Estou estudando maneiras de fazer um dispositivo IoT acessar a rede wifi de um usuário. Eu sei sobre o caminho WPS, onde o dispositivo 'transmite' um sinal e o roteador, depois de receber a ordem de ouvir, 'recebe' e dá acesso ao dispositivo. Há também a maneira pela qual o dispositivo cria seu próprio ponto de acesso, o usuário se conecta a ele para passar o SSID e a senha da rede doméstica. Existem outras maneiras de conseguir isso?

Eu li este artigo que fala sobre esse método 'ProbMe' :

Posso estar errado, mas o Broadlink Rm Pro pode fazer algo assim. Recentemente, configurei um desses e só precisava:

  1. Conecte meu smartphone ao meu wifi

  2. Digitalize um código QR ou digite um código no Broadlink App

  3. Insira o SSID e a senha da minha rede no aplicativo Broadlink

  4. E, não sei como, o dispositivo está conectado à minha rede, o aplicativo ainda tem seu endereço MAC.

Algum de vocês sabe mais sobre esse método ProbMe e / ou outras alternativas para conceder a um dispositivo IoT acesso a uma rede wifi de usuário?

Edit: Pesquisando sobre o ProbMe, eu descobri que esta é uma tecnologia de uma empresa chamada Econais , apenas compartilhando se algum de vocês deseja desenvolver / produzir algo semelhante, a empresa trabalha com software / hardware de IoT. Exoneração de responsabilidade: Eu não trabalho na Econais, nem estou envolvido com isso de forma alguma.

Eric Akira
fonte
1
Foi meio que respondido aqui. Muitos chips wifi têm a capacidade de alternar entre o modo Cliente e o modo Ponto de Acesso. O ESP8266 é capaz iot.stackexchange.com/questions/2568/…
GusGorman402 02/02
Obrigado pelo comentário @ GusGorman402. O Modo Cliente / Modo Ponto de Acesso é uma boa solução para o meu problema. De qualquer forma, gostaria de salientar que o dispositivo Broadlink que apontei para a minha pergunta não usava algo assim, pelo menos eu acho que não, pois meu smartphone não trocou o wifi ao qual estava conectado nem manualmente nem por programação. Aposto que era algo semelhante ao método ProbMe.
Eric Akira
Eu acho que isso está usando o protocolo ESP-Touch desenvolvido pela Espressif. Este artigo fornece alguns detalhes e algum código do Arduino para usá-lo através da função WiFi.beginSmartConfig (). Eu não testei isso sozinho, por isso não coloque isso como uma resposta ainda, mas atualizarei com todos os detalhes se / quando o fizer funcionar.
jsaven

Respostas:

8

Se você estiver usando um ESP8266, o recurso Smart Config incorporado pode conseguir isso. Um exemplo pode ser encontrado aqui: ESP8266 Arduino WiFiSmartConfig.ino .

As etapas importantes são definir o modo STA: WiFi.mode(WIFI_STA);

Então comece a procurar os pacotes de configuração inteligentes: WiFi.beginSmartConfig();

Por fim, verifique se a configuração está concluída: WiFi.smartConfigDone()

O wifi pode ser configurado no dispositivo usando um iPhone ou Android Ap ou você pode criar seu próprio a partir do Espressif iOS Ap ou Android Ap .

O ESP32 também possui esse recurso; consulte Demo 11: Como usar o SmartConfig no Arduino ESP32 .

jsaven
fonte
1

A maioria dos dispositivos que comprei (câmeras IP, interruptores de luz, tomadas) usavam comunicação ultrassônica nos bastidores. Veja marcas como Chromecast, Lisnr e Chirp.

Quando o dispositivo está no modo de configuração, você deve manter o smartphone próximo ao dispositivo e o aplicativo cliente enviará um sinal de áudio (pode ser audível ou inaudível), com o SSID e a senha modulados. Parece a idade da pedra, mas funciona sem frescuras :)

Ε Г И І И О
fonte