1. 树莓派开箱与系统烧录

第一次拿到树莓派时,你可能和我当初一样有点懵——这个小板子怎么用?其实很简单,就像给手机刷机一样,我们需要先给SD卡装上操作系统。

我建议选择官方推荐的Raspberry Pi Imager工具,这个软件特别适合新手。下载安装后,打开软件界面,你会看到三个选项:选择操作系统、选择存储卡和烧录设置。

关键步骤来了:很多人直接点"WRITE"就开始烧录,这样会错过重要配置。一定要先点击右下角的齿轮图标,进入设置界面:

  • 设置主机名:比如我的叫"raspberrypi-local"
  • 启用SSH:勾选"Enable SSH",建议使用密码认证
  • 设置用户名和密码:牢记这些信息,后面远程登录要用
  • 配置WiFi:填写你的网络名称和密码(用手机热点也可以)
  • 区域设置:时区选"Asia/Shanghai",键盘布局选"us"

注意:密码最好包含字母、数字和特殊符号,避免使用简单密码如"123456"

完成设置后,插入SD卡,选择Raspberry Pi OS(推荐32位版本更稳定),点击烧录。这个过程大概需要10-20分钟,取决于你的SD卡速度和电脑性能。

烧录完成后,把SD卡插入树莓派,接通电源。你会看到树莓派上的红色电源灯常亮,绿色指示灯闪烁,这说明系统正在正常启动。第一次启动需要一些时间初始化系统,耐心等待3-5分钟。

2. 三种方法查找树莓派IP地址

没有显示器的情况下,找到树莓派的IP地址确实是个挑战。我尝试过多种方法,这里分享三个最实用的方案。

2.1 路由器后台查看法

这是最直接的方法。登录你的路由器管理界面(通常是在浏览器输入192.168.1.1或192.168.0.1),在"连接设备"或"DHCP客户端列表"中寻找名为"raspberrypi"的设备。不同路由器的界面略有差异,但基本都在"网络设置"或"设备管理"栏目下。

2.2 使用手机热点查看

如果你用的是手机热点,方法更简单。以安卓手机为例:

  1. 开启手机热点并连接树莓派
  2. 进入"设置"->"个人热点"->"已连接设备"
  3. 你会看到树莓派的设备名和对应的IP地址

iOS用户可以在"设置"->"个人热点"里查看连接设备信息。

2.3 网络扫描工具法

当上述方法都不奏效时,可以使用Advanced IP Scanner或Angry IP Scanner这类工具。下载安装后,扫描你的本地网络段(如192.168.1.1-255),工具会列出所有在线设备及其IP地址。

找到IP地址后,立即记录下来。我建议用便签贴在树莓派外壳上,避免下次需要时又要重新查找。

3. 远程连接树莓派的两种方式

获取IP地址后,我们就能远程控制树莓派了。推荐使用两种互补的工具:MobaXterm用于命令行操作,VNC Viewer用于图形界面操作。

3.1 SSH命令行连接

MobaXterm是我的首选工具,它集成了SSH、SFTP和多种网络工具。安装完成后:

  1. 点击"Session"->"SSH"
  2. 在"Remote host"栏输入树莓派的IP地址
  3. 勾选"Specify username"并输入你设置的用户名(默认是pi)
  4. 点击OK后输入密码即可连接

成功连接后,你会看到命令行提示符,现在可以完全通过命令操作树莓派了。常用命令如下:

# 更新软件包列表
sudo apt update

# 升级已安装的软件包
sudo apt upgrade

# 查看系统信息
hostnamectl

# 查看磁盘使用情况
df -h

3.2 图形界面远程桌面

如果你需要图形界面,需要先启用VNC服务。在MobaXterm的SSH会话中输入:

sudo raspi-config

选择"Interface Options"->"VNC"->"Yes"启用VNC服务。然后安装VNC Viewer,输入树莓派的IP地址,使用相同的用户名和密码登录。

