[PYTHON] Construire un environnement pour "Tello_Video" avec Raspbian

(Ajouté le 6 mars 2020) Je l'ai essayé avec Raspberry Pi 4 et Raspbian Buster avec 4 Go de mémoire. Il se déplace plus facilement que lorsque Razzpie 3 et Stretch.

introduction

Cette page est

Échantillon Tello-Run Python "Tello_Video"

C'est une page supplémentaire de.

Aperçu

De l'exemple de programme officiel DJI Python "Tello-Python" pour Tello  Tello_Video Afin d'essayer

--Installation de diverses bibliothèques dépendantes --Construction de la bibliothèque de décodage vidéo H.264

Tu as besoin de faire.

La [page Tello-Python] de git (https://github.com/dji-sdk/Tello-Python/tree/master/Tello_Video#installation) a une méthode d'installation

・ Linux(Ubuntu 14.04 and above)

 Go to the "install\Linux" folder in command line, run

 chmod +x linux_install.sh
 ./linux_install.sh

est ce qu'il lit. C'est,

Déplacer des dossiers, modifier les attributs de fichier, exécuter des fichiers shell


$ cd install/Linux/
$ chmod +x linux_install.sh
$ ./linux_install.sh

Cela signifie taper la commande. ** linux_install.sh ** </ font> est un script shell qui construit automatiquement l'environnement pour Linux.

Ceux qui sont familiers avec Linux penseront: "Pourquoi, si vous avez un fichier sh, vous pouvez l'exécuter." Cependant, sur Raspberry Pi, même si je suis la procédure, cela ne fonctionne pas. Les causes sont les deux points suivants.

--Cmake ne peut pas être installé avec le pip par défaut. Doit être installé avec apt

  • L'installation d'OpenCV n'est pas aussi facile que Ubuntu basé sur Intel

cmake peut être géré en réécrivant linux_install.sh, mais OpenCV est gênant. Cette fois, je le ferai avec une petite omission.

Conditions préalables

Supposons que Tello-Python est installé dans votre dossier personnel (~).

Déplacer le répertoire

Tout d'abord, ouvrez la console (terminal) et tapez la commande suivante pour vous déplacer vers le dossier Tello-Video.

cd(change_directory)


$ cd ~/Tello-Python/Tello-Video

En regardant à l'intérieur de Tello_Video avec la commande ls,

Tello_Contenu de la vidéo


$ ls
LICENSE.md  README.md  h264decoder  img  install  main.py  tello.py  tello_control_ui.py

Vous pouvez voir qu'il existe un répertoire appelé ʻinstall`. Le contenu de ce répertoire est

Dans le répertoire d'installation


$ ls install/
Linux  Mac  Windows

Cela ressemble à ceci, et les fichiers d'installation sont placés dans chaque répertoire de Linux, Mac et Windows, mais ** aucun d'entre eux n'est ancien et inutile </ font> * *.

Dans le cas de Raspberry Pi, le problème est que l'installation d'OpenCV n'est pas facile avec apt ou pip.

Mise à jour Raspbian

Tout d'abord, mettons à jour Linux avec le dernier état.

Mettre à jour avec le dernier statut


$ sudo apt update
$ sudo apt upgrade -y

Première introduction d'OpenCV

Le courant principal de l'installation OpenCV de Raspberry Pi est un cours de 2 heures où vous téléchargez la source et la construisez vous-même (en pleurant). Cependant, il est recommandé de procéder à l'installation en utilisant le paquet debian construit et publié par mt08 sur la page de référence suivante car il est très simple et court.

(Bien sûr, si vous êtes un expert qui dit "J'ai peur que le cheval de Troie pré-construit soit chargé", veuillez le construire et l'installer vous-même)

Pour Raspbian Stretch

Introduction facile d'OpenCV3 / 4 à Raspeye 3

Copiez d'abord la série de commandes écrites au début de la page ci-dessus et collez-les dans un éditeur de texte pour créer un fichier shell. Le nom du fichier peut être n'importe quoi, mais ici, il devrait être cv_install.sh. J'écrirai la commande extraite ci-dessous, mais il est recommandé de la copier de la famille principale car il peut y avoir des mises à jour.

cv_install.Créons un fichier appelé sh


OPENCV_DEB=libopencv3_3.4.6-20190415.1_armhf.deb

curl -SL https://github.com/mt08xx/files/raw/master/opencv-rpi/${OPENCV_DEB} -o ${OPENCV_DEB}
sudo apt autoremove -y libopencv{3,4}
sudo apt install -y ./${OPENCV_DEB}

#
sudo ldconfig
python2 -c 'import cv2; print(cv2.__version__)'
python3 -c 'import cv2; print(cv2.__version__)'

Enregistrez cv_install.sh dans votre répertoire personnel Donnez l'autorisation d'exécution, puis exécutez.

Installation avec des packages pré-construits


$ chmod +x cv_install.sh
$ ./cv_install.sh

Le fichier libopencv3_3.4.6-20190415.1_armhf.deb est téléchargé dans votre répertoire personnel, mais vous pouvez le supprimer après l'installation.

Comme écrit à la fin de cv_install.sh,

Vérifier le fonctionnement d'OpenCV avec Python(Affichage de la version)


python2 -c 'import cv2; print(cv2.__version__)'
python3 -c 'import cv2; print(cv2.__version__)'

Importez-le avec Python et essayez de voir si cela fonctionne. Si OpenCV version «3.4.6» est affiché deux fois, cela réussit. Si une erreur se produit ici, cela signifie qu'il y a un problème avec l'environnement.

Pour Raspbian Buster

Razpai: OpenCV4 pour Buster

La page ci-dessus a été utilisée comme un indice pour installer OpenCV3 sur Buster. Il n'y a pas de source shell qui puisse être copiée et collée comme dans Stretch, donc je vais le faire moi-même.

Le dernier fichier de package deb pour Buster https://github.com/mt08xx/files/tree/master/opencv-rpi/raspbian-buster C'est ici. Le paquet pour Raspeye 2, 3 et 4 contient ʻarmv7ldans le nom du fichier. En mars 2020,libopencv3_3.4.9-20191223.1_armv7l.deb` était le dernier.

Copiez la commande ci-dessous et collez-la dans un éditeur de texte pour créer un fichier shell. Le nom du fichier doit être «cv_install_buster.sh».

cv_install_buster.Créons un fichier appelé sh


curl -SLO https://github.com/mt08xx/files/raw/master/opencv-rpi/raspbian-buster/libopencv3_3.4.9-20191223.1_armv7l.deb
sudo apt autoremove -y libopencv{3,4}
sudo apt install -y ./libopencv3_3.4.9-20191223.1_armv7l.deb

#
sudo ldconfig
python2 -c 'import cv2; print(cv2.__version__)'
python3 -c 'import cv2; print(cv2.__version__)'

Enregistrez cv_install_buster.sh dans votre répertoire personnel Donnez l'autorisation d'exécution, puis exécutez.

Installation avec des packages pré-construits


$ chmod +x cv_install_buster.sh
$ ./cv_install_buster.sh

Le fichier libopencv3_3.4.9-20191223.1_armv7l.deb est téléchargé dans votre répertoire personnel, mais vous pouvez le supprimer après l'installation.

Si la version d'OpenCV 3.4.9 est affichée deux fois, elle réussit. Si une erreur se produit ici, cela signifie qu'il y a un problème avec l'environnement.

Réécriture de linux_install.sh

Puis réécrivez linux_install.sh pour Raspberry Pi.

  1. Changez cmake de l'installation de pip à l'installation d'apt
  2. L'installation d'OpenCV étant déjà terminée, commentez-la et désactivez-la.

Effectuez les deux tâches ci-dessus.

Autrement dit, les 21e et 22e lignes

Changer avant


# install cmake
#sudo apt-get install cmake -y
sudo pip install cmake

À

Après le changement


# install cmake
sudo apt-get install cmake -y
#sudo pip install cmake

Réécrivez simplement. Aussi, l'installation d'OpenCV sur la 30ème ligne

Commentaire sur l'installation d'OpenCV


#sudo pip install opencv-python

Désactivez-le comme ça.

Réécrivez linux_install.sh en utilisant un éditeur de texte (vi, nano, gedit, pluma, mousepad, etc.). Voici un exemple de réécriture avec nano.

Exemple de réécriture avec nano


$ nano install/Linux/linux_install.sh

Lors de l'édition avec nano, enregistrez le fichier avec ctrl + o et quittez l'éditeur avec ctrl + x.

linux_install.sh


#!/bin/sh

echo 'Compiling and Installing the Tello Video Stream module'
echo 'You might need to enter your password'

cd .. 
cd ..
sudo apt-get update -y

# install python 2.7
sudo apt-get install python2.7 python-pip -y
sudo pip install --upgrade pip

#switch to python2.7
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 150 
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 100

sudo apt-get update -y

# install cmake
sudo apt-get install cmake -y    #Ici#Supprimer et activer
#sudo pip install cmake     #Commentez ici

# install dependencies
sudo apt-get install libboost-all-dev -y
sudo apt-get install libavcodec-dev -y
sudo apt-get install libswscale-dev -y
sudo apt-get install python-numpy -y
sudo apt-get install python-matplotlib -y
#sudo pip install opencv-python   #Commentez ici
sudo apt-get install python-imaging-tk

# pull and build h264 decoder library
cd h264decoder
mkdir build
cd build
cmake ..
make

# copy source .so file to tello.py directory
cp libh264decoder.so ../../

echo 'Compilation and Installation Done!'

Exécutez linux_install.sh

Après la réécriture, placez-vous dans le dossier contenant le fichier shell et Donnez la permission d'exécution avec chmod et exécutez.

Déplacer des dossiers, modifier les attributs de fichier, exécuter des fichiers shell


$ cd ~/Tello-Python/Tello_Video/install/Linux/
$ chmod +x linux_install.sh
$ ./linux_install.sh

Il sera installé automatiquement. Si le téléchargement du fichier pour apt ou pip échoue, Appuyez sur Ctrl + c pour quitter et réessayer. Si vous le faites environ 3 fois, il doit être installé en toute sécurité. (-_- ;;;

Une fois l'installation terminée, retournez dans le répertoire Tello-Video.

Remonter de deux niveaux


$ cd ../../

** Ceci termine le travail. </ font> **

en conclusion

Je peux l'installer avec Raspberry Pi, ** Les erreurs de décodage se produisent fréquemment ** ** Même si j'essaye de terminer le programme Tello_Video, il devient un zombie et ne meurt pas ** Des problèmes surviennent fréquemment. C'est lourd de toute façon.

Je me demande si Raspberry Pi 4 avec 4 Go de mémoire est correct. .. .. Je vais aussi l'essayer avec 4 et Buster.

Ensuite, j'écrirai comment créer un environnement sous Windows.

Recommended Posts