installazione openvino su raspberry pi 3

IN realtà è preferibile seguire la seguente procedura, come descritto al link Installing OpenVino for Movidius NCS2 on Raspberry Pi 4 – Intel Community

Cross-Compiling OpenVINO™ Toolkit and NCS2 Plugin Using… (intel.com)

Quando si giunge alla fase in cui è necessario installare docker, seguire la seguente guida:

Install Docker Engine on Raspbian | Docker Documentation

Nella documentazione di cui sopra, c’è un piccolo punto da correggere. Quando fa riferimento alle righe da cambiare in un file sh, in particolare, le seguenti:

77 checkSrcTree $OPENCV_HOME https://github.com/opencv/opencv.git 4.5.5-openvino-2022.1

Va aggiunto uno zero in fondo, in quanto non esistono tags di quella libreria con quel nome. Quindi la stringa corretta è la seguente:

77 checkSrcTree $OPENCV_HOME https://github.com/opencv/opencv.git 4.5.5-openvino-2022.1.0

La compilazione delle demos di model_zoo

Per compilare le demos contenute in openvino_dist/extras/open_model_zoo/demos si deve lanciare il solito openvino_dist/setupvars.sh e poi andare nel direttorio demos e lanciare il comando:

./build_demos.sh

Per farlo, c’è bisogno di scaricare il progetto thirdparty, che stranamente non compare nel progetto base.

Questo si scarica andando nel direttorio vuoto demos/thirdparty e lanciando:

git clone https://github.com/gflags/gflags.git

che è un progetto che è in dipendenza da demos.

Si può compilare anche un solo progetto demos, indicando il parametro –target=”nomeprogetto”.

Per eseguire le demos realizzate in python è necessario preliminarmente lanciare il seguente comando:

pip install <omz_dir>/demos/common/python

e successivamente installare i seguenti pacchetti:

sudo apt install libatlas-base-dev
sudo pip3 install pybind11
pip3 install scipy

Prima di eseguire i comandi python ricordarsi di eseguire il source seguente:
source (home)/openvino_dist/setupvars.sh

Per installazione su sistemi diversi da raspberry, si può seguire la guida ufficiale, come di seguito.

Per l’installazione è necessario usare pip.

Step 1: Create virtual environment

python -m venv openvino_env

Step 2: Activate virtual environment

source openvino_env\bin\activate

Step 3: Upgrade pip to latest version

python -m pip install --upgrade pip

Step 4: Download and install the package

pip install openvino-dev==2022.3.1

Vedere le istruzioni alternative in:

Install OpenVINO™ toolkit for Raspbian* OS — OpenVINO™ documentation — Version(2021.4)

La pagina con istruzioni alternative (a mo’ di tutorial) si trova qui:

OpenVINO, OpenCV, and Movidius NCS on the Raspberry Pi – PyImageSearch

Mancano i file per eseguire il tutorial, ma si possono eseguire altri tutorial presi in altre pagine.

Per caricare i models di openvino, fare riferimento alla seguente pagina:

Install OpenVINO™ Runtime for Raspbian OS — OpenVINO™ documentation — Version(2022.1)

Per installare il development tools, usare il seguente link:

openvino-dev · PyPI

Quando si esegue il comando

pip install openvino-dev[tensorflow2,mxnet,caffe]

questo non funziona a causa di un issue (PyPI .tar.gz missing editdistance/bycython.pyx · Issue #105 · roy-ht/editdistance (github.com)), con la libreria editdistance, che nella versione 0.6.2 non contiene il file editdistance/bycython.pyx

A questo punto, procedere con l’installazione manuale della libreria editdistance, scaricando il file che si trova nelle Releases (che sono misteriosamente corrette), al seguente link:

Release Release v0.6.2 · roy-ht/editdistance (github.com)

e poi lanciare pip install file.tgz

Configurare openvpn o wireguard su raspberry pi

Per installare WireGuard (consigliato) oppure openvpn si può impartire il seguente comando:

curl -L https://install.pivpn.io | bash

Seguendo le istruzioni a video si arriverà ad una installazione completa di WireGuard.

Successivamente è necessario creare uno o più profili per l’accesso alla vpn da remoto.

Per farlo è sufficiente lanciare il comando:

sudo pivpn add

Questo comando richiederà una serie di parametri, tra cui l’indirizzo IP a cui si collegherà la vpn.

Al termine del comando, nel direttorio configs (/home/pi/configs) sarà presente un file che può essere scambiato con l’utente che si dovrà collegare con la vpn.

Configurare Alphabot per Raspberry

Per la configurazione di Alphabot con Raspberry è preferibile adottare una modalità di accesso remoto, magari con openvnc.

Per utilizzarlo è necessario abilitarlo dal menu con

sudo raspi-config

Si deve scompattare la cartella compressa distribuita con Alphabot che ha la seguente struttura:

Arduino …

Raspberry

+ Alphabot

++mjpg-streamer

++python

++Web-Control

Le cose importanti si trovano dentro Web-Control, in particolare vi si trova il file main.py che contiene un semplice eseguibile che trasforma il raspberry in un server Web a tutti gli effetti.

Per farlo utilizza una libreria python che si chiama bottle. Si installa con:

pip install bottle

Successivamente sarà necessario dare i permessi di esecuzione (777) a mjpeg_streamer che si trova dentro mjpeg_streamer_experimental.

A questo punto è sufficiente eseguire

python main.py

Il server sarà raggiungibile all’indirizzo

http://192.168.xxx.xxx:8000

dal quale si potrà controllare il robot con dei semplici comandi direzionali. Lo streaming vero e proprio sarà disponibile alla porta 8080.

OpenVino – creare i progetti demo con visual studio 2019

Per iniziare ad usare OpenVino è possibile utilizzare i modelli demo, contenuti nel direttorio:

C:\Program Files (x86)\IntelSWTools\openvino_2020.1.033\deployment_tools\open_model_zoo\demos

Prima di utilizzarli è necessario generare i progetti visual studio per ciascun demo. E’ sufficiente lanciare il comando:

build_demos_msvc.bat

Questo lancerà tutta una serie di comandi cmake, uno per ogni progetto, generando tutti i progetti all’interno del direttorio:

C:\Users\NomeUtente\Documents\Intel\OpenVINO\omz_demos_build

Questi si potranno lanciare nell’IDE visual studio uno alla volta oppure utilizzando la comoda soluzione demos.sln che li genererà tutti insieme.

Il risultato sarà compilato nel direttorio:

C:\Users\NomeUtente\Documents\Intel\OpenVINO\omz_demos_build\intel64\Debug

Ovviamente si potranno compilare anche in versione Release.

Prima di lanciare uno qualsiasi degli eseguibili generati è necessario impostare alcune variabili d’ambiente. E’ sufficiente eseguire il comando setupvars.bat che si trova in:

C:\Program Files (x86)\IntelSWTools\openvino_2020.1.033\bin

e nello stesso prompt andare nel direttorio dove si trovano gli eseguibili generati e eseguire da lì i programmi.

Configurare sqlite su raspberry pi 3

Per poter usare sqlite3 è necessario installare i relativi pacchetti debian.

Per l’uso come command tools è sufficiente lanciare il comando:

sudo apt-get install sqlite3

mentre per configurare l’uso in ambiente c si deve lanciare il comando:

sudo apt-get install libsqlite3-dev

Per installare ncurses si devono installare i pacchetti developer:

sudo apt-get install libncurses5-dev libncursesw5-dev