Start OpenVINO™ toolkit Python Application at Boot Time using System Service on Raspbian* OS
Introduction
This guide provides users with steps for creating a system service to initialize OpenVINO™ toolkit environment variables and run the benchmark_app.py Python application for Raspbian*. This process may apply to other Linux* distributions but this guide was written to work for Raspbian* OS.
The steps below assume you have OpenVINO™ toolkit installed and that your installation has been verified. If you have not yet done so, please visit the following links:
- Cross-Compiling OpenVINO™ Toolkit and NCS2 Plugin Using Pre-configured Dockerfile for 32-Bit Debian* OS
- Install OpenVINO™ toolkit for Raspbian* OS
System Requirements
- Raspbian* Buster, 32-bit
Steps to Create System Service File
- Install tools and download necessary files:
sudo pip install progress
cd ~/
wget https://storage.openvinotoolkit.org/repositories/open_model_zoo/2022.1/models_bin/3/person-vehicle-bike-detection-crossroad-0078/FP16/person-vehicle-bike-detection-crossroad-0078.bin -O ~/Downloads/person-vehicle-bike-detection-crossroad-0078.bin
wget https://storage.openvinotoolkit.org/repositories/open_model_zoo/2022.1/models_bin/3/person-vehicle-bike-detection-crossroad-0078/FP16/person-vehicle-bike-detection-crossroad-0078.xml -O ~/Downloads/person-vehicle-bike-detection-crossroad-0078.xml
wget https://github.com/intel-iot-devkit/sample-videos/raw/master/people-detection.mp4 -O ~/Downloads/people-detection.mp4 - Create bash script to initialize OpenVINO* environment variables and execute python script:
vi ~/openvino-object-detection-demo-script
#!/bin/bash
source /home/pi/openvino_dist/setupvars.sh
/usr/bin/python3 /home/pi/openvino_dist/extras/open_model_zoo/demos/object_detection_demo/python/object_detection_demo.py -i /home/pi/Downloads/people-detection.mp4 -m /home/pi/Downloads/person-vehicle-bike-detection-crossroad-0078.xml -d MYRIAD -at ssd - Change bash script file permissions and ownership:
chmod u+x ~/openvino-object-detection-demo-script
- Create service file under /etc/systemd/system with contents as shown below:
sudo vi /etc/systemd/system/openvino-object-detection-demo.service
[Unit]
Description=Init OpenVINO env and run python object detection demo
After=network.target[Service]
ExecStart=/home/pi/openvino-object-detection-demo-script
WorkingDirectory=/home/pi
StandardOutput=inherit
StandardError=inherit
Restart=on-failure
User=pi[Install]
WantedBy=multi-user.target - Enable system service to start at boot and start system service:
sudo systemctl enable openvino-object-detection-demo.service
sudo systemctl start openvino-object-detection-demo.service - To check system service status:
sudo systemctl status openvino-object-detection-demo.service
- Or to disable service during boot time, first stop service and then disable service:
sudo systemctl stop openvino-object-detection-demo.service
sudo systemctl disable openvino-object-detection-demo.service
For more information about system service for Linux*, please take a look at the manual page for systemd.
man systemd