树莓派自动连接WiFi

笔记本+网线+树莓派+手机热点,实现树莓派自动连接WiFi

Posted by K4ys0n on November 25, 2019

前言

由于使用的树莓派是跟别人借来的,已经安装了raspbian系统,但是本人只有一台笔记本和一根网线,没有显示器,当然手机就不用说了哈哈,常人都有。

同时,为了达到笔记本远程控制(SSH)树莓派且笔记本和树莓派都能正常上网,于是就想让树莓派和笔记本同在手机热点下,这样手机就相当于路由器,当然如果有路由器的条件也可以用路由器作为WiFi。

准备

1. 笔记本需要下载这几个软件,点击链接进去就可以下载了。

  1. IP扫描软件Advanced IP Scanner
  2. SSH连接软件Putty
  3. FTP文件传输工具Filelliza

2. 这是下载安装完成的三个软件

三个软件

步骤

1. 树莓派通过网线与笔记本直连,然后打开命令行(win+r,输入cmd,回车),输入

arp -a

这时候出现如下图 ip 注意圈出来的ip,一般是192.168.137.0~192.168.137.255网段下的动态IP,记住这个IP,本人是192.168.137.33。 后面会用到,当然也可以选择设置静态IP,这里就不多赘述。

2. 笔记本下创建conf文件

可以在桌面创建一个文件,命名为wpa_supplicant.conf。用记事本或者notepad打开,写入内容:

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
update_config=1

network={
	ssid="user"
	psk="keyword"
	key_mgmt=WPA-PSK
	priority=6
}

其中”user”替换为你的手机热点的名称(最好是英文),”keyword”替换为手机热点的密码,其他的不用改,然后保存。 conf

3. 将conf文件转移到树莓派

这里打开前面下载的Filelliza软件,输入主机号,也就是前面那个IP(我的是192.168.137.33),树莓派用户名,树莓派密码,端口号为22,然后快速连接。 filelliza 然后本地站点路径找到桌面,远程站点路径先选择/home/pi。 按住wpa_supplicant.conf文件,直接拖到远程站点那个目录下即可。 注:如果直接转移到树莓派/boot/目录下会失败,有权限问题,所以先放在用户目录下,再复制到根目录下boot/中。

4. putty登录树莓派

打开putty,在Host Name一框中输入IP(192.168.137.33),然后点击open,会弹出一个框让你选,选择否就行了,输入用户名和密码进入到树莓派系统。

5. 在/boot/目录下创建conf文件,并将/home/pi/下的conf文件复制过来

接着输入以下命令:

cd /boot
touch wpa_supplicant.conf
sudo cp /home/pi/wpa_supplicant.conf wpa_supplicant.conf
sudo reboot

6. 拔掉网线,打开手机热点,重启树莓派,笔记本连接树莓派

拔掉网线,打开手机热点,注意热点名称和密码要跟上面wpa_supplicant.conf文件中的统一。

开启热点后,重新给树莓派上电,同时笔记本也连上手机热点。

7. IP scanner扫描IP

打开Advanced IP scanner,点击扫描,会出现如下图扫描结果: ip scanner 找到如图中所示制造商为Raspberry…对应的IP地址(我这里是192.168.43.107)

8. SSH连接即可

打开putty软件,Host Name框中输入IP(192.168.43.107),点击open,弹出框选择否,输入账号密码就连上了!!

这个时候就是笔记本和树莓派都在手机热点这个局域网下,同时都可以访问网络。

可以输入以下命令测试网络:

ping www.baidu.com

如果网络正常,则会返回如下信息,其实就是一些通信帧(可以直接手动ctrl+C强制终止,不然会一直发送过来):

pi@raspberrypi:~ $ ping www.baidu.com
PING www.a.shifen.com (183.232.231.174) 56(84) bytes of data.
64 bytes from 183.232.231.174 (183.232.231.174): icmp_seq=1 ttl=55 time=38.4 ms
64 bytes from 183.232.231.174 (183.232.231.174): icmp_seq=2 ttl=55 time=38.4 ms
64 bytes from 183.232.231.174 (183.232.231.174): icmp_seq=3 ttl=55 time=35.10 ms
64 bytes from 183.232.231.174 (183.232.231.174): icmp_seq=4 ttl=55 time=35.7 ms
64 bytes from 183.232.231.174 (183.232.231.174): icmp_seq=5 ttl=55 time=33.1 ms
64 bytes from 183.232.231.174 (183.232.231.174): icmp_seq=6 ttl=55 time=34.1 ms
64 bytes from 183.232.231.174 (183.232.231.174): icmp_seq=7 ttl=55 time=30.6 ms
64 bytes from 183.232.231.174 (183.232.231.174): icmp_seq=8 ttl=55 time=54.1 ms
64 bytes from 183.232.231.174 (183.232.231.174): icmp_seq=9 ttl=55 time=49.8 ms
64 bytes from 183.232.231.174 (183.232.231.174): icmp_seq=10 ttl=55 time=51.6 ms
^C
--- www.a.shifen.com ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 21ms
rtt min/avg/max/mdev = 30.620/40.173/54.083/7.999 ms

后记

可能有人会问,那既然网线直连可以访问树莓派,为什么还要捣鼓这么多来设置自动连接WiFi呢?

这里面的原因主要是,首先树莓派和笔记本都想要联网,但本人在树莓派与笔记本网线直连时,笔记本有线网络端口会被占用,所以只能靠无线网络来联网,但不知道什么原因,无线网络端口无法打开或者打开了强制自动关闭,所以就选择设置树莓派自动连接WiFi,与笔记本共用热点网络,这样一来树莓派和笔记本电脑就都可以正常上网啦。