第一次使用VNC时可能会觉得有点卡顿,这是正常的。你可以在树莓派的桌面环境中调整分辨率:右键点击桌面选择"Preferences"->"Screen Configuration",适当降低分辨率可以提升流畅度。

4. Arduino IDE安装与串口配置

在我们的项目中,树莓派经常需要与Arduino等微控制器通信。安装Arduino IDE是最直接的解决方案。

4.1 启用串口通信

首先需要配置树莓派的串口:

  1. 通过VNC连接到图形界面
  2. 点击菜单树莓派图标->Preferences->Raspberry Pi Configuration
  3. 在"Interfaces"标签页中,将Serial Port和Serial Console都设置为Enabled

或者在终端中执行:

sudo raspi-config

选择"Interface Options"->"Serial Port",启用串口接口但禁用登录shell。

4.2 安装Arduino IDE

在终端中输入以下命令:

sudo apt update
sudo apt install arduino

安装过程可能需要15-30分钟,取决于网络速度。安装完成后,你可以在编程菜单中找到Arduino IDE图标。

提示:如果安装速度慢,可以考虑更换软件源。编辑/etc/apt/sources.list文件,将官方源替换为国内镜像源如清华源或阿里云源。

4.3 测试串口通信

连接Arduino Uno到树莓派的USB端口,然后打开Arduino IDE。在"工具"菜单中:

  • 选择正确的开发板型号(如Arduino Uno)
  • 选择端口(通常是/dev/ttyACM0或/dev/ttyUSB0)

上传一个简单的闪烁LED程序测试通信是否正常。如果遇到权限问题,需要将用户添加到dialout组:

sudo usermod -a -G dialout $USER

然后注销重新登录使设置生效。

5. OpenCV视觉库安装与测试

OpenCV是计算机视觉的核心库,但在树莓派上安装需要一些技巧。我推荐使用预编译的python3-opencv包,这样比从源码编译节省数小时时间。

5.1 系统准备与换源

首先确认系统架构,在终端输入:

uname -m
lsb_release -a

如果是armv7l架构和Debian Bookworm系统,可以继续以下步骤。为了加速下载,我们先更换软件源:

# 备份原始源列表
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

# 编辑源列表
sudo nano /etc/apt/sources.list

将内容替换为清华源:

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware

同样地,更换树莓派专用源:

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

内容替换为:

deb https://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ bookworm main

5.2 安装OpenCV

更新软件包列表并安装OpenCV:

sudo apt update
sudo apt upgrade
sudo apt install python3-opencv

安装完成后验证是否成功:

python3 -c "import cv2; print(cv2.__version__)"

如果显示版本号(如4.6.0),说明安装成功。

5.3 摄像头测试与应用

连接CSI或USB摄像头到树莓派,然后创建测试脚本camera_test.py:

import cv2
import numpy as np

# 初始化摄像头
cap = cv2.VideoCapture(0)

# 设置摄像头参数
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)

if not cap.isOpened():
    print("无法打开摄像头")
    exit()

while True:
    # 读取帧
    ret, frame = cap.read()
    
    if not ret:
        print("无法获取帧")
        break
        
    # 转换为灰度图
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    
    # 显示原图和灰度图
    cv2.imshow('Original', frame)
    cv2.imshow('Grayscale', gray)
    
    # 按q键退出
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# 释放资源
cap.release()
cv2.destroyAllWindows()

运行脚本后,你应该能看到摄像头捕获的画面。常见的警告信息如"libpng warning: iCCP: known incorrect sRGB profile"可以忽略,不影响正常功能。

在实际项目中,你可以基于这个基础框架添加人脸检测、颜色识别或运动检测等功能。OpenCV提供了丰富的视觉算法,足以满足大多数机器视觉应用的需求。

记得定期更新系统和软件包,保持系统安全稳定。树莓派虽然小巧,但功能强大,足以运行复杂的计算机视觉算法,关键是掌握正确的配置和使用方法。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