linux - 如何在没有 MAC 地址的情况下通过 WiFi Direct p2p_connect 到设备? (树莓派和安卓)

标签 linux raspberry-pi wifi-direct wifip2p wpa-supplicant

我有一个 Android 平板电脑和一个 Raspberry Pi,我希望当平板电脑向 Pi 发送请求时自动在它们之间建立连接。

我按照此处的 Android 应用程序示例开始发现附近的任何设备。 (https://www.youtube.com/watch?v=qnY97iBxp30)

同时运行 sudo wpa_cli 和 p2p_find 20。Android 应用程序检测到 Pi,我尝试与 Pi 建立连接,这将显示

<3>P2P-GO-NEG-REQUEST TABLET_MAC_ADDRESS dev_passwd_id=4

通常我只会 p2p_connect TABLET_MAC_ADDRESS pbc成功地将它们连接在一起,但我发现如果我要切换到另一个移动设备,效率很低。

是否有其他方法可以在不写入平板电脑 MAC 地址的情况下连接平板电脑?例如,当他们发送 P2P-GO-NEG-REQUEST 时连接到该特定设备 ssid到圆周率?

最佳答案

TL;DR 不。
如果我们看一下 OSI ISO 7 layer model对于网络通信,我们可以看到媒体访问控制 (MAC) 地址对于识别 wifi 网络中的设备至关重要。 您可以尝试设置蓝牙连接或 token 环,但我怀疑这会比您想要的更多。 借助 IPv6,您的设备可以使用邻居发现来自动将 MAC 条目传递到 Internet 协议(protocol),并且可以使用其链路本地地址 (fe80::some:thing) 在设备之间进行连接

Wifi 传输带有地址的数据包。以此类推,如果我告诉你我住在哪个城镇,但不在包裹上写下我的大楼地址,你将很难交付它。

关于linux - 如何在没有 MAC 地址的情况下通过 WiFi Direct p2p_connect 到设备? (树莓派和安卓),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52605587/

相关文章:

c++ - dlopen 在 gdb 中运行时导致段错误

c++ - 如何使用多核而不是多线程进行编程?

android - wi fi direct 可以永久工作吗?

bluetooth - Android Things 中的 WiFi P2P 网络

android - 直接连接2个或更多安卓客户端

linux - UNIX - 需要有关 grep 命令的帮助

c - 尝试使用 'system()' 和 'execv()' 函数调用

linux - 如何动态分配 CPU 资源给 Linux 中的进程?

干净的系统重新启动后 mySQL InnoDB 表损坏

raspberry-pi - MinIO mc 客户端错误 : dial tcp: lookup minio on 192. 168.2.254:53:没有这样的主机