为Raspberry PI在启动时运行OpenVINO Python脚本
我使用的是运行Raspbian 10(Buster)的Raspberry Pi 3 Model B Rev 1.2。我想在启动时运行一个python脚本,它使用OpenVINO和OpenCV来检测对象并显示来自网络摄像头的流 我创建了一个shell脚本为Raspberry PI在启动时运行OpenVINO Python脚本,python,raspberry-pi,raspberry-pi3,openvino,raspbian-buster,Python,Raspberry Pi,Raspberry Pi3,Openvino,Raspbian Buster,我使用的是运行Raspbian 10(Buster)的Raspberry Pi 3 Model B Rev 1.2。我想在启动时运行一个python脚本,它使用OpenVINO和OpenCV来检测对象并显示来自网络摄像头的流 我创建了一个shell脚本launcher.sh,其中包含 #!/bin/sh /opt/inte/openvino/bin/setupvars.sh /usr/bin/python3 /home/pi/project/run.py 我运行了$chmod 775 lau
launcher.sh
,其中包含
#!/bin/sh
/opt/inte/openvino/bin/setupvars.sh
/usr/bin/python3 /home/pi/project/run.py
我运行了$chmod 775 launcher.sh
,并确认脚本与$sh launcher.sh
一起工作
为了在启动时运行脚本,我使用了$sudo crontab-e
,并在底部添加了@reboot sh/home/pi/project/launcher.sh>/home/pi/logs/cronlog 2>&1
脚本在重新启动时运行。日志显示OpenVINO环境已初始化,但日志还表明我收到ModuleNotFoundError:没有名为“OpenVINO”的模块。我猜它只有在从终端运行时才起作用,因为我每次都让bash.rc设置OpenVINO环境
我做错了什么?有没有更好的办法在巴斯特身上做到这一点 我无法解决我的具体问题,但我确实找到了在启动时运行脚本的方法 我在.bashrc的末尾添加了以下行
source /opt/intel/openvino/bin/setupvars.sh
cd /home/pi/project
python3 run.py
cd
初始化OpenVINO环境并在每次打开新终端时运行脚本,然后通过在/etc/xdg/lxsession/LXDE pi/autostart的末尾添加@LXTerminal
使LXTerminal在引导时运行
这是一种非常老套的方法,如果你打算用你的Pi做任何其他事情,这是不切实际的。任何建议都将不胜感激多亏了英特尔公司的Mauricio.R,我才能够找到合适的解决方案
nano~/OpenVINO应用程序脚本启动我的python脚本,脚本内容如下:
#/bin/bash
source/opt/intel/openvino/bin/setupvars.sh
/usr/bin/python3/path/to/script/run.py
chmod u+x~/openvino-app-script
更改bash脚本的权限和所有权。您应该使用bash./openvino应用程序脚本运行该脚本,以确保该脚本正常工作
sudo nano/etc/systemd/system/openvino app.service
创建服务文件[单位]
Description=OpenVINO Python脚本
After=network.target
[服务]
Environment=“DISPLAY=:0”
Environment=“XAUTHORITY=/home/pi/.XAUTHORITY”
ExecStart=/home/pi/openvino应用程序脚本
WorkingDirectory=/home/pi
标准输出=继承
StandardError=inherit
重新启动=故障时
用户=pi
[安装]
WantedBy=graphical.target
启用
更改为禁用
或状态
这个解决方案对我的项目非常有效,它使用OpenCV显示带有覆盖的视频流,并使用NCS执行推断。您的bash rc除了/opt/inte/openvino/bin/setupvars.sh之外还做了其他事情吗?除了运行setupvars.shI的一行之外,它没有被修改。我想您应该这样称呼它:“source/opt/inte/openvino/bin/setupvars.sh”以导出所有内容从setupvars.sh到使用脚本的变量