Articles of wifi direct

如何在Android和Linux之间建立Wifi-Direct连接

我想使用Wifi-Direct连接两台设备。 一个是带有Linux的电脑(在我的测试中我使用的是Linux Mint 17.2),另一个是Android智能手机(带有Android 4.3的三星Galaxy S3。没有root,也不想root)。 在互联网上阅读了一些指南,我决定在Linux中使用wpa_supplicant并为Android创建一个应用程序。 这是我为wpa_supplicantfind的最佳指南之一: http : //processors.wiki.ti.com/index.php/OMAP_Wireless_Connectivity_NLCP_WiFi_Direct_Configuration_Scripts#p2p_group_add 当我运行iw list时,我看到“支持的接口模式:”允许P2P_client和P2P_GO。 我的wpa_supplicant.conf包含: ctrl_interface=/var/run/wpa_supplicant update_config=1 ap_scan=1 device_name=My-pc device_type=1-0050F204-1 driver_param=use_p2p_group_interface=1 p2p_go_intent=15 p2p_go_ht40=1 该应用程序与此示例非常相似(它来自一本书) http://kurser.iha.dk/eit/itsmap/basic/MEIER/Professional%20Android%204%20All%20downloads/9781118102275%20PA4AD/Code%20Snippets/章节%2016 / PA4AD_Ch16_WiFiDirect / src / com / paad / wifidirect / WiFiDirectActivity.java (我删除了整个“套接字部分”)。 它按预期工作。 当我尝试使用两个Android设备时,他们可以看到对方并连接(它显示为Wifi-Direct图标)。 现在我正在尝试连接Android和Linux,但我想我真的不明白wpa_supplicant是如何工作的。 我也看到了这个与我问的问题非常相似的问题,但它并没有真正回答我的怀疑… Android智能手机和其他设备之间的直接Wifi通信 我的问题是我无法理解如何在两个设备之间进行握手以及如何设置网络。 Wpa_supplicant是我的问题。 我跑: sudo wpa_supplicant -wlan0 -Dnl80211 -c/etc/wpa_supplicant.conf sudo wpa_cli 但是我遇到了很多问题: – 设备名称(和其他参数)没有像我在.conf文件中指定的那样设置 […]

Android Wi-Fi Direct读取rssi信号强度

我需要测量两部Android手机之间的Wi-Fi Direct信号(RSSI信号)。 我怎么能这样做?

将iPhone连接到Android的Wifi Direct软AP

我知道Wifi Direct可以通过在其中一个设备中创建一个Soft AP(软件访问点)来工作。 我也知道很多Androids都支持Wifi Direct,但iPhone却没有。 我的问题是:是否有可能创建一个设备到设备的WiFi链接,在Android端是Wifi Direct,但iPhone端的常规wifi? Android的Wifi Direct会呈现一个软AP,iPhone看起来与常规AP无法区分,并能够与之关联。 想象一下,这是在没有路由器AP可用的荒野中。 此外,两个用户都没有绑定计划。 此类链接将由类似Bump的应用程序用于传输文件。

如何估计两个Android设备之间的距离? (蓝牙首选)

目标不是真正的距离。 这更简单。 目标是检查另一台设备是否非常接近 。 对或错。 假设10或15厘米是关闭的,所以我们的检查是正确的,并且任何远离检查的设备都是错误的。 我的第一种方法是使用api的方法fetchUuidsWithSdp()但它失败了! 无论是在几个cms之外还是在大房间另一端的设备,延迟似乎都是一样的! 任何解决方案即使没有蓝牙也是可以接受 例如,我完全不熟悉wifi直接p2p协议。 也许有一些东西可以用来粗略估计距离。 编辑:我正在阅读有关接收信号强度指示器( RSSI )的信息。 这可以用于我们的特定情况,粗略估计设备之间的距离。 但也许可能有某些东西需要结合才能提高准确性。 编辑:我把Ralgha的答案放到测试中。 我确实建立了一个连接,并且有一个小的协议来在设备之间进行乒乓 。 当1字节平均延迟时非常接近时为22.6000毫秒,而在房间的另一角时则为22.6087毫秒。 当ping为1024字节时,平均延迟在非常接近时为40.3173毫秒,在房间的另一角时为32.3138毫秒。 毕竟, 延迟确实没有任何关于距离的信息 ! 谢谢!

