分享

纯干货!一根线玩转树莓派ZeroW(图文教程,亲测有效)

 金刚光 2020-02-13

#一、写在前面

本文旨在介绍如何用最少的外设(成本)完成树莓派Zero W最基础最重要的功能。


注意:本文原始发表时官方镜像版本是2017-04-10的,在2019年5月10日有网友提出本方案已经不完全适用最新的镜像了,所以如果只是想按照本文所提出的步骤一步一步操作的话,可能就不能直接达到理想结果。但是本文提供的思路还是具有一定的参考价值,希望还能继续帮助广大读者,特此声明。


最少的外设
这里写图片描述
这里写图片描述

设备数量
笔记本 (Win、Linux、Mac都行,重点突出Windows)一台
树莓派zero w板一块
MicroUSB数据线(充电线也行,不使用USB网卡功能)一根
MicroSD卡(4G以上,Class4以上)一张

最基础最重要的功能

  • 1.能远程SSH登录命令行界面

  • 2.能远程登录图形桌面(不需要使用HDMI连接线)
    这里写图片描述
    这里写图片描述


注意
**本文只针对树莓派zero w,注意是w,不是树莓派zero!**有w的是具有WiFi和蓝牙功能的,而WiFi是本教程进行远程登录的主要手段,所以请特别注意。


#二、探索历程与参考链接
本章主要介绍基本思路,并列出一些有用的参考链接

一根数据线玩转树莓派Zero
当时也是参考了这篇文章才敢在购买树莓派zero w的时候只买了板子和sd卡,回来就照着倒腾。其介绍了在不使用额外串口模块的情况下直接用usb口的网卡模式实现了树莓派zero与笔记本的连接。

不过本人的笔记本是win10的可能有点不同,就是始终找不到网卡,只找到有一个串口,还是打不开的那种。测试发现在linux下可以识别出网卡,MAC没有试过。其中USB网卡主要用到DHCP模式和静态模式两种模式中的一种,测试发现DHCP模式下IP地址每次可能不同,静态模式下插入后需要找到网卡并设置笔记本网卡IP与其在同一个网段才行,总之就是有点麻烦,既然我们的树莓派zero w自带wifi模块,那还是用wifi模块好了。

树莓派连接WiFi(最稳定的方法)
按照上面的教程,即可完成WiFi配置,并实现开机自动连接,然后我们以后就可以直接远程登录,这个方法比USB网卡的方式更加简单方便稳定。

最后,就是让树莓派实现远程桌面了,在不使用HDMI的情况下实现图形界面还真是有省了一笔Money呀,这种方法就是远程桌面了,由于之前的教程中我们使用的系统是Raspbian Jessie Lite系统,不带图形界面,所以我们先要安装图形界面,然后安装远程登录客户端VNC。

在Raspbian Jessie Lite下安装图形界面而不直接使用自带图形界面的RASPBIAN JESSIE WITH PIXEL的好处主要是不用安装一些可能用不到的软件,减小系统体积,简单来说RASPBIAN JESSIE WITH PIXEL的镜像大到只能用8G的SD卡,而我们自己做的情况下镜像可以小到2G以下。

Raspbian Lite图形界面安装指南
详细介绍了安装图形界面的方法。

怎么用VNC远程控制树莓派
详细介绍了远程桌面的配置方式。

以上为一些有用的参考链接,下面将其进行合并,介绍如何一步一步完成我们开头说的用最少的外设(成本)完成树莓派ZeroW最基础最重要的功能。


#三、详细介绍
##1.官网下载RASPBIAN JESSIE LITE镜像并烧录到SD卡
进入树莓派官网的RASPBIAN镜像下载页面,选择RASPBIAN JESSIE LITE,下载并解压得到.img镜像文件。
这里写图片描述


下载并安装镜像烧录工具win32diskimager,然后将镜像烧写到SD卡(用大卡套或sd卡读卡器,一般购买MicroSD卡时卖家有提供,注意选购)。
这里写图片描述
如图选择好镜像和SD卡盘符,单击写入即可开始烧录,过程可能长达几分钟,烧写成功后点退出即可。


##2.修改刚烧录好的SD卡
刚烧录好的SD卡在window下查看如下:
这里写图片描述
其实SD卡被分成了两个分区,而我们在window下只能看到第一个分区boot,而修改需要修改两个分区下的内容,所以有两种方法:

  • 1.使用linux系统访问
    这种方法比较通用,只要你有linux系统,那么你就能看到其两个分区,对指定文件进行修改即可。

  • 2.使用windows虚拟机
    这种方法有一个条件,那就是必须使用USB读卡器,使用SD卡卡套的情况下虚拟机无法识别。插入USB读卡器后还要记得在虚拟机可移动设备中让USB读卡器被虚拟机使用而不是windows笔记本,如下图:
    这里写图片描述

因为我们有现成的linux系统,所以可以直接在linux下来操作。

在不管usb网卡模式情况下,一共就这3件事:

  • 1.在sd卡boot目录下新建空白文件ssh(可以在windows下直接新建,不要任何后缀名)

  • 2.在sd卡etc/network/目录下修改interfaces文件,内容如下:

auto lo
iface lo inet loopback

iface eth0 inet manual

allow-hotplug wlan0
auto wlan0
iface wlan0 inet dhcp
    wpa-conf /boot/wpa.conf
  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

