Conéctese a Raspberry PI 3 a través de Wi-Fi directo

16

Quiero conectarme desde un teléfono Android a un RPI 3 a través de Wi-Fi directo.

Quiero hacerlo a través de Wi-Fi directo porque el RPI será un controlador para uno o más dispositivos móviles que se usarán tanto en edificios como en la naturaleza.

En los edificios, podría conectarse al Wi-Fi existente, pero en la naturaleza no hay Wi-Fi. Por lo tanto, el RPI necesitaría ser su propio AP, pero el teléfono que lo controlaba no podía conectarse al Wi-Fi del edificio al mismo tiempo. Además, se complicaría con múltiples RPI, uno necesitaría ser el AP y los otros necesitarían conectarse a él.

Sería genial si pudiera encender los RPI, sin hacer ninguna configuración cada vez que cambie su configuración, y conectarme a él independientemente de dónde se use.

Entonces, con Wi-FI directo como requisito: ¿Cómo puedo hacer esto? ¿Alguien puede proporcionarme un ejemplo (o un Enlace a un ejemplo)? Básicamente, cualquier pista que me acerque al objetivo ayudará.

lo que tengo hasta ahora

Instalé Arch Linux ARM en el PI usando esta guía: https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-3

Luego instalé wpa_supplicant usando "pacman -S wpa_supplicant"

Luego he creado una pequeña configuración para él en "/etc/wpa_supplicant/p2p.conf" que contiene:

ctrl_interface=/var/run/wpa_supplicant
device_name=PI
update_config=1

entonces empecé wpa_supplicant usando wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/p2p.conf

Luego probé el uso directo de Wi-Fi wpa_cliy luego p2p_findencontré mi teléfono. Así que supongo que en cuanto al conductor, todo está bien.

Solo necesito descubrir cómo usar wpa_supplicant para registrar un programa de servidor que se ejecuta en mi PI, y cómo encontrarlo y conectarlo desde Android.

¿Algunas ideas?

Van Coding
fuente
¿No tienes suerte con este? Estoy tratando de hacer lo mismo, pero me conecto desde otro pi3 usando wifi-direct.
Roberto Andrade
@RobertoAndrade Logré hacerlo. Solo olvidé actualizar la pregunta. Lo haré pronto;)
Van Coding
Algunos progresos aquí , pero comportamiento errático todavía
albfan
@ VanCoding ¿Publicó su actualización en alguna parte? Llegué al mismo punto que usted: Android y Pi 3 pueden verse entre sí, pero necesitan vincularlo a una aplicación.
LC1983
@ LC1983 no. Desafortunadamente, programé directamente en el PI a través de sftp, que ahora está en uso como controlador de hidromasaje. Olvidé copiar los archivos antes de regalarlos. Todavía estoy esperando volver a tener en mis manos el código :(
Van Coding

Respuestas:

5

Configuro /etc/wpa_supplicant/wpa_supplicant.conf como se muestra a continuación para dos RPi3:

ctrl_interface=DIR=/var/run/wpa_supplicant 
update_config=1

ap_scan=1
device_name=RPi_3
device_type=1-0050F204-1
driver_param=use_p2p_group_interface=1
driver_param=p2p_device=1
p2p_go_intent=10
p2p_go_ht40=1

Luego comience con el comando:

$sudo wpa_supplicant -B -dd -iwlan0 -Dnl80211 -c /etc/wpa_supplicant/wpa_supplicant.conf

Luego, siguiendo este enlace, conecto dos RPi3 a través de la autenticación PIN:

RPi3_1: (usando sudo si es necesario)

wpa_cli p2p_find

RPi3_2: (usando sudo si es necesario)

wpa_cli p2p_find
wpa_cli p2p_peers

Luego se reconocen mutuamente la dirección MAC. Posteriormente, un RPI iniciará la conexión con el PIN generado:

RPi3_1 (usando sudo si es necesario):

wpa_cli p2p_connect xx:xx:xx:xx:xx:xx pin auth
(pin_number will be issued)

RPi3_2:

wpa_cli p2p_connect yy:yy:yy:yy:yy:yy pin_number

Donde xx: ..: xx e yy: ..: yy son las direcciones MAC de RPi3_2 y RPi3_1 respectivamente.

http://processors.wiki.ti.com/index.php/OMAP_Wireless_Connectivity_NLCP_WiFi_Direct_Configuration_Scripts#Create_1:2_P2P_Group_-_Connect_with_PIN_code

Básicamente, dos RPi3 conectados entre sí.

ngovanmao
fuente
Esta respuesta está bien si está utilizando dos dispositivos que puede recorrer a través de los comandos individualmente, pero cuando usa un Pi3 y un dispositivo Android, según la pregunta original, no funciona de manera confiable.
LC1983
Cuando conecta los 2 RPi3 de esta manera, ¿pueden crear un grupo con éxito para la conexión? Cuando lo hago, el GO-NEG tiene éxito pero no puede crear un grupo para la conexión.
teoría breve el
-2

use el Android como punto de acceso y wifi desde el PI 3, mantendrá la conexión de Android a Internet y tendrá conexión entre ambos dispositivos para compartir lo que sea

Paulie617
fuente
1
Si bien es posible que sea una solución, eso no era lo que el OP quería lograr: dice claramente "Quiero conectarme desde un teléfono Android a un RPI 3 a través de Wi-Fi directo", y no al revés.
Bex
Usando devicenet, puede usar wifi directo con punto de acceso de Android. entonces sus respuestas son 110%. no solo mantiene "Quiero conectarme desde un teléfono Android a un RPI 3 a través de Wi-Fi directo" en juego, sino que también puede simplificar todo esto simplemente usando el punto de acceso de Android.
Paulie617
Esto no ayuda al OP a desarrollar una red ad-hoc entre el teléfono y el pi.
Sandor Dosa
1
Sé que esto fue votado al infierno, pero solo quería decir gracias. Estaba tratando de configurar WiFi directo y me di cuenta de que, para mi caso de uso específico, podía hacer exactamente esto
nolanpro