如何在没有 MAC 地址的情况下 p2p_connect 连接到带有 WiFi Direct 的设备? (Raspberry Pi 和 Android)

How to p2p_connect to device with WiFi Direct without MAC Address? (Raspberry Pi and Android)

我有一个 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 地址的情况下连接平板电脑?例如,当他们向 pi 发送 P2P-GO-NEG-REQUEST 时连接到该特定设备 ssid?

TL;DR 不。
如果我们查看网络通信的 OSI ISO 7 layer model,我们可以看到媒体访问控制 (MAC) 地址对于识别 wifi 网络中的哪个设备是至关重要的。 您可以尝试设置蓝牙连接或令牌环,但我怀疑这会比您期待的更费力。 使用 IPv6,您的设备可以使用邻居发现来自动通过 MAC 条目进入 Internet 协议,并且可以使用它们的 link-本地地址 (fe80::some:thing) 在设备之间进行连接

Wifi 承载具有地址的数据包。以此类推,如果我告诉你我住在哪个城镇,但不在包裹上写上我的住址,你将很难送达。