100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > linux实现wifi中继 树莓派Wifi中继

linux实现wifi中继 树莓派Wifi中继

时间:2020-02-05 19:48:10

相关推荐

linux实现wifi中继 树莓派Wifi中继

【原创】树莓派用作WiFi信号中继(兼开热点)

Buildtime:7月6日

首先要先感谢树莓派实验室创客群-G的大佬:【管理员】辣鸡管理

话说我家的WiFi信号有些差劲,就想用树莓派中继一下,弄了一晚上之后成功,特此记录。

我的配置:USB无线网卡一个(建议选择大功率的,我做出来网速就很慢)

树莓派其实可以用其他版本,zerow的话就需要MicroUSB转USB的线

之所以要用USB网卡是因为中继需要两张无线网卡:一张连接网络,一张开AP。

如果你想用网线开热点的话,就不要理这个,把下面的“连接到网络的网卡”改成eth0即可

请事先调试好你的树莓派确保能正常上网和连接,如有异议请点击这里入门

好的我们开始!

Step1:插上USB网卡

插上后要检查一下有没有被识别,一般都能够别识别的

键入命令以查看网络情况:ifconfig

之后应该有两张无线网卡:wlan0和wlan1,如图:

如果没有找到两张网卡,就是没有被识别,可以自行百度树莓派识别USB网卡

Step2:安装create_ap

create_ap是GitHub上一个开源项目,专门用于开热点#把这个项目Git下来并安装

sudo git clone /oblique/create_ap

cd create_ap

sudo make install

#安装依赖的库

sudo apt-get install util-linux procps hostapd iproute2 iw haveged dnsmasq

这个东西的语法自己用-h去问,大概是这样的:sudo create_ap 要使用的无线网卡 连接到网络的网卡 热点名 密码

#或者这样,其中-n是无互联网连接的开关

sudo create_ap -n 要使用的无线网卡 热点名 密码

#其实密码都可以省略,表示没有密码

完成了之后继续

Step3:切断和重连

因为两张无线网卡都连接到了WiFi(或者说是都在使用中),所以create_ap调用时就会报错,所以我们要先切断一张网卡的连接(这里我弄了有3、4个小时才搞清楚)

首先,你的那张USB网卡可能没有开AP的功能,而树莓派的板载网卡是有的,所以辨别要切断哪一个网卡的连接

用命令尝试一下:sudo create_ap wlan0 wlan1

#用wlan0作AP源

sudo create_ap wlan1 wlan0

#用wlan1作AP源

其中有一个会报如下错误(除非你两张都支持):ERROR: Your adapter does not support AP (master) mode

#你的网卡没有AP功能

那么,就可以知道哪一张是能开AP的了,下面用wpa切断这张网卡的WiFi连接(要用于开AP,必须空闲状态),此时要先记住另一个网卡的ip,如果你是用无线网络连接的话,可能就被一同切断,这时就要通过另一网卡连接。wpa_cli -i wlan0 disable_network 0

#注意你的是wlan0还是wlan1

再ifconfig一下,你会发现有一张网卡没有ip地址,此时它被闲置了:

OK,此时再用create_ap创建AP(注意你选择的网卡):sudo create_ap wlan0 wlan1 你的WiFi名 你的WiFi密码

如果无误一般不会报错,但我在用树莓派新版系统Raspbian Buster时会报错(弄了我2个小时,不知道这个bug现在修复了没有)。

此时,另一种方法可以避免这个bug(如果你已经报错,先重启):#直接键入

sudo create_ap wlan0 wlan1

之后它会提示你输入SSID(网络名)和密码而并不会报错,真是巧妙

好了,万事大吉了

当然还有一个画龙点睛之笔

画龙点睛:开机自启

关于开机自启,有很多方法,但我偏爱下面的这一个

先写一个开WiFi的脚本,再添加到rc.local里#创建脚本:

cd ~

nano auto_ap.sh

#随后在文件里输入:

#!/bin/sh

sleep 10s

#这里延迟10s是因为rc.local比网卡启动早,要等网卡启动了之后才能进行下面的工作

wpa_cli -i wlan0 disable_network 0

sudo create_ap wlan0 wlan1 网络名 密码 &

#那个&是后台的意思,这意味着你可以在这里添加一些其他代码,例如定时关机等等

Ctrl+X,然后按Y确认保存

之后加权限chmod 777 auto_ap.sh

再打开rc.local文件,并加入代码#打开rc.local

sudo nano /etc/rc.local

#在exit 0上面加入

su pi -c "exec /home/pi/auto_ap.sh"

sudo reboot

Okay

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。