La webcam

La webcam utilisée est une axis 207W. C'est une camera IP. Ce type de caméra se connecte directement sur un routeur (***box..), elle est donc allumée 24h/24 autonome et ne nécessite pas le fonctionnement d'un PC. Ce choix était impératif pour moi car si j'aurais utilisé une webcam USB classique,celle-ci serait connecté au PC et il n'y aurait pas de prise de vue entre 22h et 8h (PC éteind). Cette caméra IP est wifi, autres choix impératif afin d'avoir une libertée dans le choix de l'emplacement (même si celui-ci est compliqué) et surtout de ne pas avoir de fils qui trainent.
Le seul inconvénient que je lui trouve est de passer en noir et blanc à la tombée de la nuit.

Voici quelques caractéristique de cette caméra:

  • Processeur ARTPEC-A
  • Puce de compression JPEG
  • Connexion filaire RJ-45
  • 8 Mo de RAM
  • Objectif : 4 mm, F2.0, iris fixe
  • Systèmes d’exploitation : Windows (Win98, Win2000 et XP), Linux*, UNIX*, Mac OS*, Mac OS X*
  • Couleur et Noir/Blanc
  • Luminosité : de 1 à 10 000 lux
  • Jusqu’à 30 images par seconde quelle que soit la résolution
  • Compression d’image : Motion JPEG et MPEG-4
  • Microphone intégré
  • Compression audio AAC LC 8-32 kbit/s, G.711 PCM 64 kbit/s, G.726 ADPCM 24 kbit/s
  • Protection d’accès à la caméra par mot de passe pour différents niveaux d’utilisateur
  • Sécurité WiFi par contrôle d’accès WPA2
  • Protocoles supportés : IPv4, IPv6, HTTP, HTTPS, TCP, ICMP, RTSP, RTP, UDP, IGMP, RTCP, SMTP, FTP, DHCP, UPnP, Bonjour, ARP, DNS, DynDNS, SOCKS, NTP,...
  • Livrée avec le logiciel AXIS Camera Explorer pour la visualisation de flux vidéo multiples (quad et cycle) et l’enregistrement de courtes séquences vidéo
  • Livrée avec logiciels AXIS Camera Explorer, license MPEG-4 (1 encodeur, 1 décodeur), décodeur Windows MPEG-4
  • Dimensions (LxPxH) : 85 x 55 x 40 mm (hors antenne)

 

L'emplacement:
La seule direction qui ne pose aucun problème, c'est le NORD. Dans cette direction la caméra ne reçoit pas les rayons du soleil, on obtient donc une image net toute la journée. Malheuresement, on a pas tous la possibilité de la mettre face au Nord. J'avais commençé par la mettre plein SUD, ça fonctionnait bien vu que le soleil était haut dans le ciel à ce moment là. Mais en hiver, elle aurait pris le soleil en pleine face, et le capteur CCD n'aurait sûrement pas apprècié malgré la superbe vu qui était offerte. Je l'ai ensuite placé au Nord, sous un velux. Aucun problème niveau expostion mais la vu était nettement moins jolie. Suite a de nombreux mails de gens regrettant le premieère emplacement, j'ai décidé de remettre la caméra au SUD. En hiver, j'inclinerais la caméra vers le bas afin qu'elle ne soit pas exposée au soleil.
 

Première installation (expostion Nord)

Deuxième installation (définitive, expositon SUD). La webcam est fixée à un support coulissant le long d'un tube pour changer sa position durant l'hiver.

 

L'envoie d'image:
Cette caméra à pour but de montrer l'état du ciel, bref le temps qu'il fait. Pour cela j'envoi à intervals régulier (toutes les 10min) une image sur le site.
L'envoie ce fait par FTP. A la base cette caméra n'est pas prévu pour envoyer des images par FTP à intervals régulier, il faut bidouiller. En effet cette webcam possède un serveur intégré. Il est ainsi possible de créer nos propre script afin de lui faire faire ce que l'on veut. J'ai donc fais un script qui envoie une image sur le site et j'ai paraméter une tâche pour que le script s'éxécute toutes les 10min.
Comment réaliser le script ?
Il suffit de faire un fichier txt, d'y mette le code, de le renommer en "monfichier.script" et de l'envoyer sur la webcam.
Voici le script qui me permet d'envoyer une image sur le site:
#!/bin/sh
shttpclient -o /tmp/image.jpg -u root -w password http://127.0.0.1/axis-cgi/jpg/image.cgi?resolution=640x480\&compression=1
sftpclient -p ftp.serveur.fr -s -u user -w password -l /tmp/image.jpg -c . -d image.jpg 

