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

Posted

技术标签:

【中文标题】如何在没有 MAC 地址的情况下使用 WiFi Direct p2p_connect 到设备? (树莓派和安卓)【英文标题】:How to p2p_connect to device with WiFi Direct without MAC Address? (Raspberry Pi and Android) 【发布时间】:2018-10-02 09:25:40 【问题描述】:

我有一个 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?

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于如何在没有 MAC 地址的情况下使用 WiFi Direct p2p_connect 到设备? (树莓派和安卓)的主要内容,如果未能解决你的问题,请参考以下文章

如何获取Android系统的wifi MAC和有线MAC

获取没有Wifi的android设备的MAC地址

wifi网络中其他wifi设备的MAC地址

wifi连接被拒绝是啥意思家里wifi拒绝接入

如何获取WiFi网络接口的MAC地址?

获取Android设备WIFI的MAC地址 “MAC地址”