Installation Sunfounder Video Car
-
Préparation du Raspberry Pi 3
Installer Git et récupérer la source du projet Sunfounder Video Car
1 |
$ sudo apt install git |
1 |
$ git clone https://github.com/sunfounder/Sunfounder_Smart_Video_Car_Kit_for_RaspberryPi.git |
Accessoirement renommer le répertoire
1 |
<del>$ mv Sunfounder_Smart_Video_Car_Kit_for_RaspberryPi/ sunfounder</del> |
/!\ L’idée était bonne mais le nom du répertoire est en dur dans certains fichier de conf, du coup ça ma pété des erreurs en mode device Android.
1 |
$ grep -lR "Sunfounder_Smart_Video_Car_Kit_for_RaspberryPi" /home/pi/sunfounder/ |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<span style="font-size: 8pt; color: #999999;">/home/pi/sunfounder/html_server/html_server/car_dir.py</span> <span style="font-size: 8pt; color: #999999;">/home/pi/sunfounder/html_server/html_server/car_dir.pyc</span> <span style="font-size: 8pt; color: #999999;">/home/pi/sunfounder/html_server/html_server/motor.pyc</span> <span style="font-size: 8pt; color: #999999;">/home/pi/sunfounder/html_server/html_server/views.py</span> <span style="font-size: 8pt; color: #999999;">/home/pi/sunfounder/html_server/html_server/views.pyc</span> <span style="font-size: 8pt; color: #999999;">/home/pi/sunfounder/html_server/html_server/motor.py</span> <span style="font-size: 8pt; color: #999999;">/home/pi/sunfounder/html_server/html_server/video_dir.py</span> <span style="font-size: 8pt; color: #999999;">/home/pi/sunfounder/html_server/html_server/video_dir.pyc</span> <span style="font-size: 8pt; color: #999999;">/home/pi/sunfounder/html_server/Android_App/SunFounder_Smart_Video_Car/src/appinventor/ai_cavonxx/SunFounder_Smart_Video_Car/Settings_Real.scm</span> <span style="font-size: 8pt; color: #999999;">/home/pi/sunfounder/html_server/README.md</span> <span style="font-size: 8pt; color: #999999;">/home/pi/sunfounder/.git/logs/refs/remotes/origin/HEAD</span> <span style="font-size: 8pt; color: #999999;">/home/pi/sunfounder/.git/logs/refs/heads/master</span> <span style="font-size: 8pt; color: #999999;">/home/pi/sunfounder/.git/logs/HEAD</span> <span style="font-size: 8pt; color: #999999;">/home/pi/sunfounder/.git/config</span> <span style="font-size: 8pt; color: #999999;">/home/pi/sunfounder/README.md</span> |
Installer les paquets pour Python
1 |
$ sudo install apt install python-tk python-dev python-smbus |
Éditer le fichier raspi-blacklist.conf et ajouter la ligne ci dessous
1 |
$ sudo vim /etc/modprobe.d/raspi-blacklist.conf |
1 |
#blacklist i2c-bcm2708 |
Éditer le fichier modules et ajouter la ligne ci dessous
1 |
$ sudo vim /etc/modules |
1 |
i2c-dev |
Activer les 2 modules ci dessous
1 |
$ sudo modprobe i2c_bcm2708 |
1 |
$ sudo modprobe i2c-dev |
Pour vérifier que les modules sont bien chargés
1 |
$ lsmod | grep i2c |
1 2 |
i2c_bcm2708 5994 0 i2c_dev 6913 0 |
-
Installation de Streamer-MJPG
Vérifier que la webcam est bien reconnu par le système.
1 |
$ lsusb |
1 |
Bus 001 Device 005: ID 1908:2310 GEMBIRD |
Puis
1 |
$ ls /dev/vid* |
1 |
/dev/video0 |
Installer les paquets suivants
1 |
$ sudo apt install subversion libv4l-dev libjpeg8-dev imagemagick |
Puis compiler la source de streamer-mjpg et l’installer
1 |
$ cd ~/Sunfounder_Smart_Video_Car_Kit_for_RaspberryPi/mjpg-streamer/mjpg-streamer |
1 |
$ sudo make USE_LIBV4L2=true clean all |
1 |
$ sudo make DESTDIR=/usr install |
Faire un test rendre le script exécutable puis l’exécuter.
1 |
$ chmod +x start.sh |
1 |
$ sudo ./start.sh |
Puis ouvrez une page web “http://192.168.3.241:8080/stream.html” et remplacer l’ip par celle de votre Raspberry en 8080 pour tester la camera.
CTRL+C pour quitter et revenir au prompt
-
Calibrage du véhicule
Pour la partie serveur, exécuter cali_server.py
/!\ Nota: Si vous rencontrez l’erreur
1 |
<strong>self.bus = smbus.SMBus(busnum if busnum >= 0 else Sunfounder_I2C.getPiRevision_2()) IOError: [Errno 2] No such file or directory</strong> |
Il faut exécuter le script suivant et redémarrer le Raspberry
1 |
$ sudo python i2cHelper.py |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
==================================== || || || Raspberry Pi I2C check || || and setup tools || || || || SunFounder || ==================================== Checking your Pi's information. Your cpu revision: a02082 Your Raspberry Pi is Revision 3 Your I2C bus number is: 1 Checking your device... I2C has not been setup. Backup... done Setting i2c... done I2C has set. It would change after reboot. Do you want to reboot now?(y/n) y Your Raspberry Pi will be reboot in 5 second. |
Après avoir exécuter la commande, le terminal sera en attente du client
1 |
$ cd ~/Sunfounder_Smart_Video_Car_Kit_for_RaspberryPi/server/ |
1 |
$ sudo python cali_server.py |
Puis il faut exécuter le client, avant cela ouvrir un second terminal, éditer le cali_server.py et changer l’adresse IP par celle du Raspberry.
1 |
$ cd ~/Sunfounder_Smart_Video_Car_Kit_for_RaspberryPi/client/ |
1 |
$ vim cali_client.py |
Exécuter le client
1 |
$ sudo python cali_client.py |
/!\ Nota2: Je n’ai pas réussi a afficher la console pour modifier les axes des roues/camera depuis mon pc. Il requis que la sortie vidéo soit branché pour que le client s’exécute. Voici l’erreur que cela retourne
1 2 3 4 5 6 7 8 |
X11 connection rejected because of wrong authentication. X11 connection rejected because of wrong authentication. Traceback (most recent call last): File "cali_client.py", line 7, in <module> top = Tk() # Create a top window File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1823, in __init__ self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use) _tkinter.TclError: couldn't connect to display "localhost:10.0" |
Après branchement en HDMI sur ma télé, j’ai bien un accès .
1 |
$ sudo python cali_client.py |
Dans le détail
- Tester les roues, droite, gauche, libre
- Réglage de l’axe des roues avant
- Réglage de la camera vertical
- Réglage de la camera horizontal
Débrancher l’HDMI une fois les réglages effectués, puis il est temps de jouer avec !
Pour la version PC, exécuter le serveur tcp
1 |
$ cd ~/Sunfounder_Smart_Video_Car_Kit_for_RaspberryPi/client |
1 |
$ sudo python tcp_server.py |
Puis ouvrir un autre terminal et éditer le fichier client_App.py pour y ajouter l’adresse ip du Raspberry
1 |
$ sudo vim ~/Sunfounder_Smart_Video_Car_Kit_for_RaspberryPi/client |
Et exécuter le client
1 |
$ sudo python client_App.py |
En detail
- Pour diriger le vehicule
- Pour diriger la camera
Pour l’application Android https://play.google.com/store/apps/details?id=appinventor.ai_cavonxx.SunFounder_Smart_Video_Car&hl=fr
L’exécuter avec la commande
1 |
$ sudo python manage.py runserver 0.0.0.0:8000 |
A gauche les flèches pour accélérer et reculer. pour tourner pencher la téléphone a droite/gauche.
A droite les flèches pour bouger la camera.
/!\ Nota3: Si l’erreur ci dessous apparaît, c’est qui manque le package Django
1 2 3 4 |
Traceback (most recent call last): File "manage.py", line 8, in <module> from django.core.management import execute_from_command_line ImportError: No module named django.core.management |
Installer le module avec la commande ci-dessous
1 |
$ sudo pip install jdango |
Plus d’info sur la vidéo de Sunfounder: https://www.youtube.com/watch?v=QdWtj8qBnug
ou la page du projet https://www.sunfounder.com/learn/category/Smart-Video-Car-for-Raspberry-Pi.html