Audio in RetroPie con Raspberry PI

In alcune situazioni si desidera ricevere audio dall’uscita delle cuffie piuttosto che da HDMI. Potrebbe essere necessario, per esempio, in situazioni in cui il display abbia solo ingresso DVI e non HDMI, quindi senza audio.

In questi casi è necessario andare su raspi-config e abilitare uscita audio su external speaker.

.

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