Estou construindo um dispositivo conectado sem uma tela que precisa estar conectada ao Wi-Fi doméstico. WPS não é uma opção. O dispositivo terá um módulo Bluetooth além do hardware Wi-Fi. Os códigos QR também podem ser feitos.
Também estou criando um aplicativo iOS para orientar o usuário nas etapas de configuração do dispositivo e acesso à configuração de Wifi. Alguém pode ajudar com os detalhes técnicos dos melhores protocolos de comunicação para aproveitar:
Faça com que o dispositivo se conecte ao aplicativo para que o usuário possa usá-lo para configurá-lo
Use o aplicativo como tela para o dispositivo selecionar entre SSIDs disponíveis, inserir senha e conectar-se ao Wi-Fi doméstico
Eu considerei as duas opções abaixo:
Use o BLE para conectar o aplicativo iOS ao dispositivo e use o BLE para passar na lista de SSID do Wi-Fi, credenciais de login entre o dispositivo e o aplicativo.
Use o Wi-Fi apenas para conectar-se ao dispositivo e passar na lista SSID do Wi-Fi, credenciais de login entre o dispositivo e o aplicativo
Como eles se comparam em termos de experiência do usuário, confiabilidade (conclusão na primeira tentativa) e esforço (menor esforço para construir)?
Respostas:
Wi-fi
Se estiver usando o Wi-Fi, você se conectará a algum tipo de ponto de acesso configurado pelo seu dispositivo com o seu telefone, passará as informações necessárias e reconecte seu dispositivo (e seu telefone) de volta ao Wi-Fi que você realmente deseja. para conectá-los.
Não há realmente uma maneira de contornar isso se você estiver usando Wi-Fi. A inserção das informações do seu Wi-Fi doméstico é um aplicativo UX e um pouco fora de tópico para esta pergunta. 1 Então, vamos nos concentrar em como primeiro estabelecer o ponto de acesso do seu dispositivo e depois conectar-se a ele da maneira mais confortável e segura possível?
Estabelecendo o ponto de acesso
Credenciais iniciais do ponto de acesso
Estou mencionando os manuais, porque nem todos os dispositivos podem ter espaço suficiente para ter um código QR, mesmo que o seu tenha. Os designers também odeiam códigos QR. Por outro lado, os manuais tendem a ser jogados fora.
BLE
Honestamente, eu não gosto do processo de emparelhamento do BLE, pois ele pode ser facilmente ouvido da maneira como geralmente é usado. (Cf. Esta pergunta no Security.SE, este blog sobre segurança do BLE ou este white paper ou mais informações sobre a segurança do BLE aqui ou aqui ). O protocolo oferece alguns modos mais seguros , mas eles funcionam apenas com pelo menos o BLE 4.2o que reduz os dispositivos inteligentes compatíveis e todo o esforço adicional de desenvolvimento para implementar o emparelhamento seguro. Talvez até veja o BLE 5, mas você pode ficar sem dispositivos compatíveis se usar os novos recursos de segurança. Meu entendimento do seu dispositivo é que ele não usa o BLE em operações normais, o que significa muito esforço de desenvolvimento que você poderia usar para outras coisas investidas na segurança do BLE.
Geralmente, é mais confortável usar o BLE do que conectar-se a pontos de acesso Wi-Fi. Para ser sincero, em meus projetos, o Bluetooth quase sempre já está excluído por esses e outros motivos. Do ponto de vista de custo e segurança, não há muita utilidade em ter uma interface que seu caso de uso real não precisa. Outra grande desvantagem é explicar ao usuário por que você precisa configurar o Wi-Fi depois de configurar o BLE. Isso é um inferno UX.
Som e Luz
Basicamente, você pode usar tudo em que seu dispositivo possui um sensor para transmitir credenciais. Você pode transformar sua senha de Wi-Fi no LED do smartphone se o dispositivo tiver uma câmera ou usar uma codificação de som (de maneira ideal não em faixas que não sejam de audição humana) para transmiti-la se você tiver um microfone. Não inclua esses componentes apenas para o processo de configuração. As pessoas acham realmente assustador encontrar microfones ou câmeras em coisas que não deveriam ter esses recursos.
Alguns conselhos gerais:
1 Os aplicativos são complicados, pois é um pouco difícil ler a senha de Wi-Fi do Wi-Fi atual, que provavelmente é o conjunto de credenciais que você deseja transmitir ao dispositivo. É o que torna o UX muitas vezes muito doloroso e mais doloroso no iOS, porque você nem consegue obter a lista de Wi-Fis facilmente. O Android permite que você obtenha mais informações que você pode transmitir posteriormente. Mas esse é outro UX com o qual todos estão lutando.
fonte