MagPI 10 Page 5

De Le French MagPi
Aller à : Navigation, rechercher

Notez bien que webiopi() est une fonction et qu'un mot réservé requiert des parenthèses pour renvoyer l'objet WebIOPi. Vous pouvez utiliser w() pour raccourcir l'appel à webiopi(). C'est maintenant le moment de démarrer le serveur et d'apprécier l'interface. Ouvrez un terminal dans le dossier où vous avez créé les fichiers Python et HTML, puis exécutez le script :

$ sudo python yourscript.py

Ouvrez webiopi dans un navigateur pour commander le châssis. Maintenez le bouton enfoncé pour avancer et relâchez-le pour arrêter. Le dernier élément qui manque est la webcam.


Ajouter un flux en provenance d'une webcam


Il y a de multiples possibilités pour diffuser une webcam, qui peuvent dépendre du modèle que vous possédez. En ce qui me concerne, j'ai une webcam récente qui délivre tout aussi bien du format RAW ou MJPEG jusqu'en 1280 x 720 à 30 images par seconde.

En premier lieu, vérifiez avec un terminal que votre webcam est installée :

$ lsusb
[...]
Bus 001 Device 005: ID 046d:0825
Logitech, Inc. Webcam C270
$ ls /dev/video*
/dev/video0

Ensuite, pour vérifier qu'elle fonctionne, vous pouvez installer uvccapture en utilisant les commandes apt-get ou aptitude et prendre un cliché :

$ uvccapture -v
Using videodevice: /dev/video0
Saving images to: snap.jpg
Image size: 320x240
Taking snapshot every 0 seconds
Taking images using mmap
Resetting camera settings
Camera brightness level is 0
Camera contrast level is 255
Camera saturation level is 255
Camera gain level is 255
Saving image to: snap.jpg

Si uvccapture ne renvoie pas d'erreur, nous pouvons continuer à diffuser la webcam. J'utilise MJPG-STREAMER, qui est vraiment facile à utiliser. Il me permet de passer un flux MPEG de 320 x 240 à 25 im./sec sur HTTP. J'ai essayé FFMPEG mais il utilise la sortie RAW de la webcam pour l'encoder en MPEG à moins de 5 trames par seconde. Vous pouvez télécharger MJPG-STREAMER sur http://sourceforge.net/projects/mjpg-streamer/.

Vous aurez aussi besoin de libjpeg8-dev que vous pouvez installer en utilisant aptitude ou apt-get.

Décompressez et construisez MJPG-STREAMER en utilisant la commande make. Puis exécutez-le :

$ ./mjpg_streamer -i "./input_uvc.so
–r 320x240 –f 25" -o "./output_http.so
–n –p 8001" &

De retour au fichier HTML, ajoutez une balise img avec src pointé sur http://raspberrypi:8001/?action=stream, adresse dans laquelle vous remplacerez "raspberrypi" par l'adresse IP de votre Pi. Vous pouvez aussi essayer de saisir directement l'URL dans votre navigateur.


...
<img
src="http://raspberrypi:8001/?action=s
tream">
</body>
</html>


Conclusion


Avec cet article, vous avez appris comment installer WebIOPi et le mettre en œuvre dans vos scripts Python pour écrire des macros que vous pourrez appeler depuis le web.

Outils personnels
Espaces de noms

Variantes
Actions
Navigation
Boîte à outils