Pour ceux qui ne connaissent pas le logiciel octoprint, il s’agit d’une distribution pour raspberry-pi permettant la surveillance des impressions 3D via USB ou autre. C’est très pratique pour vérifier que tout va bien.
Couplé à un logiciel type jeedom, nous l’utilisons pour nous transmettre le status des impressions et ainsi couper l’imprimante 3D si un souci est détecté.
En bonus non négligeable il est également possible de rajouter une webcam pour réaliser des vidéos, voir le résultat de l’impression etc.
Vu que je n’avais pas prévu de racheter une caméra supplémentaire, j’ai souhaité utiliser une webcam USB que je possédais déjà ; Il s’agit de la caméra “papalook PA452” (lien affilié) qui est ‘amazon choice’ ; Elle est (soit disant) 1080p, fonctionne facilement avec skype, et autres logiciels windowsiens. Et pour faire plaisir aux enfants, elle a tout un tas de led de couleurs qui clignote (… et heureusement, un bouton pour les arrêter!).
Malheureusement, la fiche amazon n’a aucune indication sur une éventuelle compatibilité linux, et encore moins avec octoprint… Et le wiki d’octoprint n’est pas très bavard non plus!
Alors en un mot : oui, c’est utilisable, mais comme quasi toute webcam sous linux ça ne fonctionne pas toute seule. En effet, en suivant les tutoriaux pour ajouter une webcam, écran noir sur l’interface octoprint. Pourtant, j’arrive à la fonctionner assez facilement sur le RPI en dehors d’octoprint, via mjpg-streamer.
Le souci vient d’un bug d’octoprint qui cherche à imposer un nombre d’image par seconde (fps) or, ce modèle ne supporte pas ce genre de commande.
En me basant sur les instructions présentes dans le wiki d’octoprint, j’ai identifié le contournement suivant:
Editer le fichier octopi.txt
sudo vi /boot/octopi.txt
Rechercher la ligne commençant par #additional_brokenfps_usb_devices
La modifier ainsi
additional_brokenfps_usb_devices=("046d:082b" "0bda:58b0" "aabb:ccdd")
Sauvegarder le fichier, arrêter puis redémarrer le service webcamd
sudo systemctl stop webcamd.service
sudo systemctl start webcamd.service
Vérifier le fichier de log que la modification a bien été prise en compte
cat /var/log/webcamd.log | grep 0bda
Le message suivant doit être visible
Camera model 0bda:58b0 is known to not work with -f parameter, stripping it out
Vous pouvez ensuite vous rendre sur octoprint et vérifier dans le menu control que la caméra est visible :
La webcam fonctionne… mais pas bien dans le noir 🙂