Estoy construyendo un dispositivo conectado sin una pantalla que necesita estar conectado a la red Wi-Fi doméstica. WPS no es una opción. El dispositivo tendrá un módulo Bluetooth además del hardware de Wi-Fi. Los códigos QR también se pueden hacer.
También estoy creando una aplicación de iOS para guiar al usuario a través de los pasos para configurar el dispositivo y darle acceso a la configuración de Wifi. ¿Puede alguien ayudarme con los detalles técnicos sobre los mejores protocolos de comunicación para aprovechar:
Haga que el dispositivo se conecte con la aplicación para que el usuario pueda usar la aplicación para configurar el dispositivo
Use la aplicación como pantalla para que el dispositivo seleccione entre los SSID disponibles, ingrese la contraseña y conéctese al Wi-Fi doméstico
He considerado las dos opciones a continuación:
Use BLE para conectar la aplicación iOS con el dispositivo y luego use BLE para pasar la lista SSID de Wi-Fi, las credenciales de inicio de sesión entre el dispositivo y la aplicación.
Use Wi-Fi solo para conectarse con el dispositivo y pasar la lista de SSID de Wi-Fi, credenciales de inicio de sesión entre el dispositivo y la aplicación
¿Cómo se comparan en términos de experiencia del usuario, fiabilidad (completar en el primer intento) y esfuerzo (menor esfuerzo para construir)?
Respuestas:
Wifi
Si está utilizando Wi-Fi, se conectará a algún tipo de punto de acceso configurado por su dispositivo con su teléfono, pasará la información necesaria y volverá a conectar su dispositivo (y su teléfono) al Wi-Fi que realmente desea para conectarlos a
Realmente no hay una forma de evitar eso si estás usando Wi-Fi. Ingresar la información de la conexión Wi-Fi de su hogar es la aplicación UX y un poco fuera de tema para esta pregunta. 1 Entonces, centrémonos en cómo establecer primero el punto de acceso de su dispositivo y luego conectarlo de la manera más cómoda y segura posible.
Establecer el punto de acceso
Credenciales iniciales del punto de acceso
Menciono los manuales porque no todos los dispositivos pueden tener suficiente espacio para tener un código QR, incluso si el suyo tiene. También los diseñadores realmente odian los códigos QR. Por otro lado, los manuales tienden a desecharse.
BLE
Sinceramente, no me gusta el proceso de emparejamiento BLE, ya que se puede escuchar con bastante facilidad en la forma en que se usa generalmente. (Cf. Esta pregunta sobre Security.SE, este blog sobre seguridad BLE o este documento técnico o más información sobre seguridad BLE aquí o aquí ). El protocolo ofrece algunos modos más seguros, pero solo funcionan con al menos BLE 4.2lo que reduce los dispositivos inteligentes compatibles y todo el esfuerzo de desarrollo adicional para implementar el emparejamiento seguro. Tal vez incluso vea BLE 5, pero podría quedarse sin dispositivos compatibles si usa las nuevas funciones de seguridad. Entiendo que su dispositivo no utiliza BLE en operaciones normales, lo que significa un gran esfuerzo de desarrollo que podría utilizar para otras cosas invertidas en la seguridad de BLE.
Sin embargo, generalmente es más cómodo usar BLE que conectarse a puntos de acceso Wi-Fi. Para ser honesto, aunque en mis proyectos, Bluetooth casi siempre está excluido por estas y otras razones. Desde el punto de vista del costo y la seguridad, no tiene mucho sentido tener una interfaz que su caso de uso real no necesita. Otro gran inconveniente es explicarle al usuario por qué necesita configurar Wi-Fi después de configurar BLE. Eso es un infierno UX.
Sonido y luz
Básicamente, puede usar todo lo que su dispositivo tiene un sensor para transmitir credenciales. Puede cambiar su contraseña de Wi-Fi a través del LED del teléfono inteligente si su dispositivo tiene una cámara o usar una codificación de sonido (de manera óptima no en rangos de audición no humana) para transmitirla si tiene un micrófono. No incluya estos componentes solo para el proceso de configuración. A las personas les parece realmente espeluznante encontrar micrófonos o cámaras en cosas que se supone que no tienen esas capacidades.
Algunos consejos generales:
1 Las aplicaciones son complicadas ya que es un poco difícil leer la contraseña de Wi-Fi del Wi-Fi actual, que probablemente sea el conjunto de credenciales que desea transmitir al dispositivo. Es lo que hace que el UX a menudo sea muy doloroso y es más doloroso en iOS porque ni siquiera puedes obtener la lista de Wi-Fis fácilmente. Android te permite obtener más información que puedes transmitir después. Pero ese es otro UX con el que todos están luchando.
fuente