咨询树莓派重启后自动运行带摄像头功能的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
相关产品推荐
相关产品推荐

