Cualquier módulo WiFi que admita el modo ad-hoc debería poder hacer esto. He usado el WiFly module antes, y sé que tiene esta capacidad. Tenga en cuenta que el módulo solo puede estar en modo de cliente ad-hoc o en un momento dado; no ambos a la vez.
Puede usar ese módulo directamente con su Arduino (suponiendo que sea uno o una huella compatible) a través de este escudo . También hay un escudo independiente que puede ahorrar más espacio. Por supuesto, hay otros módulos disponibles que están a la altura de la tarea, pero estos son los que vienen a la mente.
Aquí es cómo configurar esto específicamente. En respuesta a su comentario, he modificado el enfoque para solucionar el problema de lo que sucede si falla la asociación WiFi.
- Arduino se inicia y establece WiFily en modo ad-hoc.
- Se conecta a la red de WiFly y navega al "servidor web" de WiFly.
- Usted ve la lista de redes disponibles, ingresa los parámetros de conexión y hace clic en "Enviar". * vea la nota a continuación
- La página de respuesta de WiFly contiene un fragmento de código JavaScript que busca una página especial con Ajax después de un intervalo de tiempo fijo (tal vez 2 o 3 minutos). Tal vez llame a la dirección
http://[WiFly address]:80/status
.
- Mientras el temporizador mencionado está en marcha, el WiFly ha desactivado el modo ad hoc y ha activado el modo de cliente (su computadora portátil se habrá desconectado del WiFly, por supuesto). El WiFly intenta conectarse a la red que especificaste. Si tiene éxito, el trabajo de WiFly está hecho. Si la conexión falla, vuelve a habilitar el modo ad-hoc al que su computadora portátil debería volver a conectarse automáticamente.
- El temporizador que configuramos en # 4 llega a 0. La página intenta obtener de forma asíncrona esa página especial que mencionamos. Si tenemos éxito, sabemos que el WiFly no se pudo conectar a nuestra red y, por lo tanto, ha vuelto a habilitar el modo ad hoc. Si la solicitud falla, sabemos que WiFi se conectó correctamente a la red.
- En el primer caso, con JavaScript puede mostrar el mensaje apropiado al usuario, y tal vez incluso navegar a la "página de inicio" de WiFly para comenzar de nuevo el proceso.
Consideraciones especiales:
- Es posible que deba jugar un poco con el tiempo de espera para el paso # 4.
- Su computadora portátil / dispositivo deberá configurarse para conectarse automáticamente a la red ad-hoc de WiFly e incluso preferirá esa red a otras.
* Nota al margen interesante:
Es posible que se esté preguntando cómo el módulo puede buscar redes mientras está en modo ad-hoc. Según el manual:
El módulo WiFi es compatible con los modos de red ad hoc e infraestructura.
Sin embargo, no soporta ambos modos simultáneamente. Exploración
Para redes inalámbricas es una función del modo infraestructura. Que hacer
esto, el módulo WiFly tiene que deshabilitar el modo adhoc y escanear.
Con el
lanzamiento de la versión de firmware 2.22 y posterior, es posible escanear
desde el modo adhoc. Al emitir el comando de escaneo se deshabilita temporalmente adhoc
Mientras el módulo está escaneando. El adhoc se restaura automáticamente
cuando se completa el escaneo Si está conectado al módulo a través de
telnet, el resultado del comando de escaneo se envía a través de telnet y luego
adhoc se restaura.
Si sus requisitos permitieron una interfaz de usuario separada (tal vez una aplicación en su computadora portátil), podría haber usado esta función para su ventaja y evitar la creación de un servidor HTTP por completo. La aplicación podría haberse conectado a la red ad-hoc de WiFly, abrir una sesión de Telnet y luego automatizar la sesión de Telnet para configurar el módulo.
Enfoque alternativo
Si el costo no es un problema, puede usar dos módulos de conexión inalámbrica: uno para proporcionar una red ad-hoc constante y el otro para actuar como cliente WiFi.