Cómo establecer una conexión wi-fi directa (P2P) de Arduino (esp8266) y dispositivo Android

La forma más rápida es utilizar el ESP como servidor web y comunicarse con su teléfono utilizando métodos REST de HTTP.

Tiene algunas formas de configurar esto:

  1. Puede usar el ESP en modo AP, en el que crea su propio punto de acceso WiFi. Simplemente se conecta a este punto de acceso WiFi como se conectaría a cualquier red WiFi desde su teléfono Android.
    Luego puede comunicar P2P desde su navegador navegando a la dirección IP del ESP, y responde dependiendo de cómo configure el servidor web en el ESP.
  2. Puede usar el ESP en el modo STA. Aquí, supongo que ya tiene una red WiFi con un enrutador DHCP externo disponible.
    Luego programa el ESP para conectarse a esta red WiFi y luego actúa como un servidor web (esta parte permanece igual, ya sea en modo AP o en modo STA).
    Ahora conecta su teléfono Android a la red WiFi, abre su navegador, se conecta a la dirección IP asignada de ESP y responderá según la configuración del servidor web.

¡Aclamaciones!

Interacciones de dispositivo | Store for Doers – Interacciones del dispositivo | El blog para hacedores

Puede hacer esp8266 en modo AP (es decir, AT + CWMODE = 2), esto hará que esp8266 difunda su SSID (es decir, generalmente llamado AI-Thinker).

Ahora conecta tu móvil directamente a AI-Thinker. Esto creará una conexión P2P entre el teléfono Android y Esp8266.

http://Www.galaxysofts.com

Nunca he hecho esto específicamente, pero he escrito bastantes programas distribuidos. Tanto Java como C tienen capacidades de socket y eso es lo que usaría para establecer la comunicación. Ahora en Android no puede ejecutar redes en el hilo de la interfaz de usuario, por lo que tendrá que generar un nuevo hilo para ejecutar su comunicación de socket. Android SDK proporciona una clase llamada Async para ayudar con esto. Debería conocer su IP en su dispositivo Android y en su tarjeta wifi de microcontrolador. Si solo está utilizando wifi, estoy bastante seguro de que solo necesita su IP de subred (192.168.xxx.xxx generalmente es lo que parece) en lugar de su IP pública.

Puede haber otras formas de hacer esto que se adapten un poco más a sus necesidades. ¡No olvide los permisos de red para Android y buena suerte en su proyecto!