树莓派使用笔记

前言

最近买了个树莓派3B+,在使用时遇到了一些小问题,这里进行下记录。

这里先说一下,玩树莓派一定要有一个屏幕,和一个HDMI转AVG的转接头,不然遇到问题你都不知道是什么原因。

在树莓派系统中使用ll命令显示-bash: ll: command not found

以前用Centos时,查看文件习惯了ll命令,但在树莓派官方系统上,该命令用不了。难道树莓派系统不支持?查了下资料原来是被禁用了,启用了就行了。

打开文件:vim /home/pi/.bashrc

在vim中查找:/alias 回车查找,按n键继续查找下一个

直到找到这行代码:

1
#alias ll='ls -l'

将#号去掉,/wq 保存修改

使用命令sudo reboot 重启系统即可

按了Ctrl+s后linux卡住

Vim编辑文件,保存文件条件反射的按了Ctrl+s(该死的Windows使用习惯),然后页面“卡住了”,怎么按按键屏幕都没有任何反应。查了下,原来Ctrl+s在linux中是锁屏快捷键啊,按下Ctrl+q就可以解除锁屏了。

更换树莓派源为国内源

将树莓派的源更换为中科大的源,换源需要修改两个文件,首先用cp命令将两个文件备份,然后再进行修改。

/etc/apt/sources.list文件中的

1
2
3
deb http://raspbian.raspberrypi.org/raspbian/ stretch main contrib non-free rpi
#Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://raspbian.raspberrypi.org/raspbian/ stretch main contrib non-free rpi

改为:

1
2
deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi 
deb-src http://mirrors.ustc.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi

/etc/apt/sources.list.d/raspi.list中的

1
2
3
deb http://archive.raspberrypi.org/debian/ stretch main ui
#Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspberrypi.org/debian/ stretch main ui

改为:

1
deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ stretch main ui

然后使用命令更新软件源和软件

1
2
pi@raspberrypi:~ $ sudo apt-get update
pi@raspberrypi:~ $ sudo apt-get upgrade
校正树莓派的时间
1
2
3
4
5
6
7
8
9
//运行该命令会弹出设置页面,选亚洲(Asia)上海(Shanghai)即可
pi@raspberrypi:~ $ sudo dpkg-reconfigure tzdata

//启动NTP让树莓派与网络时间服务器同步
pi@raspberrypi:~ $ sudo timedatectl set-ntp true

//设置完后用date -R命令查看时间与时区是否已经修改为国内
pi@raspberrypi:~ $ date -R
Sat, 11 May 2019 15:30:22 +0800
安装vnc远程桌面软件,使Windows能远程连接树莓派桌面

这里的前提是你的树莓派系统安装的是桌面版,才有意义。你也可以先安装无桌面版,然后后面单独安装桌面。

先安装桌面,代码参考至:https://blog.csdn.net/Chenger_32123/article/details/81331999

1
2
3
4
5
6
sudo apt-get update
sudo apt-get install xorg
sudo apt-get install lxde openbox
sudo apt-get install pix-icons pix-plym-splash rpd-wallpaper
sudo apt-get install raspberrypi-ui-mods
sudo reboot

安装VNC

1
2
3
4
5
//方法1
pi@raspberrypi:~ $ sudo raspi-config
//运行上面面命令,弹出选项
//选择Interfacing Options,回车
//选择VNC,回车后会问你是不是要开启VNC服务,选择Yes
1
2
3
//方法2
//最简单粗暴的方法就是直接安装2333
pi@raspberrypi:~ $ sudo apt-get install xrdp

linux上安装了VNC后输入命令 vncserver 启动VNC服务,运行该命令会输出一段信息,包含IP相关信息,然后在Windows端下载VNC的Windows客户端:VNC-Viewer-6.17.731-Windows-64bit.exe,运行该软件并且输入之前树莓派上运行命令得到的IP,即可连接。

因树莓派未连接显示屏,远程桌面连接后显示效果可能较差,可以通过修改树莓派分辨率解决。

修改树莓派分辨率
1
sudo raspi-config

选择Advanced Options —> Resolution —> 选择你需要的分辨率即可

linux下实用的工具screen
1
pi@raspberrypi:~ $ apt-get -y install wget screen

screen可以保持本地和服务器断开后,你的程序或者命令等可以继续在服务器上运行,而不会因你的连接断开而终止运行。

选项说明:

1
2
3
4
5
6
7
8
9
10
11
12
-A  将所有的视窗都调整为目前终端机的大小。
-d <作业名称>  将指定的screen作业离线。
-h <行数>  指定视窗的缓冲区行数。
-m  即使目前已在作业中的screen作业,仍强制建立新的screen作业。
-r <作业名称>  恢复离线的screen作业。
-R  先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
-s  指定建立新视窗时,所要执行的bash。
-S <作业名称>  指定screen作业的名称。
-v  显示版本信息。
-x  恢复之前离线的screen作业。
-ls或--list  显示目前所有的screen作业。
-wipe  检查目前所有的screen作业,并删除已经无法使用的screen作业。

