Raspberry Pi 4B板载了无线网络适配器,不需要额外增加无线网卡就可以把它打造成一个无线路由器。有一种方法是给Raspberry Pi刷上OpenWRT等路由器固件,这样它就变成了一个比较正宗的路由器。另一种方法是开启树莓派无线网络适配器的AP功能,并且共享其有线网络。这样依然使用Raspbian系统,可以发挥Raspiberry Pi作为一个微型服务器的优势。
目前较为常用的方法是安装hostapd开启AP功能,但相关配置比较繁琐。这里使用了GitHub上大佬的项目,只需几行代码即可完成配置。
先进入主用户目录下
cd /home/pi
下载项目"create_ap"到本地
git clonehttps://github.com/oblique/create_ap
进入文件夹并安装
cd create_ap
sudo make install
sudo apt-get update
安装依赖库
sudo apt-get install util-linux procps hostapd iproute2 iw havegeddnsmasq
完成上述操作后,保证树莓派已插入网线且本身不连接任何WiFi信号,之后在终端输入命令即可创建WiFi热点。命令的格式为:sudo create_ap wlan0 eth0 热点名称 密码。如:
sudo create_ap wlan0 eth0 hello 88888888
即可打开WiFi热点。
如果出现如下报错:
因为作为ap热点的网卡已经默认连接上了其他ssid,所以此时没办法将其修改为热点,所以报错,需要将wifi断开才能使用。树莓派作为路由器,需要插入网线。树莓派自身不能连接wifi。登录图形界面,将右上角的WiFi关闭。
如果出现以下报错:
ERROR: Maybe your WiFi adapter does not fully support virtual interfaces.
因为网卡不支持ap热点功能,或者–driver配置的驱动不对。重启树莓派发现启动界面多了两行提示:
于是尝试用以下命令修复:
rfkill unblock all
rfkill unblock wifi
做完以上这些,如果觉得每次手动开启太麻烦,可以设置开机自动启动。
cd
sudo vi startAP.sh
#在startAP.sh中写入自动启动脚本
#!/bin/sh
#在2/3/4/5运行级别启动,启动序号(S20),关闭序号(K80)
#chkconfig:2345 20 80
#description: auto execute AP
sleep 10
sudo x-terminal-emulator
sudo create_ap wlan0 eth0 hello 88888888
sudo chmod 777 startAP.sh
之后添加快捷启动文件
cd /home/pi/.config
mkdir autorun
sudo vi startAP.desktop
#添加快捷方式
[Desktop Entry]
Type=Application
Exec=/home/pi/startAP.sh