通过Wi-Fi Direct进行广播

我正在考虑通过多个Android设备之间的Wi-Fi Direct连接进行广播的可能性。 我创建了一个简单的消息广播应用程序来测试它是否有效,但到目前为止我还没有能够广播消息。 当我尝试发送数据包时,我得到一个SocketException (网络无法访问): 03-20 13:23:00.148: E/UdpBroadcaster(4180): sendto failed: ENETUNREACH (Network is unreachable) 03-20 13:23:00.148: E/UdpBroadcaster(4180): java.net.SocketException: sendto failed: ENETUNREACH (Network is unreachable) 03-20 13:23:00.148: E/UdpBroadcaster(4180): at libcore.io.IoBridge.maybeThrowAfterSendto(IoBridge.java:496) 03-20 13:23:00.148: E/UdpBroadcaster(4180): at libcore.io.IoBridge.sendto(IoBridge.java:465) 03-20 13:23:00.148: E/UdpBroadcaster(4180): at java.net.PlainDatagramSocketImpl.send(PlainDatagramSocketImpl.java:182) 03-20 13:23:00.148: E/UdpBroadcaster(4180): at java.net.DatagramSocket.send(DatagramSocket.java:307) 03-20 13:23:00.148: E/UdpBroadcaster(4180): at com.example.android.wifidirect.UdpBroadcaster.sendMessage(UdpBroadcaster.java:59) 03-20 13:23:00.148: E/UdpBroadcaster(4180): at com.example.android.wifidirect.UdpBroadcaster.run(UdpBroadcaster.java:44) 03-20 […]

Android iOS直接通信(蓝牙)。 可能吗?

首先,我是一名Android开发人员,因此问题是所有iOS开发人员。 是否有可能实现Android iPhone / iPad 直接通信 ? 有些人声称这是不可能的,其他人声称是这样。 我猜两种可能的技术是蓝牙和/或Wi-Fi Direct。 不建议使用Wi-Fi Direct,因为Gingerbread不支持它,据我所知,它也不支持iPhone (可能是iPhone 6,因为我从谣言中听说过) 已经知道使用GameKit在iOS设备之间实现蓝牙通信,这里是参考 。 我不明白与GameKit沟通时有什么特别之处 ? 消息的开头和结尾是否以某种方式包含额外的字节? 好的,我们可以在Android中以相同的方式包装消息! 消息加密了吗?!! 如果是这样,我们可以在Android设备收到它们时对它们进行解密吗? 任何想法,变通方法或其他黑客解决方案都是最受欢迎的!

Android Wifi Direct:连接到已知对等端时,避免用户接受

使用WiFi Direct连接到对等端时,需要用户的许可。 我知道如果没有用户永远不会给予许可,就无法建立连接,并且有针对此类function的function请求: https : //code.google.com/p/android/issues/detail?id = 30880 但是我不需要这个function,在第一个连接上请求权限就可以了(也更安全)。 有没有任何方法只允许第一次获得许可? 当稍后尝试连接到同一个对等体时,不需要该权限。

如何更改WiFi直接p2p的设备名称?

是否可以通过代码直接更改WiFi的设备名称? 我试图: private WifiP2pDevice wDevice; wDevice.deviceName = "newName"; 但是,显然这是行不通的。 任何想法?!

如何使用Wi-Fi Direct在Android设备之间传输文件?

我需要使用Wi-Fi Direct在Android设备之间传输文件。 请给出任何示例代码。 我search了很多,但我还没有find任何双向沟通的代码。

是否有可能从程序中删除记忆的Wifi Direct组?

我们已经注意到,当一个Wifi Direct组被一个设备记住时,它有时会在设备稍后重新连接时导致问题。 删除记忆的小组似乎解决了这个问题。 如果我们可以在应用程序中这样做,这将是很好的,这是可能的吗? 只需调用WifiP2pManager.removeGroup()不会停止设备记住它们。