树莓派4开机自动运行脚本及系统冻结重启问题咨询
树莓派开机自动运行脚本及冻结重启问题解决
一、实现开机自动运行脚本的方法
方法1:使用systemd服务(推荐,支持后台运行和故障重启)
- 编写启动脚本
创建start_detect.sh文件(替换为你的实际用户路径),内容如下:
#!/bin/bash # 替换为你的项目实际目录 cd /home/pi/documents/your_project_folder source venv/bin/activate python new.py
给脚本添加执行权限:
chmod +x /home/pi/start_detect.sh
- 创建systemd服务配置文件
新建/etc/systemd/system/object-detect.service文件,内容:
[Unit] Description=物体检测自动启动服务 After=network.target graphical.target [Service] # 替换为你的树莓派用户名,比如pi User=pi WorkingDirectory=/home/pi/documents/your_project_folder ExecStart=/bin/bash /home/pi/start_detect.sh # 故障时自动重启 Restart=on-failure RestartSec=5 [Install] WantedBy=graphical.target
- 启用并启动服务
执行以下命令:
sudo systemctl daemon-reload sudo systemctl enable object-detect.service sudo systemctl start object-detect.service
方法2:桌面环境自启动(适配VNC桌面会话场景)
- 进入自启动配置目录:
mkdir -p ~/.config/autostart cd ~/.config/autostart
- 创建
object-detect.desktop文件,内容:
[Desktop Entry] Type=Application Name=物体检测程序 Exec=/bin/bash /home/pi/start_detect.sh Hidden=false NoDisplay=false X-GNOME-Autostart-enabled=true
(替换路径和用户名为你的实际信息)
二、解决运行代码时冻结重启的问题
- 电源供电不足:树莓派运行摄像头+AI检测时功耗较高,换用输出功率≥5V/2.5A的官方电源,检查供电线是否老化或接触不良。
- 内存/CPU资源耗尽:
- 用
htop命令实时监控CPU和内存占用,若资源占满,优化代码:降低摄像头分辨率、简化检测模型、在循环中添加time.sleep(0.01)避免CPU空转。 - 关闭后台无关进程,释放系统资源。
- 用
- CPU过热触发保护:
- 用
vcgencmd measure_temp查看实时温度,若超过80℃,安装散热片或小风扇,确保树莓派通风良好。
- 用
- 代码或依赖问题:
- 检查
new.py中摄像头资源是否正确释放(比如退出时执行cap.release()),避免死锁。 - 重新创建虚拟环境,重装依赖库:
rm -rf venv python3 -m venv venv source venv/bin/activate pip install --upgrade pip pip install -r requirements.txt
- 检查
- 系统文件损坏:若以上方法无效,尝试重新烧录树莓派系统镜像,排除系统层面的问题。
内容的提问来源于stack exchange,提问作者brijesh BHS
相关产品推荐
相关产品推荐

