Pour le moment, le tuto permet de récupérer l'image de la caméra toutes les minutes sur le FTP eedomus, et de la voir dans un périphérique Autre Caméra.
Il y sans doutes quelques modifications, ou spécificités liées à mon architecture, mais n'hésitez pas à faire vos retours... j’essayerai d'y répondre... (dans la mesure du possible, n'étant pas un pro du script linux)
Sur la box eedomus:
* Créer un périphérique Autre Caméra
* La nommer, la placer dans une pièce et récupérer les informations FTP (pour la suite)
Sur le Raspberry Pi:
* Installer le raspberry
http://www.canalgeek.fr/tuto-geek-presentation-et-configuration-du-raspberry-pi-et-installation-de-raspbian/
* et la caméra
http://www.raspberrypi.org/camera
* Création d'un script de prise de photo
- Code : Tout sélectionner
#!/bin/bash
#Prends une photo
raspistill -vf -hf -o /mon/chemin/image.jpg
#Prends une photo en 640*480
raspistill -vf -hf -o /mon/chemin/image_small.jpg -q 50 -w 640 -h 480
#Copie l'image générée sur un partage réseau
cp /home/pi/image.jpg /mon/partage/reseau/image.jpg
cp /home/pi/image_small.jpg /mon/partage/reseau/image_small.jpg
#Execute le script overlay.sh qui va ajouter un calque avec la date, l'heure de la prise de vue et un titre sur l'image
sudo /home/pi/image_small.jpg /mon/partage/reseau/overlay.sh
* Installer ImageMagick (qui permet de manipuler les images et notamment rajouter un calque sur une image)
http://www.noveldevices.co.uk/rp-convert
* Créer une image png transparente en 800x600 et la copier sur le Raspberry dans le chemin suivant
/mon/partage/reseau/overlay.png
* Création du script overlay.sh
- Code : Tout sélectionner
#!/bin/bash
OPTIONS='-w 800 -h 600 -q 80 -x'
DATE=$(date +"%d/%m/%Y")
HOUR=$(date +"%R")
#Lance ImageMagick pour générer la nouvelle image avec le calque (heure, date...)
sudo composite -gravity center /mon/partage/reseau/overlay.png /mon/partage/reseau/image_small.jpg /mon/partage/reseau/pre_webcam_small.jpg
sudo composite -gravity center /mon/partage/reseau/overlay.png /mon/partage/reseau/image.jpg /mon/partage/reseau/pre_webcam.jpg
#Créé la nouvelle image webcam_small.jpg
sudo convert /mon/partage/reseau/pre_webcam_small.jpg \
-pointsize 14 -fill white -annotate +470+470 \
$DATE \
-pointsize 14 -fill white -annotate +550+470 \
$HOUR \
-pointsize 14 -draw "gravity southwest \
fill white text 15,6 'LIEU - Nom_Camera - Machine' " \
/mon/partage/reseau/webcam_small.jpg
#Créé la nouvelle image webcam.jpg
sudo convert /mon/partage/reseau/pre_webcam.jpg \
-pointsize 50 -fill white -annotate +2100+1930 \
$DATE \
-pointsize 50 -fill white -annotate +2400+1930 \
$HOUR \
-pointsize 50 -draw "gravity southwest \
fill white text 15,6 'SALON - Camera02 - RPI05' " \
/mon/partage/reseau/webcam.jpg
#Lance le script d'envoie FTP vers eedomus
sudo /mon/partage/reseau/send-ftp.sh
NB il est possible de modifier l'emplacement des incrustations. Il faut modifier les valeurs qui sont ici 470+470 ou 550+470
* Création du script send-ftp
- Code : Tout sélectionner
#!/bin/bash
PI='/mon/partage/reseau/'
HOST="camera.eedomus.com"
# This is the FTP user that has access to the server.
USER='mon_user_ftp_eedomus'
# This is the password for the FTP user.
PASSWD='mon_mot-de-passe_ftp_eedomus'
# It is the first argument passed to the script.
cd $PI
ftp -n -p $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
binary
put webcam_small.jpg
quit
END_SCRIPT
* Créer une entrée dans le crontab pour lancer le script get_cam02.sh toutes les minutes
- Code : Tout sélectionner
crontab -e
*/1 * * * * sudo /mon/partage/reseau/get_cam02.sh
* Relancer le cron
- Code : Tout sélectionner
sudo /etc/init.d/cron restart
* et attendre... que le cron génère les images suivantes:
image.jpg en full résolution provenant de la caméra
image_small.jpg en résolution 640x480 provenant de la caméra
pre_webcam.jpg utilisé par ImageMagick
pre_webcam_small.jpg utilisé par ImageMagick
webcam.jpg généré par ImageMagick
webcam_small.jpg généré par ImageMagick
Et vérifier que le périphérique eedomus de la caméra récupère bien l'image... webcam_small (il est possible de mettre l'image webcam.jpg mais je trouve cela trop gros pour l'affichage)
Bien sur, il est possible de tout regrouper dans un seul script, mais ainsi, cela permet de séparer les étapes pour bien comprendre...
En espérant que cela puisse aider d'autres personnes...
Benjee