常用方法举例:

1
2
3
4
5
screen -S yourname -> 新建一个叫yourname的session
screen -ls -> 列出当前所有的session
screen -r yourname -> 回到yourname这个session
screen -d yourname -> 远程detach叫yourname的session
screen -d -r yourname -> 结束当前session并回到yourname这个session
如何更改crontab -e默认使用的编辑器

crontab -e编辑定时任务时,没注意看用了nano编辑器打开了,后面怎么进都是nano编辑器。因为用不惯nano编辑器,想换成vim。百度了下找到方法了,执行select-editor命令改成要用的编辑器就行。

1
2
3
4
5
6
7
8
9
pi@raspberrypi:~ $ select-editor 

Select an editor. To change later, run 'select-editor'.
1. /bin/ed
2. /bin/nano <---- easiest
3. /usr/bin/vim.basic
4. /usr/bin/vim.tiny

Choose 1-4 [2]: 3
创建定时任务

创建定时任务有两种方法,一个是全局配置,即直接编辑/etc/crontab文件。另一个是用crontab -e命令创建用户相关定时任务,这将会在/var/spool/cron/目录下创建一个和你用户名相同的文件,这两个你用哪个都行。

方法一:

1
2
//创建系统定时任务
pi@raspberrypi:~ $ sudo vim /etc/crontab

方法二:

1
2
//创建用户定时任务
pi@raspberrypi:~ $ crontab -e

定时任务格式说明:

1
2
3
4
5
6
7
8
9
10
11
12
//定时任务格式
* *  *  *  *  command

//说明
分钟(0-59) 小时(0-23) 日期(1-31) 月份(1-12) 星期(0-6,0代表星期天)  命令

//第1列表示分钟1~59 每分钟用*或者 */1表示
//第2列表示小时1~23(0表示0点)
//第3列表示日期1~31
//第4列表示月份1~12
//第5列表示星期0~6(0表示星期天)
//第6列表示要运行的命令

注意:为避免定时任务不执行,配置完成后记得重启下cron服务

1
pi@raspberrypi:~ $ sudo service cron restart
修改vim配置,使其语法高亮,显示行号,tab键占用空格为4

打开/etc/vim/vimrc文件,在文件末尾加入以下代码即可。注意!在这个配置文件中,注释符号是英文的引号哦。

1
2
3
4
5
6
"语法高亮
syntax on
"显示行号
set nu
"设置tab键占位为4格
set tabstop=4
如何安装JDK

首先先到官网下载你要用的版本,因为我的树莓派是ARMv7的,所以选择下载jdk-8u211-linux-arm32-vfp-hflt.tar.gz这个版本的jdk。下载后用ftp把文件上传到树莓派系统中的pi用户家目录里面。

1
2
3
4
5
6
7
8
9
//解压文件
pi@raspberrypi:~ $ tar -zxvf jdk-8u211-linux-arm32-vfp-hflt.tar.gz

//解压后得到jdk1.8.0_211文件夹
pi@raspberrypi:~ $ ls
jdk1.8.0_211 jdk-8u211-linux-arm32-vfp-hflt.tar.gz

//把jdk1.8.0_211文件夹放到/usr/目录中
pi@raspberrypi:~ $ sudo mv jdk1.8.0_211 /usr/

修改环境变量:在/etc/profile文件末尾添加以下代码(注意不要弄错符号,不然系统会启动不起来)

1
2
3
4
export JAVA_HOME=/usr/jdk1.8.0_211
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

保存文件,执行source /etc/profile让其立即生效,输入java -version,可以看到已经生效了。

1
2
3
4
5
6
pi@raspberrypi:~ $ source /etc/profile
pi@raspberrypi:~$ java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) Client VM (build 25.211-b12, mixed mode)
pi@raspberrypi:~$
树莓派安装mplayer音乐播放器
1
sudo apt-get install mplayer

安装成功后,使用如下命令播放音乐文件(例如我要播放 CMA-Forgive-Me.mp3

1
mplayer CMA-Forgive-Me.mp3

mplayer播放器支持播放列表,创建一个文件当作播放列表,在该文件中添加你要放进去的音乐文件的绝对路径

1
vim Music.playlist

然后加载该播放列表即可

1
mplayer -playlist Music.playlist -shuffle

一个一个添加,太麻烦,我们可以使用命令批量添加mp3文件的绝对路径Music.playlist

1
ls *.mp3 | sed "s:^:`pwd`/: " > Music.playlist