En remplaçant bien sûr password, ftp.serveur.fr, user et password par les login appropriés. Une fois ce script mis dans un fichier (ex: upload.script), il faut l'envoyer sur le serveur. Pour cela, on peut utiliser tout simplement un client FTP puisque la caméra est un serveur. L'adresse de ce serveur est l'adresse IP de la caméra. Les identifiants seront a rentrer aussi.
Le fichier test.script doit être plaçé dans le dossier etc/ .
ATTENTION: Il faut impérativement définir les droits du fichier en 755 sinon le fichier ne s'éxécutera pas.

Ensuite il ne reste plus qu'a mettre une tâche planifiée. Celle-ci doit être indiquée dans le fichier user.task.list (liste des tâches utilisateur).
2 solutions: soit on télécharge le fichier qui se trouve dans le dossier etc/ via le client FTP, soit on utilise l'éditeur de script intégré dans l'interface web (dans "system options"=>"advanced"=>"Open script editor").
Quoi qu'il en soit, la ligne de code à mettre est:
time(h(0-23),m(0,5,10,15,20,25,30,35,40,45,50,55)) once immune % /etc/upload.script;
Une fois le fichier renvoyé ou enregistré, il faut redémarrer la caméra pour que les modifications soient prise en compte. En effet, ce n'est qu'au démarrage que la caméra "lis" les tâches qu'elle doit faire.
C'est ainsi que toutes les 10min, une image nommé image.jpg est envoyée sur le site, écrasant la précédente.
D'autres moyens existe pour l'envoie ftp, notamment via l'interface web en utilisant cette méthode: www.networkwebcams.co.uk/blog/2007/02/27/howto-set-up-scheduled-ftp-events-in-your-axis-207w-network-camera/
Ou encore en utilisant le buffer, mais ces méthodes ne sont pas stables.

Le diaporama:
Afin d'obtenir un diaporama de 24h d'image, il fallait trouver un moyen d'obtenir les 144 images nécessaire. Je pouvais paramètrer une autre tâche afin d'uploader une image toutes les 10min dont le nom de celle-ci contiendrait l'heure ou un numéro mais ca aurait chargé la caméra pour rien. J'utilise donc l'image que j'envoie toutes les 10min. En même temps que l'image est envoyée sur le site, un requêttre http est elle aussi envoyée sur le site. La requêtte c'est quoi ? tout simplement aller a une adresse, comme quand on tape dans le navigateur une adresse en haut. Cette requêtte me permet d'éxécuter un script PHP qui va copier l'image qui vient d'arriver et la mettre dans un dossier tout en la renommant en image_HH_MM_.jpg où HH et MM représente les heures et minutes de la capture de l'image. Le problème rencontrer est que lorsque je renomme les images avec l'heure d'arrivée sur le site, il y avait un légé décalage d'une minute trente environ. Ceci venait du fait que l'heure sur serveur web et l'heure de la caméra ne sont pas synchrone. Mais comme la prise de l'image se fait de façon très précise, l'heure affichée sur l'image sera toujours une heure juste (ex: 23:50:00 ou 13:30:00). Il m'a juste suffit de faire un bout de code qui arrondit l'heure d'arrivée de l'image à une heure multiple de 10.

Application possible et/ou futur:
La caméra offre pas mal de possibilitées. Une fonction détection de mouvement est présente. Celle-ci se base sur les varitations de couleur d'une image à une autre. il serait ainsi possible de prendre en photo un éclair. Comme celui-ci ne dure que très peu de temps il est possible d'otenir 20 images représentant les 1s avant l'évênement (l'évênement étant déclenché à fin de l'éclair à cause de la brièveté de celui-ci). A approfondir...
Des connecteurs sont présent dérrière pour y ajouter un dispositif (projecteurs, circuit électronique...) afin de déclencher une action lors d'un évênement quelconque.
 ....

Compteur