准备工作
- 购买基本硬件(包括但不限于Raspberry Pi板,5V5A电源,TF卡等)。
- 下载 Raspberry Pi Imager
- 下载 Raspberry Pi OS (64-bit)
旧版地址 - 下载 VNC Viewer - VNC 客户端 蓝奏云链接
- 下载 MobaXterm
- 下载 Xftp 7 替换方案 WinSCP 密码:d2az
亮机
安装系统
安装并使用'Raspberry Pi Imager'
工具烧录'Raspberry Pi OS'
到'TF'
卡中,烧录前配置好用户信息、无线信息及开启'SSH'
服务,接上电源开机。
配置
远程服务配置
1. $ sudo raspi-config #打开树莓派软件设置工具
2. 选择Interfacing Options
3. 选择 VNC,SSH 等
4. 提示是否要开启VNC,选择是
5. 开启后,选择“Finish”结束
6. 重启。
命令连接无线网络
1. #检查WIFI状态
$ nmcli radio wifi
2. #启用WIFI
$ nmcli radio wifi on
3. #查找网络
$ nmcli dev wifi list
4. #连接到网络
$ sudo nmcli --ask dev wifi connect <example_ssid>
# 隐藏网络使用下面命令
$ sudo nmcli --ask dev wifi connect <example_ssid> hidden yes
5. #检查连接到的网络信息
$ nmcli dev wifi list
8. 固定IP地址
interface eth0
static ip_address=192.168.0.101
换源
- 备份原始文件
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
- 改写
sources.list
文件
sudo vim /etc/apt/sources.list
- 清华源
deb https://mirrors.tuna.tsinghua.edu.cn/debian buster main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security/ buster/updates main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian buster-updates main contrib non-free
- 改写
raspi.list
文件
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
- 更新apt包列表
sudo apt-get update
sudo apt-get upgrade -y
换源偷懒代码
#! /bin/bash
#sudo apt update
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo cp /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.list.bak
echo "
deb https://mirrors.tuna.tsinghua.edu.cn/debian buster main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security/ buster/updates main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian buster-updates main contrib non-free
" | sudo tee /etc/apt/sources.list > /dev/null
echo "deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui" | sudo tee /etc/apt/sources.list.d/raspi.list > /dev/null
sudo apt update
中文配置
不明原因我的树莓派5始终装不上中文输入法。
实用工具
- VSCode
$ sudo apt update
$ sudo apt install code
注意事项
1. 常见警示
- 彩色色块/闪电符号:供电不足,可能会导致系统不稳定,死机。
- 黄色色块/温度计符号:散热问题,可能会引起计算速度下降,过热可能会烧板。
2. 监控实时状态
- sudo htop 可查看当前CPU、内存等部件工作情况。
python 环境
- 树莓派5上不允许直接使用python全局环境,必须要创建虚拟环境。
使用python自带模块创建
python3 -m venv Myvenv --system-site-packages # 看情况导入系统自带包
使用miniconda
创建和管理虚拟环境
- 确认系统信息和python版本信息
$ uname -a #Linux raspberrypi 6.6.20+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.6.20-1+rpt1 (2024-03-07) aarch64 GNU/Linux
$ python3 --version #Python 3.11.7
- 进入miniconda官网查找对应
miniconda
版本并下载
wget https://repo.anaconda.com/miniconda/Miniconda3-py311_24.1.2-0-Linux-aarch64.sh # 自行更换对应Python的版本
bash Miniconda3-py311_24.1.2-0-Linux-aarch64.sh #执行安装指令,过程可能需要同意安装协议及编辑安装路径等
export PATH="/home/Pi/miniconda3/bin:$PATH" # 最后添加到bash配置环境
source ~/.bashrc
conda --version # 测试
conda config --set auto_activate_base False # 关闭自启动
使用conda
激活虚拟环境后更换pip
源
conda create -n Myvenv python=3.11
conda activate Myvenv
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple # 清华源
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ # 阿里云源
pip config set global.index-url http://mirrors.cloud.tencent.com/pypi/simple # 腾讯源
pip config set global.index-url http://pypi.douban.com/simple/ # 豆瓣源
摄像头模块
-
使用
opencv
打开摄像头会捕获不到图像,使用picamera2
模块来调用摄像头。 -
安装
picamera2
模块
(Myvenv)$ pip install picamera2
可能会出现依赖过高问题:libcap-dev : 依赖: libcap2 (= 1:2.25-2) 但 1:2.66-4 正要被安装”
。安装对应版本,再重新安装picamera2
模块即可。
$ sudo apt-get install libcap2=1:2.25-2 libcap-dev
$ sudo apt-get install cmake
$ sudo apt install -y python3-libcamera python3-kms++
$ sudo apt install -y python3-pyqt5 python3-prctl libatlas-base-dev ffmpeg python3-pip
# pip install ultralytics==8.0.221
# pip install tensorflow==2.13.1
# pip install onnx==1.15.0 onnxruntime==1.16.3 onnxsim==0.4.33
# pip install -U --force-reinstall flatbuffers==23.5.26
(Myvenv)$ conda install pyqt
(Myvenv)$ pip uninstall opencv-python
(Myvenv)$ pip install opencv-python-headless==4.6.0.66
(Myvenv)$ pip install picamera2
# 重要步骤:picamera2 是基于picamera开发, libstdc++.so.6动态库支持,所以需要拷贝系统中的libstdc++.so.6库到虚拟环境中,不然会因为找不到动态库而报错.
ENV="MyVenv"
$ sudo cp -r /usr/lib/python3/dist-packages/libcamera ~/miniconda3/envs/{$ENV}/lib/python3.11/site-packages/
$ sudo cp -r /usr/lib/python3/dist-packages/pykms ~/miniconda3/envs/{$ENV}/lib/python3.11/site-packages/
cd ~/miniconda3/envs/{$ENV}/lib
mv -vf libstdc++.so.6 libstdc++.so.6.old
# ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 ./libstdc++.so.6
ln -s /usr/lib/aarch64-linux-gnu/libstdc++.so.6 ./libstdc++.so.6
测试模块代码
from picamera2 import Picamera2
picam2 = Picamera2()
picam2.start_and_capture_file("test.jpg")
END