在 Android 和 Raspberry Pi 之间建立 Wifi-Direct 连接 3 Linux

Set up a Wifi-Direct connection between Android and Raspberry Pi 3 Linux

我想使用 Wifi-Direct 连接两台设备。一个是 RaspBerry PI 3(和 Raspbian Jessie),另一个是 Android 智能手机。 Raspberry 作为服务器,Android 作为客户端。

我决定在 Raspbian 中使用 wpa_supplicant 并在 Android 中使用 WifiDirect 示例应用程序:

https://developer.android.com/guide/topics/connectivity/wifip2p.html

我的 wpa_supplicant.conf 包含:

ctrl_interface=/var/run/wpa_supplicant
update_config=1 
device_name=raspberry
device_type=1-0050F204-1
driver_param=use_p2p_group_interface=1
p2p_go_intent=1
p2p_go_ht40=1

我正在按照以下步骤操作:

1) 在raspberry pi:

sudo wpa_supplicant  -B -iwlan0 -Dnl80211 -c/etc/wpa_supplicant.conf
sudo wpa_cli -iwlan0 p2p_group_add
ifconfig p2p-wlan0-0 192.168.1.2
wpa_cli -ip2p-wlan0-0 wps_pbc

2) 然后在 Android 应用程序中,我可以将树莓视为对等体,但连接失败。 我尝试使用设置应用程序 (Wifi => Advanced => Wifi Direct),我也可以将树莓视为对等体,但不同之处在于,当我尝试建立连接时,应用程序要求我提供 PIN 码,如果我在树莓中引入 p2p_pin any 返回的 pin,我就可以建立连接。

我试图理解这种行为:

为什么要求我提供 PIN 码?这就是我无法通过 WifiDirect 示例应用建立连接的原因?我在这里遗漏了什么?

谢谢。

你在哪里:

wpa_cli -ip2p-wlan0-0 wps_pbc

使用:

sudo wpa_cli -ip2p-wlan0-0 wps_pin any 12345670