You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询树莓派重启后自动运行带摄像头功能的Python脚本的方法

树莓派实现带摄像头功能的Python脚本开机自启

当然可以实现,下面是两种可靠的实现方式,优先推荐systemd服务方案:

一、systemd服务方案(推荐)

这是树莓派官方推荐的开机自启管理方式,稳定性高,支持日志查看、自动重启等功能。

步骤1:准备脚本与权限

  • 确保你的Python脚本(比如命名为camera_detect.py)有可执行权限:
    chmod +x /home/pi/camera_detect.py
    
  • 脚本开头添加shebang行,指定Python解释器:
    #!/usr/bin/python3
    
  • 注意脚本中加载的model和labels.txt要使用绝对路径,或者后续在服务配置中指定工作目录,避免开机时找不到文件。

步骤2:创建systemd服务文件

创建服务配置文件/etc/systemd/system/camera-script.service,内容如下:

[Unit]
Description=Camera Detection Script
After=multi-user.target
Wants=network.target

[Service]
User=pi
WorkingDirectory=/home/pi  # 替换成你的脚本所在目录
ExecStart=/usr/bin/python3 /home/pi/camera_detect.py  # 替换成脚本的绝对路径
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

步骤3:启用并启动服务

执行以下命令完成配置:

# 重载systemd配置
sudo systemctl daemon-reload
# 设置开机自启
sudo systemctl enable camera-script.service
# 启动服务测试
sudo systemctl start camera-script.service

步骤4:验证与日志查看

  • 检查服务状态:
    sudo systemctl status camera-script.service
    
  • 查看脚本运行日志(排查问题用):
    journalctl -u camera-script.service -f
    

二、rc.local方案(简易但有局限性)

如果需要快速实现,可使用rc.local,但该方式在系统启动早期执行,可能出现摄像头设备未就绪的情况:

步骤1:编辑rc.local文件

sudo nano /etc/rc.local

步骤2:添加启动命令

在exit 0之前添加以下内容(替换成你的脚本绝对路径):

/usr/bin/python3 /home/pi/camera_detect.py &

末尾的&表示让脚本在后台运行,避免阻塞系统启动。

步骤3:保存并重启

按Ctrl+O保存,Ctrl+X退出,重启树莓派验证:

sudo reboot

注意事项

  • 确保摄像头驱动已正确安装,开机后设备/dev/video2存在(对应你脚本中的cv2.VideoCapture(2)),可通过ls /dev/video*检查。
  • 脚本中使用GPIO和摄像头需要对应权限,使用pi用户运行通常无需额外权限,若出现权限问题可尝试添加sudo到启动命令中。

内容的提问来源于stack exchange,提问作者Yelenaa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 04:20:59