树莓派(1):入门

入手一块树莓派3B+,准备用它完成毕业设计,顺便深入学习一波Linux。

这里,先学习官方Raspbian系统的烧录和基本配置过程。

系统烧录

树莓派要用SD卡启动,所以最好有一张16G以上的内存卡,将系统烧录在其中,它也将作为树莓派的硬盘。

基于开源特性,树莓派支持很多系统,如Ubuntu、Chrome OS、Android、Window IOT甚至是与PC功能一致的Window 10 ARM。官方提供的系统是32位的基于Debian的Raspbian,虽然从3B开始就有了64位的CPU,且据说64位的系统将使树莓派的性能最高提升30倍,但官方一直都没有要发布64位Raspbian的意思。第三方的64位的系统就留着以后折腾,现在先装上官方出品的稳定Raspbian。

首先到树莓派官网上下载Raspbian系统镜像,里面有三个版本可选:
Raspbian版本

第一个是带有桌面环境和一些推荐安装的软件的版本,第二个则不带有推荐安装的软件,第三个不带桌面环境。根据自己的需要,选择下载。下载期间,安装好SDFormatterWin32DiskImager软件,并使用SDFormatter将SD卡进行格式化:
SDFormatter

下载完成相应的压缩包并将系统镜像文件(.img)解压出来后,使用Win32DiskImager选择镜像文件并Write到SD卡:
Win32DiskImager

系统写入完成后,系统就烧录到了SD卡中。SD卡的空间将被分成两部分,一部分是Windows文件系统下无法识别的Linux磁盘分,另一部分是系统的开机引导分区boot,所以不要理会Windows的格式化提示而将烧录到SD的系统又给格式化了。

网络配置

烧录完系统后,如果身边有网线以及支持HDMI输入的显示器(部分高端笔记本也支持),则可以直接将弹出SD卡并放入树莓派的SD卡卡槽中,启动系统。否则,先不急着弹出SD卡,而是进行一些简单的网络配置,以方便远登录我们的树莓派。

首先开启系统的ssh,只需要在boot分区下,新建一个文件,并重命名为”ssh“,不带任何后缀名:
ssh

ssh(Secure Shell)是专为远程会话和其他网络服务提供安全性的应用层协议,可以用它来远程访问树莓派上Raspbian系统的命令行。在Windows上大家都推荐使用带有ssh功能的PuTTy来连接树莓派,个人发现git也可以用来建立ssh连接,且操作上更为方便,建议下载使用。

接下来配置树莓派的wifi网络,还是在boot分区下,新建文件并重命名为“wpa_supplicant.conf”,使用编辑器打开并填写内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
ssid="wifi名称-1"
psk="密码-1"
key_mgmt=WPA-PSK
priority=1
}

network={
ssid="wifi名称-2"
key_mgmt=NONE
priority=2
scan_ssid=1
}

其中network中各参数的含义如下:

  • ssid:网络名称
  • psk:密码
  • key_mgmt:加密方式,一般为“WPA—PSK”,无密码则为“NONE”
  • priority:连接优先级,数字越大优先级越高
  • scan_ssid:连接隐藏的wifi时需要将其指定为“1”

想要通过PC远程登录树莓派,PC和树莓派需要连接在相同的局域网中。对于笔记本,在连接到其他有线/无线网络后可开启移动热点,并在“wpa_supplicant.conf”中填写该热点的相关信息;对于不带无线网卡的台式PC,则另外需要一个wifi路由器,设置树莓派开机自动连接到该热点并用网线将PC连接到路由器上。
win10移动热点

完成以上配置后,就可以将SD卡弹出,并放入树莓派的SD卡卡槽中。

ssh登录

树莓派采用的是Micro USB电源接口,3B+上标识的是5V/2.5A。其实在不挂载大功率设备的情况下,可以直接用手机的充电头或PC的USB接口进行供电。

树莓派上有两个指示灯,接入电源后,电源相关的红色的指示灯将常亮,否则说明电源方面出现供电不足等问题。绿色的是内存卡读取指示灯,闪烁时说明系统在读取内存卡。

在同一局域网下想用ssh远程登录树莓派,首先需要知道树莓派IP地址。如果让树莓派开机自动连接的是笔记本开启的移动热点,Windows10下直接在“移动热点”的设置界面下即可获得树莓派的IP地址,其设备名称为“raspberrypi”:
树莓派IP地址

如果树莓派连接的是路由器,则需要用浏览器访问路由器的管理界面(访问地址一般为“192.168.1.1”,因路由器不同而异),查看连接到路由器的所有设备信息,找到名为”raspberrypi”的设备并记下它的IP地址。

