Domotic and stupid geek stuff

Commande Servomoteur Webcam Raspberry via HTML5

Après pas mal de recherches sur différents sites j’ai enfin réussi à fabriquer un bras de webcam pour Raspberry commandé via interface web HTML5. Je vais reprendre ici pas à pas les différents points pour vous expliquer comment faire. J’ai réaliser ça avec un Raspberry PI2 mais ça doit fonctionner très bien également sur le modèle B+ voir A.

Menu :

 

Matériel :

Etape 1 : Assemblage des servomoteurs

Pour l’assemblage du support il suffit de coller 2 à 2 les deux servomoteurs comme sur cette photo :

Coller 2 à deux les servos en s’assurant que leur axes soient perpendiculaires

Puis sur le servo fixer l’équere  à 90° comme cela à l’aide de deux vis (généralement fourni avec le servo)  :

servo fixer l’équere à l’aide des vis

Pour finir fixer « le pied » sur le boitier de pile ou directement votre boitier de raspberry avec de la colle :

Coller le « pied » sur le boitier des piles

Je sais, ce n’est pas les explications les plus détaillées que j’ai fourni mais les photos parlent d’elles mêmes… Au final ça donne ça :

Au final ça donne ça

Et avec une camera 5MP :

Et le model nocturne avec 2 led + camera infrarouge :

 

Etape 2 : Branchement des servomoteurs sur le Raspberry

Etape 3 : Installation du serveur web Apache

Cette étape est facultative si votre serveur apache est déjà installé. Sinon pour l’installer :

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install apache2

Vous trouverez sur le site raspbian-france.fr tous les détails sur l’installation et la configuration avancé d’apache pour Raspberry.

Pour pouvoir executer des commande depuis la page html vous devez ajouter l’utilisateur www-data dans le sudoer. Pour cela tapez :

visudo

et ajouter les lignes suivantes :

# User privilege for Servo CMD from apache
www-data ALL=(ALL:ALL) NOPASSWD:ALL

/!\ C’est pas terrible au niveau sécurité, ça veux dire que l’utilisateur apache peux passer root.

Après vos test, et si vous souhaitez commander vos servo en dehors de votre réseau privé vous devriez ajuster le sudoer pour réduire les autorisations. (si vous êtes intéressé dites le moi dans les commentaires je pourrais faire des test et vous dire ici ce qu’il faut exactement).

 

 

Etape 4 : Installation de ServoBlaster

ServoBlaster (voir la doc ici) est une interface qui va vous permettre de commander simplement plusieurs servo moteur avec un raspberry. Il y a pas mal d’articles sur cette interface, par exemple ici avec des bateaux. Pour l’installer :

sudo apt-get install git
git clone git://github.com/richardghirst/PiBits.git
cd PiBits/ServoBlaster
sudo make

Après l’installation vous devriez voir une nouvelle interface dans /dev/ :

ls -l /dev/servoblaster
prw-rw-rw- 1 root root 0 Jan 25 19:23 /dev/servoblaster

Puis pour tester ServoBlaster  et commander vos servos  tapez :

echo P1-11=120 > /dev/servoblaster
echo P1-13=120 > /dev/servoblaster

Réessayer en faisant varier la valeur 120 pour modifier la position de vos servos. Vous pouvez aussi utiliser les % de 0 ) 100% qui corresponde à a position du servo.

Etape 5 : Interface web HTML5

L’interface est vraiment minimaliste, libre à vous de la modifier et de l’adapter à vos besoins et projets.

Les code php est visible ici : https://github.com/Sirus10/servo

mais pour le récupérer sur votre raspberry faites simplement:

cd /var/www/
git clone git://github.com/Sirus10/servo.git

Page HTML5

Pour finir rendez-vous avec votre navigateur web sur l’adresse ip de votre raspberry et amusez vous !

Ex : http://192.168.1.21/servo/ :

 

 

 

Résultat final :

 

Améliorations et Évolutions :

C’est vraiment la base qu’il y a ici, il y a beaucoup de possibilité pour intégrer ça dans une interface webcam par exemple ou autre. C’est juste un début…

 

 

Quitter la version mobile