树莓派Zero因为相对来说太小巧,没有提供初始化的网卡,所以我们除了通过串口连接以外,树莓派Zero也提供了USB直接连接的方式。即通过Ethernet Gadget模式来连接pc,并进行ssh连接。
Ethernet Gadget模式即USB网卡模式,比较常见的就是我们通过android手机的usb接口对pc进行网络共享的一种手段。一般电脑都会自动识别这种设备,并开启网卡进行共享。
修改配置文件
为了进行USB连接,我们需要修改BOOT文件夹下的config.txt与cmdline.txt配置文件。 首先在config.txt最末行处换行添加如下代码,打开usb网卡模式:
dtoverlay=dwc2
其次在cmdline.txt文件中找到rootwait
字段,并在其后面空格添加如下信息,在打开系统时开启USB网卡模式。
modules-load=dwc2,g_ether
在boot分区新建ssh文件,以打开ssh访问功能。
touch ssh
通过usb连接设备
树莓派zero有两个MicroUSB口,一个是电源插口,职司供电的功能,另外一个就是USB接口,它除了供电以外还提供OTG的功能,我们也是通过这个接口来连接PC。 此时我们可以通过以下代码连接树莓派zero:
ssh [email protected]
但此时ip段为DHCP模式获取,如果我们希望通过ip来连接,则我们需要给树莓派的usb网卡设置ip。
设置USB网卡的IP
我们可以通过ifconfig -a来查看我们现在的网卡设备,此时我们可以看到,USB0网卡设备,我们就是通过该设备连接的pc,所以我们需要设置该网卡的ip。
sudo nano /etc/network/interfaces
打开网卡配置界面,在最末行添加如下代码来设置固定IP:
allow-hotplug usb0
iface usb0 inet static
address 192.168.7.2
netmask 255.255.255.0
network 192.168.7.0
broadcast 192.168.7.255
gateway 192.168.7.1
然后重启usb0网卡:
sudo ifdown usb0
sudo ifup usb0
ifconfig usb0
但树莓派此时实际上是从机,我们需要通过设置pc主机的ip来让树莓派0的usb网卡真正运作起来,那么我们对刚才的usb设备设置如下IP:
IP: 192.168.7.1 掩码: 255.255.255.0 路由: 192.168.7.1
此时我们就可以通过ip来进行ssh连接了:
ssh [email protected]