Installation Sunfounder Video Car
-
Préparation du Raspberry Pi 3
Installer Git et récupérer la source du projet Sunfounder Video Car
$ sudo apt install git
$ git clone https://github.com/sunfounder/Sunfounder_Smart_Video_Car_Kit_for_RaspberryPi.git
Accessoirement renommer le répertoire
$ mv Sunfounder_Smart_Video_Car_Kit_for_RaspberryPi/ sunfounder
/!\ 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.
$ grep -lR "Sunfounder_Smart_Video_Car_Kit_for_RaspberryPi" /home/pi/sunfounder/
/home/pi/sunfounder/html_server/html_server/car_dir.py /home/pi/sunfounder/html_server/html_server/car_dir.pyc /home/pi/sunfounder/html_server/html_server/motor.pyc /home/pi/sunfounder/html_server/html_server/views.py /home/pi/sunfounder/html_server/html_server/views.pyc /home/pi/sunfounder/html_server/html_server/motor.py /home/pi/sunfounder/html_server/html_server/video_dir.py /home/pi/sunfounder/html_server/html_server/video_dir.pyc /home/pi/sunfounder/html_server/Android_App/SunFounder_Smart_Video_Car/src/appinventor/ai_cavonxx/SunFounder_Smart_Video_Car/Settings_Real.scm /home/pi/sunfounder/html_server/README.md /home/pi/sunfounder/.git/logs/refs/remotes/origin/HEAD /home/pi/sunfounder/.git/logs/refs/heads/master /home/pi/sunfounder/.git/logs/HEAD /home/pi/sunfounder/.git/config /home/pi/sunfounder/README.md
Installer les paquets pour Python
$ sudo install apt install python-tk python-dev python-smbus
Éditer le fichier raspi-blacklist.conf et ajouter la ligne ci dessous
$ sudo vim /etc/modprobe.d/raspi-blacklist.conf
#blacklist i2c-bcm2708
Éditer le fichier modules et ajouter la ligne ci dessous
$ sudo vim /etc/modules
i2c-dev
Activer les 2 modules ci dessous
$ sudo modprobe i2c_bcm2708
$ sudo modprobe i2c-dev
Pour vérifier que les modules sont bien chargés
$ lsmod | grep i2c
i2c_bcm2708 5994 0 i2c_dev 6913 0
-
Installation de Streamer-MJPG
Vérifier que la webcam est bien reconnu par le système.
$ lsusb
Bus 001 Device 005: ID 1908:2310 GEMBIRD
Puis
$ ls /dev/vid*
/dev/video0
Installer les paquets suivants
$ sudo apt install subversion libv4l-dev libjpeg8-dev imagemagick
Puis compiler la source de streamer-mjpg et l’installer
$ cd ~/Sunfounder_Smart_Video_Car_Kit_for_RaspberryPi/mjpg-streamer/mjpg-streamer
$ sudo make USE_LIBV4L2=true clean all
$ sudo make DESTDIR=/usr install
Faire un test rendre le script exécutable puis l’exécuter.
$ chmod +x start.sh
$ 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
self.bus = smbus.SMBus(busnum if busnum >= 0 else Sunfounder_I2C.getPiRevision_2()) IOError: [Errno 2] No such file or directory
Il faut exécuter le script suivant et redémarrer le Raspberry
$ sudo python i2cHelper.py
==================================== || || || 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
$ cd ~/Sunfounder_Smart_Video_Car_Kit_for_RaspberryPi/server/
$ 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.
$ cd ~/Sunfounder_Smart_Video_Car_Kit_for_RaspberryPi/client/
$ vim cali_client.py
Exécuter le client
$ 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
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 .
$ 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
$ cd ~/Sunfounder_Smart_Video_Car_Kit_for_RaspberryPi/client
$ 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
$ sudo vim ~/Sunfounder_Smart_Video_Car_Kit_for_RaspberryPi/client
Et exécuter le client
$ 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
$ 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
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
$ 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