因为树莓派的IP地址是通过DHCP协议自动分配到的,所以每次重新打开移动热点/路由器时该IP地址都会发生变化,后面会讲到静态IP的设置方法。

获得树莓派的IP地址后,就可以打开安装好的git bash,输入命令:

ssh pi@树莓派IP地址

其中,“pi”是树莓派的默认用户名。随后根据提示,输入”yes”确认连接密钥,输入初始密码“raspberry”(输入时不会显示),即可ssh远程登录到Raspbian的命令行:
Git Bash

ssh远程登录到命令行后,就可以通过raspi-config对系统进行一些基本的设置。使用如下命令打开raspi-config:

sudo raspi-config

随后进入如下界面:
raspi-config

首先依次操作:Boot Options -> Splash Screen -> Yes,打开欢迎界面。

随后再:Interfacing Options -> VNC -> Yes,打开VNC服务,方便之后远程登录桌面。

接着:Adcanced Options -> Expend Filesystem,将树莓派的分区扩展到整个SD卡。

完成这几项设置后,就可以退出raspi-config,并选择确认进行重启。

远程桌面

在没有显示器的情况下,就要通过远程访问Raspbian桌面。Windows下进行远程桌面连接,一种方法是先通过ssh连接在Raspbian上安装xrdp软件并进行一些设置,这样就可以用Windows自带的远程桌面软件(mstsc)实现远程桌面连接。另外一种方法是使用官方推荐的VNC方式连接到远程桌面。

使用VNC方式进行远程桌面连接需要用到VNC Viewer软件,它支持包含树莓派在内的多种平台,甚是方便。
支持平台

在官网上下载安装好该软件后,输入树莓派的IP地址,按提示输入用户名和密码:
VNC Viewer

即可远程登录Raspbian桌面:
Raspbian桌面

基本设置

更换源

在使用欢迎程序进行设定前,由于官方源在国内的速度不够理想,所以最好将树莓派的源更换为国内的清华大学镜像源。打开终端,输入:

sudo leafpad /etc/apt/sources.list

编辑sources.list,注释掉原来的内容,并加入以下内容:

deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi

再输入:

sudo leafpad /etc/apt/sources.list.d/raspi.list

编辑raspi.list,注释掉原来的内容,并加入以下内容:

deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui

最后在终端执行apt-get update、upgrade即可。

分辨率

如果按前面的设置开启了欢迎界面,那么第一次登录到Raspbian桌面是将会进入到欢迎界面。其中可以方便地更改“pi”账户的密码,以及设置国家、语言等,它将自动下载相应的语言包,按提示一步一步完成即可重启系统即可显示中文。

之后,可以通过终端再次进入raspi-config,通过:Advanced Options -> Resolution 选择你满意的桌面显示分辨率,重启后即完成相关设置。

解锁root

可以设置root密码,以获得root用户权限。root账户默认没有密码,但是账户是锁定的。输入命令:

sudo passwd root

之后两次输入想要设置的root密码,再输入命令:

sudo passwd –unlock root

即可解锁root账户。

静态IP

树莓派连接到无线网时,默认由路由器采用DHCP协议自动分配IP地址,且每次路由器重启后树莓派分配到的IP地址都会发生变化。要设置静态IP地址,只要在终端中输入:

sudo leafpad /etc/dhcpcd.conf

编辑dhcpcd.conf,在其中添加如下内容:

1
2
3
4
5
6
7
8
9
10
11
interface eth0

static ip_address=192.168.x.x/24
static routers=192.168.x.1
static domain_name_servers=192.168.x.1

interface wlan0

static ip_address=192.168.x.x/24
static routers=192.168.x.1
static domain_name_servers=192.168.x.1

其中:

  • ip_address:静态ip地址
  • router:网关地址
  • domain_name_servers:DNS地址

其中上面的连接有线网下的静态IP,下面则是无线网下的。其中的x需要根据具体情况设置,静态IP一定要和路由器的网段一致,否则无法连接到网络。

例如,我的树莓派连接的是笔记本开的移动热点,获知该移动热点的网段为192.168.137.x后,我将静态IP设置如下;
静态IP

这样就能够通过一个固定的IP地址来访问远程桌面,另外在Windows10开启移动热点后的已连接的设备中,不会显示IP地址固定的设备的信息。

到这里,树莓派的开发环境也就基本配置完成了。

桌面


更新历史:

  • 2019.2.28 完成初稿
文章作者: Hugsy
文章链接: http://binweber.top/2019/02/27/raspi_1/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Sky Inside the Eyewall
支付宝打赏~
微信打赏~