树莓派的很多 DIY 玩法都要求联网和 ssh 登录,但这对于没有屏幕、没有键盘、没有网线的裸板树莓派玩家来说,就不是一件特别容易的事了。
幸运的是,树莓派官方在2016年5月的发布日志里提到,Raspbian 系统支持用户在 boot 目录下新建 wpa_supplicant.conf 和 ssh 文件开机初始化 WiFi 和 ssh。
这个小技巧对于裸板树莓派玩家尤其有用。
配置 WiFi
将刷好 Raspbian 系统的 SD 卡用电脑读取。在 boot 分区,也就是树莓派的 /boot 目录下新建 wpa_supplicant.conf 文件。按如下格式写入:
<code>ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdevupdate_config=1country=<insert>network={ ssid="<name>" psk="<password>"}/<password>/<name>/<insert>/<code>
<insert> 是地区代码,换成 CN (CN 指中国大陆)即可。/<insert>
在 https://www.iso.org/obp/ui/ 这个地址可以查看所有地区代码
<name> 换成 WiFi 名,<password> 换成 WiFi 密码明文。/<password>/<name>
当树莓派启动的时候,这个文件会被移动到 /etc/wpa_supplicant/ 配置目录下,覆盖掉原来的网络配置。
一些注意事项:
- 最好填 2.4G 的 WiFi,网卡兼容性更好
无密码网络
如果 WiFi 不需要密码,则需要配置 key_mgmt=NONE,比如:
<code>network={ ssid="testing" key_mgmt=NONE}/<code>
隐藏网络
有些 WiFi 设置了隐藏,则需要配置 scan_ssid=1,比如:
<code>network={ ssid="yourHiddenSSID" scan_ssid=1 psk="Your_wifi_password"}/<code>
多 WiFi 配置
树莓派可以同时配置多个 WiFi,只需要配置多个 network 即可,比如:
<code>network={ ssid="SchoolNetworkSSID" psk="passwordSchool" priority=1 id_str="school"}network={ ssid="HomeNetworkSSID" psk="passwordHome" priority=2 id_str="home"}/<code>
id_str 是标识符。priority 是优先级,越大优先级越高。
配置 ssh
和 WiFi 配置相似,同样在 boot 分区新建一个空白文件,命名为 ssh。注意要小写且不要有任何扩展名。
当树莓派启动的时候,会去检查 boot 目录。如果有 ssh 文件,就会开启 ssh 服务。
- The latest update to Raspbian
- Prepare SD card for Wifi on Headless Pi
- SSH (Secure Shell)
- Setting up a Raspberry Pi headless
- http://shumeipai.nxez.com/2017/09/13/raspberry-pi-network-configuration-before-boot.html
閱讀更多 硬核樹莓派 的文章