![通过 Wi-Fi 直连连接两个树莓派](https://linux22.com/image/174100/%E9%80%9A%E8%BF%87%20Wi-Fi%20%E7%9B%B4%E8%BF%9E%E8%BF%9E%E6%8E%A5%E4%B8%A4%E4%B8%AA%E6%A0%91%E8%8E%93%E6%B4%BE.png)
我想尝试一下 Wi-Fi direct 协议并真正理解它,因为我想假装我有一个遵循以下模式的传感器网络:
- 醒来
- 建立网络
- 贸易数据
- 断开
- 等待下一个窗口
- 并重复。
我已经很接近了,但我不太清楚如何让完整的协议发挥作用。
我从两个运行 Raspbian 10 的相同 Raspberry PI 4 开始。我添加了以下软件包:
openssl-server, bison, flex, build-essential,
libglib2.0-dev, dbus-glib-1-dev, libssl-dev, libreadline-dev
我已经下载并编译了以下内容:
desktop-file-utils, libnl, wpa_supplicant-2.9
是使用以下方式wpa_suuplicant-2.9
构建和配置的http://www.linuxfromscratch.org/blfs/view/svn/basicnet/wpa_supplicant.html以及 README-P2P 中的信息
运行iw list
显示 P2P-client、P2P-GO、P2P-device 受支持
我已修改wpa_supplicant.conf
添加以下信息:
ctrl_interface=/var/run/wpa_supplicant
device_name=My P2P Device *<device number>*
device_type=1-0050F204-1
running wpa_cli
then runningp2p_find
允许每个设备查找附近的打印机,但不能互相查找
p2p_group_add
我曾在其中一个 pi 上使用过。通过使用它,我可以让另一个 pi 看到我通过p2p_group_add
via进行的操作p2p_find
。我还没有完全弄清楚这个程序;然而,问题p2p_group_add
是它跳过了 GO 协商。在我看来,这违背了使用 Wi-Fi direct 的目的,因为我希望每个 pi 轮流运行,这样我就可以在所有设备上分配其工作负载。
任何帮助将非常感激。
先感谢您。
蒂姆
答案1
我需要去买一个外部 wifi 适配器(我为每个树莓派准备了一个适配器,以保持它们与我上面的假设场景相同)
使用包含 rtl8192eu 芯片组的外部 WiFi 适配器测试了上述步骤。编译并添加驱动程序后,它就开始工作。