【树莓派】在使用树莓派之前需要做的一系列准备工作
树莓派是我们在做一些小项目的时候常会用到的,因为教程丰富同时社区也比较完善,对初学者比较友好,不过在用树莓派来做项目之前,往往还需要一些准备工作,比如系统的烧录,ssh功能的设置等等,本篇博客就对这个需要的流程进行总结
参考资料:
树莓派实验室
设置树莓派wifi的几种方式
树莓派设置静态IP地址
树莓派学习笔记——更换国内源
修改树莓派用户密码
Windows下用串行连接控制树莓派
Raspberry Pi zero_串口登录
树莓派入门操作及VNC显示 cannot currently show the desktop 解决方法
关于树莓派
我们烧录到树莓派的是树莓派官方的操作系统:Raspberry Pi OS(Raspbian),继承自Debian操作系统,主要分为以下三种:
- Raspberry Pi OS with desktop and recommended software:桌面版(含常用软件)
- Raspberry Pi OS with desktop:桌面版
- Raspberry Pi OS Lite:Lite版(无桌面)
同时操作系统的默认账号和密码是:
- pi
- raspberry
Shell
Shell是运行在终端中的文本互动程序(sudo提供以系统管理员的身份来执行后面的命令)
Shell命令的种类(可以通过type命令了解命令的类型,一个命令是可执行文件,将打印出文件的路径):
- Shell内建函数:保存在Shell内部的脚本
- 可执行文件:保存在Shell之外的脚本
- 别名:alias xx="命令"
Shell是文本解释器程序的统称,树莓派中安装了sh和bash两个Shell解释器
- echo $SHELL:查看当前shell类型
命令的文档信息:
- whatis:用很简短的一句话来介绍命令
- man:返回命令的帮助手册
- info:返回更详细的帮助信息
Shell使用技巧:
- 命令补齐(只有一种可能,Tab键会把命令补齐;不止一种,第一次按Tab键没有反应,第二次按Tab键后输出提示)
- 历史命令:向上箭头/history命令
- 中止与暂停命令:ctrl+c中途停止,ctrl+z暂停
常用命令
Linux通用查询命令:
- lscpu:查询CPU信息
- free:查询内存使用状况
- fdisk:查询SD卡的存储情况
- lsusb:找到所有的USB外设
- uname:打印操作系统的信息(uname -a打印全部信息)
- ifconfig:查看网络接口
- pwd:显示工作目录
树莓派专用查询命令:
- vcgencmd:用于与树莓派硬件直接互动
- vcgencmd measure_temp:返回CPU的温度
- vcgencmd measure_volts core:返回核心电压
- raspi-config:配置树莓派命令
文件操作
- ls:显示Shell当前目录下的文件
- cp:复制文件
- rm:删除文件
- mv:移动文件(重命名)
软件的升级与安装:
- sudo apt-get update:获得最新的软件列表
- sudo apt-get upgrade:升级已安装的软件
- sudo apt-get install xxx:安装软件
- sudo apt-get remove/purge(彻底删除,删除配置文件) xxx:删除软件
修改软件源:/etc/apt/sources.list
操作系统和SD卡的烧录
首先需要准备一张SD卡,如果是之前用过的则要对其进行格式化,格式化可以使用软件SDFormatter:
接着我们需要将树莓派使用的操作系统烧录到SD卡中,一般而言我们用的是树莓派官方提供的操作系统Raspbian,可在树莓派官网下载:
树莓派官网
下载完后获得了.img文件,需要烧录到SD卡中,需要用到软件win32diskimager:
不过树莓派官方还给我们提供了一个镜像烧录工具Raspberry Pi Imager,这个工具集成了常用的操作系统以及烧录到SD卡的功能,因此可以直接使用这个软件:
其中可以选择要烧录的操作系统和存储设备
功能的基础配置
在烧录操作系统后,我们就要通过操作系统控制树莓派,因此我们还需要配置网络以及ssh:
-
ssh是专为远程登录会话和其他网络服务提供安全性的协议,我们用ssh来远程使用树莓派的命令行,通过同一个局域网内的另一台机器即可实现控制树莓派,而2016年以后的Raspbian默认关闭ssh服务,因此需要手动开启
- 在SD卡的根目录创建一个没有任何扩展名的ssh文件即可,在树莓派开机时会自动查找这个ssh文件,找到了就会开启ssh,树莓派以后的每次启动都会自动ssh,无需重复上述操作
- 在SD卡的根目录创建一个没有任何扩展名的ssh文件即可,在树莓派开机时会自动查找这个ssh文件,找到了就会开启ssh,树莓派以后的每次启动都会自动ssh,无需重复上述操作
-
上面说过ssh需要同一局域网的机器,因此我们还要设置WIFI的无线连接,然后将我们使用的机器也连接到同时WIFI上(树莓派3代和4代可以使用以太网,不过我现在手上只有树莓派zero,等后面有了再更新)
- 在SD卡根目录新建一个名为wpa_supplicant.conf的文件
- 在文件中写入如下内容:
- 在SD卡根目录新建一个名为wpa_supplicant.conf的文件
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="WiFi的SSID"
psk="WiFi密码"
}
接下来将SD卡插入树莓派的卡槽中上电即可
在使用ssh进行远程登陆之前,我们需要获取树莓派的IP地址,我的手机可以直接看到连接到热点的IP地址:
如果手机上看不到,可以用Advanced IP Scanner找一下:
获取到了IP地址后就可以进行远程登陆了,最常用的软件是putty:
在putty中输入刚刚获取的IP地址:
在登陆时需要输入用户名和密码,树莓派操作系统的默认用户名是pi,默认密码是raspberry,输入后就成功登陆,接下来就可以根据自己的需求做一些开发的工作:
一些其他的配置和工具
设置静态IP地址
命令行操作如下:
- sudo nano /etc/dhcpcd.conf
- 在/etc/dhcpcd.conf文件底部添加如下代码:
interface wlan0 #网卡名
inform 192.168.2.218/24 #树莓派IP
static routers=192.168.2.1 #路由器IP
static domain_name_servers=192.168.2.1 #DNS,这里也是路由器IP
- sudo reboot重启系统
更改树莓派的密码
命令行操作如下:
- sudo passwd pi #修改 pi 密码
- sudo passwd root #设置 root 密码
树莓派换源
命令行操作如下:
- sudo nano /etc/apt/sources.list
- sudo nano /etc/apt/sources.list.d/raspi.list
- sudo apt-get update进行同步更新
- sudo apt-get upgrade更新升级软件包
串口
如果没有键盘鼠标显示器,又没有网卡(比如树莓派zero),可以通过串口来连接控制树莓派,需要一个usb转ttl模块,同时还需要根据引脚图找到哪一个是串口:
首先要使用sudo raspi-config来使能串口登陆:
然后将usb转ttl模块连接到树莓派上,在此电脑->右键属性->设备管理器中查看COM口,再用putty选择serial,波特率选择115200即可登陆:
下方有一个Saved Sessions可以起一个自己名字保存配置,下次就可以直接登陆
另外,在使用串口登陆时,如果是先插上了ttl模块再给树莓派上电的话,就可以看到树莓派上电输出的信息,然后登陆的界面也和使用ssh登陆没有什么区别;但是如果是先给树莓派上电,然后才插上ttl模块的话,就可能什么都看不到,这时候输入pi(即要登陆的用户名)然后回车即可,而且串口不用重新登陆,退出了再进可以直接输入命令
MobaXterm
MobaXterm软件也可以用于远程控制树莓派,而且可以通过软件直接查看树莓派内部的文件,可以在官网下载,直接选择Free版本的Portable edition即可
MobaXterm下载
下载的压缩包打开后就直接打开了MobaXterm软件,无需安装
选择Session:
选择ssh:
输入IP地址以及用户名和密码即可
这个软件最大的好处就是可以直接查看或操作文件(当然有些需要权限),而缺点就是有时很卡,可以作为putty的替代品使用
VNC Viewer
VNC也可以用于远程操作,而且他可以显示图形界面,因此如果没有屏幕又对命令行不是很熟的话,可以用VNC试试看
首先要开启树莓派的VNC:
- 首先输入sudo raspi-config
- 在Interface Options中开启VNC
然后在VNC Viewer这个软件上面输入树莓派的IP地址:
输入用户名和密码即可
查看树莓派的硬件版本号
-
新版本的Raspbian系统添加了pinout命令,可以查看树莓派的很多信息
-
读取cpuinfo文件:cat /proc/cpuinfo