修改时需要root权限,主要内容表示开机自动启动WiFi,WiFi启动后根据/boot/wpa.conf内的配置进行连接,所以接下来在sd卡的boot/目录下新建wpa.conf文件。

  • 3.在sd卡的boot/目录下新建wpa.conf文件,内容如下:

network={
	ssid="TP-LINK_110258"
	key_mgmt=WPA-PSK
	psk="你的密码"
	priority=5
}

network={
	ssid="TP-LINK_4F60"
	key_mgmt=NONE
	priority=4
}
  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

  • 11

  • 12

里面的内容需要你自己对照着修改,如果WiFi是WEP加密的或者没密码的,就按照如下形式表示:
network={
ssid=“你的WiFi的SSID”
key_mgmt=NONE
priority=4
}
如果WiFi是WPA/WPA2加密的,就按照如下形式表示:

network={
	ssid="你的WiFi的SSID"
	key_mgmt=WPA-PSK
	psk="你的密码"
	priority=5
}
  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

其中ssid表示WiFi的SSID号,key_mgmt表示加密类型,key_mgmt=NONE表示没有密码或者WEP,key_mgmt=WPA-PSK表示WPA/WPA2加密,psk表示密码,没有密码就不用写,priority表示优先级,大的优先连接,一般这两种就够了。

这里wpa.conf配置文件的位置可以自己修改, 一般情况下是创建在sd卡的/etc/目录下,我们专门把其位置设置到sd卡的boot/目录下主要是为了能够在windows下直接修改配置文件,以后方便移植。

详细配置请看参考链接:树莓派连接WiFi(最稳定的方法)

到此,基本SD修改完毕,准备开机测试。


如果打算在这里把USB网卡也顺便搞定了,那就在sd的boot分区下找到config.txt文件,在最后加一行代码dtoverlay=dwc2,然后在cmdline.txt中找到rootwait,后面空一格,加上modules-load=dwc2,g_ether ,最后还要在sd卡etc/network目录下的interfaces最后面加上一段代码,如果想用静态IP的话如下:

allow-hotplug usb0
auto usb0
iface usb0 inet static
	address 192.168.10.5
	netmask 255.255.255.0
  • 1

  • 2

  • 3

  • 4

  • 5

如果想用dhcp则如下:

allow-hotplug usb0
auto usb0
iface usb0 inet dhcp
  • 1

  • 2

  • 3

详细配置请看参考链接:一根数据线玩转树莓派Zero


##3.开机联网下载安装桌面环境
开机,可见LED灯不断闪烁,最后保持相对稳定,大约1分钟后树莓派开机完毕,这时候我们需要远程ssh登录。

此时必须保证你的笔记本连接的WiFi和你刚才设置让树莓派连接的WiFi相同。

如果用linux那么不需要额外工具,直接命令行ssh pi@raspberrypi.local登录,当然你可以先用ping raspberrypi.local来测试网络连接是否正常,并可以看到实际的IP地址。

如果用windows,需要安装两个软件,远程登录软件PuTTy和解析raspberrypi.local的ip地址的Bonjour,因为windows下直接ping raspberrypi.local时会显示host不存在,无法把raspberrypi.local解析成IP地址,安装Bonjour之后(不需要打开)就可以解析了,可以先在命令行中ping raspberrypi.local测试网络是否正常,
这里写图片描述

然后远程登录。
这里写图片描述
等待10多秒就会出现登录页面,
这里写图片描述
输入用户名和密码登录,用户名pi,密码raspberry。
这里写图片描述

okay,重启一次。(或者就是输入raspi-config选择让文件系统扩展填满SD卡后再重启,不过重启后一般就已经自动扩展了。)

再次登录,然后下载PIXEL桌面环境,依次输入如下命令:

sudo apt-get update
sudo apt-get install --no-install-recommends xserver-xorg
sudo apt-get install --no-install-recommends xinit
sudo apt-get install raspberrypi-ui-mods
sudo reboot
  • 1

  • 2

  • 3

  • 4

  • 5

这些命令都挺花时间的,下载安装还和网速有关,耐心等待,至少半个小时吧。
详细说明(可选择其他桌面环境)请看参考链接:Raspbian Lite图形界面安装指南

到此桌面环境已装好。

##4.安装远程登录工具
输入如下命令:

sudo apt-get install tightvncserver
  • 1

然后输入

tightvncserver
  • 1

这时根据提示输入密码两次,远程登录桌面的密码,待会儿连接时需要输入这个密码才能连接成功。
这里写图片描述
最后输出一大段话,只看最后,是一个数字.log,第一次应该是1.log,这时就可以远程桌面连接了(桌面系统启动需要一点时间,这时马上连接的话能连接成功,但是没有图像,等待半分钟左右出现图像)。

Windows下使用VNC-Viewer软件,输入IP:刚才log前面的数字,这里就是你的树莓派的IP:1了,IP可以用ifconfig命令查看,然后输入密码。
这里的截图是使用LXDE桌面的截图,树莓派PIXEL桌面的也一样能显示,到此大功告成。
这里写图片描述

还有一点要注意,如果重启,远程桌面服务并没有开机自启,每次开机后想用远程桌面都需要输入tightvncserver开启服务然后才能连接,每次都需要,如果你想开机自启需要专门设置一下。
详细配置请看参考链接:怎么用VNC远程控制树莓派

##5.还能更简单
按照教程配好了系统记得备份SD内容为img文件保存起来,以后就能直接烧录直接用啦。如果网络配置改变,也可以直接修改sd卡boot分区下的wpa.conf文件,在windows下就能修改,方便快速移植。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多