前言:在最近的嵌入式实验课程中,使用了树莓派3b+进行开发。为了在课下探索更多树莓派相关功能,我在淘宝上购入了树莓派zero wh进行测试,以下内容为我总结的树莓派的系统安装与连接方法。

注意:本篇文章适合搭载树莓派 raspbian 系统的使用者。如果树莓派使用的是Ubuntu系统,请 点击这里。

一. 概述

  • 什么是树莓派?

    在我眼里,它是一台 “麻雀虽小,五脏俱全” 的计算机(CPU是ARM架构)。

    结合Linux系统和GPIO引脚的它可以让我们快速开发、运行一些嵌入式应用。

  • 我该如何选择树莓派型号?

    如果只是想简单入门树莓派,也可以和我一样在淘宝购入一块:树莓派zero wh(裸板价格在100左右)。它搭载了一块 1GHz 的 CPU,拥有512MB的运存。并配有无线和蓝牙模块(注意型号是wh和w才有)。

  • 以下是树莓派zero wh搭配 USB 拓展版后的图片,可以看到其体积很小,酷似一个U盘(不带TF卡一套下来是126元)

树莓派zero wh usb拓展

二. 安装系统并通过SSH连接

需要下载(微信公众号:树莓派创客营):

  1. 树莓派系统镜像
  2. Win32DiskImager-0.9.5

需要准备:

  1. 树莓派一块
  2. TF卡一张(建议16G起步)和读卡器

步骤:

  1. 安装好Win32DiskImager后,将TF卡插入读卡器并连接上电脑。

  2. 打开Win32DiskImager,将系统烧录到TF卡中。

    Win32DiskImager烧录系统至TF卡
  3. 烧录完成后,在windows系统下看到的TF卡容量会变小,因为无法识别Linux主分区。

  4. 打开TF卡根目录(名称应该是boot),找到 config.txt 文件,在文件末尾添加并保存:

    1
    dtoverlay=dwc2
  5. 打开 cmdline.txt 文件,在 rootwait 后插入并保存:

    1
    modules-load=dwc2,g_ether
  6. 在根目录下建立名为 ssh 的文件夹。

  7. 将TF卡从读卡器拔出来,插到树莓派上,然后把树莓派连上电脑

  8. 在windows下,需要在设备管理器给树莓派(一般识别为COM设备)安装驱动

    windows-树莓派驱动下载

  9. 使用 SSH工具,连接主机:raspberrypi.local

    默认用户名:pi

    默认密码:raspberry

    如果在windows端连接不上,则还需要安装 RNDIS 驱动(请自行百度)。

三. 配置树莓派

3.1 连接wifi

1
2
3
4
5
6
7
8
9
10
11
# 打开配置文件
sudo vi /etc/wpa_supplicant/wpa_supplicant.conf

# 在文件尾部添加下列内容,ssid为wifi名称,psk为wifi密码
network={
ssid=""
psk=""
}

# 重启树莓派,会自动连接wifi
sudo reboot

在这发现了一个很神奇的地方,只要树莓派连上了wifi,当你的电脑和树莓派处于同一局域网时,仍然可以使用SSH连接主机:raspberrypi.local,而不用在意树莓派的IP是否变化。

3.2 查看系统信息与资源

1
2
3
4
# 安装插件,用Linux自带资源管理命令也行,但是不够炫酷和直观
sudo apt install screenfetch
# 查看信息
screenfetch

使用screenfetch效果图:

使用screenfetch查看系统信息

查看存储资源情况

1
df -hl

查看树莓派型号

1
2
3
4
# 只显示型号
cat /proc/device-tree/model
# 显示CPU信息和型号
cat /proc/cpuinfo

查看系统位数

1
2
3
file /lib/systemd/systemd
# 或者
sudo getconf LONG_BIT

3.3 通过VNC连接图形化界面

首先,在树莓派终端输入命令:

1
sudo raspi-config
配置树莓派VNC-1

回车进去后选择第三项:P3 VNC,然后打开即可

然后使用电脑上的 VNC Viewer 软件连接到树莓派即可(推荐安装)。

VNC连接树莓派界面

3.4 修改显示分辨率和显存

执行下列命令

1
sudo raspi-config

分辨率:选择第7项:Advanced Options,进去后再选择第5项:Resolution,然后选择分辨率即可。

显存:选择第7项:Advanced Options,进去后选择第3项:Memory Split,修改显存(MB)即可。

3.5 开启root账号登录

我们发现以 pi 登录获得的权限非常小,如何通过SSH用 root 账号登录呢?

第一步:设置密码

1
2
3
pi@raspberrypi:~$ sudo passwd root
Enter new UNIX password: #输入第一遍密码 回车
Retype new UNIX password: #输入第二遍密码

第二步:启用root账号登录

1
2
pi@raspberrypi:~$ sudo passwd --unlock root
passwd: password expiry information changed. #提示错误的代码

第三步:如果第二步报错,修改SSH配置文件

1
2
pi@raspberrypi:~$ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak      #备份为 sshd_config.bak
pi@raspberrypi:~$ sudo nano /etc/ssh/sshd_config #修改编辑 sshd_config 文件

3.6 配置镜像源

第一步:修改 /etc/apt/sources.list

1
2
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi

第二步:修改 /etc/apt/sources.list.d/raspi.list

1
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui

第三步:更新

1
sudo apt-get update

3.7 安装新字体

第一步:创建字体存储目录:

1
mkdir /usr/share/fonts/my_fonts

第二步:将字体文件复制到该目录下。

第三步:修改字体权限:

1
sudo chmod 755 /usr/share/fonts/my_fonts/ -R

第四步:建立字体缓存:

1
2
3
4
cd /usr/share/fonts/my_fonts
mkfontscale
mkfontdir
fc-cache -fv

第五步:在系统设置中选择字体即可。

3.8 添加emoji表情支持

1
sudo apt install fonts-noto-color-emoji

四. 上手树莓派

4.1 查看电路板与引脚信息

1
2
# 执行下列命令
pinout

效果图:

树莓派pinout命令

4.2 安装JDK1.8

第一步:首先卸载open-jdk

1
sudo apt-get remove openjdk*

第二步:下载jdk,并上传至树莓派

链接:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

第三步:解压并安装

1
tar -zxvf jdk-8u241-linux-arm32-vfp-hflt.tar.gz 

第四步:配置环境

1
2
3
4
5
6
7
8
9
vim /etc/profile

#在文件最后面添加下面三行,注意安装java的目录按需修改

export JAVA_HOME=/home/jdk1.8.0_241

export CLASSPATH=.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

第五步:刷新环境变量,查看java版本

1
2
source /etc/profile
java -version

五. 报错总结

5.1 Locale not supported by C

系统:Raspbian 10 buster

描述:执行jar包出现错误提示:Gtk-WARNING **: Locale not supported by C

解决方法:命令行执行sudo locale-gen zh_CN

5.2 Chromium无法观看在线视频

系统:Raspbian 10 buster

描述:无法观看b站、爱奇艺、Youtube等视频网站

原因:可能和 raspbian 系统所支持的 Chromium 版本有关,也可能是因为本机没有装 flash 插件(根据网上大部分教程,都无法成功安装 flash)

解决方法:

① 使用火狐游览器,在终端执行 sudo apt install firefox-esr 进行安装。

② 谷歌游览器想访问 Youtube,可以在谷歌游览器应用商店安装 rpi-youtube 插件(需要科学上网)。

③ 在 Linux 上有一个 Flash 的免费实现 gnash。您可以独立安装(apt-get install gnash),也可以将其安装为浏览器插件(apt-get install browser-plugin-gnash)。(此方法未经测试)


未完待续