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

我想使用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)在树莓派中:

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返回的引脚,我能够建立连接.

我试图了解这种行为:

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

谢谢.

解决方法

你在哪里:
wpa_cli -ip2p-wlan0-0 wps_pbc

使用:

sudo wpa_cli -ip2p-wlan0-0 wps_pin any 12345670

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...