树莓派开机自启动opencv程序脚本及报错分析

1.制作测试脚本

首先我们需要制作一个脚本来测试自启动是否有效。

pi@raspberry:~ $ nano /home/pi/start.sh

start.sh的内容如下:

/usr/bin/python3 /home/pi/GeometryOperations.py

这里一定要注意使用绝对路径,不然有概率会加载失败。

然后给脚本文件添加执行文件

pi@raspberry:~ $ chmod 777 start.sh

测试一下脚本功能

pi@raspberry:~ $ ./start.sh

如果观察到程序正常运行就可以继续下一步

2.添加自启动

修改rc.local文件

pi@raspberry:~ $ sudo nano /etc/rc.local

在文本中找到exit 0,在此之前添加的代码在启动时都会被执行,在exit 0 之前添加一行代码:

su pi -c “exec /home/pi/start.sh &”

ctrl+o保存,ctrl+x退出,重启。

pi@raspberry:~ $ sudo reboot

重启后程序即可运行。

3.DEBUG

如果重启后树莓派没有任何响应,可以通过systemctl查看一下rc-local的状态

### 配置树莓派以实现在启动时自动运行 OpenCV 应用程序 #### 方法一:修改 `rc.local` 文件 为了使 OpenCV 程序树莓派启动时自动执行,可以在 `/etc/rc.local` 文件中添加启动命令。这通常适用于不需要图形界面的应用程序。 ```bash sudo nano /etc/rc.local ``` 在文件末尾处(但在 `exit 0` 前面),加入如下行来指定要启动的 Python 脚本路径: ```bash python3 /home/pi/my_opencv_program.py & ``` 保存更改并退出编辑器后,确保该脚本能正常工作[^2]。 #### 方法二:创建桌面启动项 对于带有 GUI 的 OpenCV 应用来说,在 `.config/autostart` 中创建一个新的 Desktop Entry 是更合适的选择。此方式允许应用程序随桌面环境一起加载。 进入目标目录并建立新的 .desktop 文件: ```bash cd ~/.config/autostart/ touch opencv_app.desktop nano opencv_app.desktop ``` 向其中写入以下内容: ```ini [Desktop Entry] Type=Application Name=My OpenCV App Exec=/usr/bin/python3 /home/pi/path_to_your_script.py Hidden=false NoDisplay=false X-GNOME-Autostart-enabled=true Comment=A description of the application. ``` 请注意替换 `path_to_your_script.py` 为实际脚本的位置[^4]。 #### 方法三:定义系统服务 另一种更为灵活的方法是通过 systemd 创建自定义服务单元文件。这种方法提供了更好的进程管理和错误处理能力。 创建新服务文件: ```bash sudo nano /etc/systemd/system/myservice.service ``` 输入下面的内容作为模板,并调整 ExecStart 参数指向自己的 OpenCV 程序位置: ```ini [Unit] Description=My Custom Service After=network.target [Service] User=pi WorkingDirectory=/home/pi/ ExecStart=/usr/bin/python3 /home/pi/my_opencv_program.py Restart=always [Install] WantedBy=multi-user.target ``` 完成上述操作之后启用服务以便于下次重启生效: ```bash sudo systemctl enable myservice.service ``` 最后重新引导设备验证配置是否成功[^3]。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值