如何通过Wifi Direct让Windows 10笔记本SSH控制树莓派3机器人?
实现Windows 10通过WiFi Direct SSH控制树莓派3的方案
我之前在户外演示树莓派机器人时也遇到过同样的问题,WiFi Direct确实是摆脱公共网络依赖的完美方案,下面是我亲测有效的完整步骤,适配你的树莓派3(Raspbian)和Windows 10环境:
第一步:确认设备WiFi Direct支持
- 树莓派3:它搭载的BCM43438无线芯片原生支持WiFi Direct,不过建议你用Raspbian Buster及以上版本(老版本可能需要额外驱动,新版本兼容性更好)。
- Windows 10:从1803版本开始就原生支持WiFi Direct了,你可以按下
Win+R输入devmgmt.msc打开设备管理器,在「网络适配器」里找带“WiFi Direct”或“Miracast”标识的设备,确认它存在且正常工作。
第二步:树莓派端配置WiFi Direct
首先打开树莓派的终端,一步步执行以下操作:
- 安装必要工具:
sudo apt update && sudo apt install -y hostapd dnsmasq wpasupplicant
- 先停止可能冲突的服务:
sudo systemctl stop hostapd dnsmasq
- 固定树莓派在WiFi Direct网络的IP:
编辑/etc/dhcpcd.conf文件:
sudo nano /etc/dhcpcd.conf
在文件末尾添加以下内容:
interface p2p-wlan0-0 static ip_address=192.168.4.1/24 nohook wpa_supplicant
按Ctrl+O保存,回车确认,再按Ctrl+X退出编辑器。
- 配置DNS和DHCP服务(dnsmasq):
先备份原配置文件:
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.bak
新建配置文件并写入内容:
sudo nano /etc/dnsmasq.conf
输入:
interface=p2p-wlan0-0 dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h
保存退出。
- 配置WiFi Direct热点(hostapd):
创建hostapd的配置文件:
sudo nano /etc/hostapd/hostapd.conf
写入以下内容(注意替换YourStrongPassword为你自己的密码,密码长度至少8位):
interface=p2p-wlan0-0 driver=nl80211 ssid=RPi-P2P hw_mode=g channel=7 wmm_enabled=0 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_passphrase=YourStrongPassword wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP
保存退出。
- 告诉系统hostapd的配置文件位置:
编辑/etc/default/hostapd:
sudo nano /etc/default/hostapd
找到#DAEMON_CONF=""这一行,修改为:
DAEMON_CONF="/etc/hostapd/hostapd.conf"
保存退出。
- 启动服务并设置开机自启:
sudo systemctl unmask hostapd sudo systemctl enable hostapd dnsmasq sudo systemctl start hostapd dnsmasq
- 让树莓派处于WiFi Direct可发现状态:
执行以下命令(可以保持终端打开,或者后台运行):
wpa_cli -i wlan0 p2p_find
第三步:Windows 10端连接WiFi Direct
- 按下
Win+I打开「设置」,进入「网络和Internet」→「WiFi」,点击“显示可用网络”下方的「WiFi Direct」选项(如果没看到,点击「查看更多网络」)。 - 在设备列表里找到你刚才设置的SSID(比如
RPi-P2P),点击「连接」,输入你设置的密码。 - 连接成功后,按下
Win+R输入cmd打开命令提示符,执行ipconfig,查看WiFi Direct适配器的IP,确认它处于192.168.4.x网段。
第四步:测试SSH连接
打开Putty,在「Host Name (or IP address)」栏输入树莓派的固定IP192.168.4.1,端口保持默认的22,点击「Open」。输入树莓派的用户名(默认是pi)和密码(默认是raspberry,如果改过就用你自己设置的),就能成功连接并控制树莓派了。
常见问题排查
- 如果Windows找不到树莓派的WiFi Direct信号:重新执行树莓派端的
wpa_cli -i wlan0 p2p_find命令,或者重启树莓派的无线服务:sudo systemctl restart wpa_supplicant。 - SSH连接失败:先确认树莓派的SSH服务已开启,执行
sudo systemctl enable ssh && sudo systemctl start ssh;如果树莓派开了防火墙,允许22端口:sudo ufw allow 22。
内容的提问来源于stack exchange,提问作者user156060
相关产品推荐
相关产品推荐

