Capture d’image sur caméra IP Aircam par Wget

Comment récupérer une image d’une caméra AirCam Ubiquiti avec une simple commande Wget (Linux) ?

aircam

Commencez par recopier le script à la fin du billet dans un fichier snap.sh par exemple. Rendez ensuite le script exécutable :

chmod +x snap.sh

puis exécutez le :

sh snap.sh votre_ip:port admin password fichier.jpg

Remplacez admin, password par vos identifiants de connexion ou ne les indiquez pas si vous utilisez le couple ubnt/ubnt de base.
Port est le port http (80 par défaut) et peut-être oublié si vous ne l’avez pas modifié.
fichier.jpg sera le fichier image capturé.

Par exemple :

sh snap.sh 192.168.1.121:82 admin pass snap.jpg

Et voilà, vous avez désormais une image haute résolution snap.jpg que vous allez pouvoir exploiter à volonté, l’envoyer par email, la rendre visible sur un site internet, etc. Il est même possible d’automatiser la capture en lançant le script snap.sh à intervalle régulier via crontab pour afficher une image en temps réel de votre environnement à vos visiteurs, mais ceci est une autre histoire.

Ce petit script fonctionne fort bien sur un Raspberry Pi et apporte quelques idées d’expérimentations, notamment avec son serveur web intégré : nous en reparlerons prochainement 😉

Le script :

#!/bin/sh

usage() {
	echo "airCam snapshot grabber v0.1 (c) Ubiquiti Networks, Inc."
	echo "Usage: $0 <aircam IP> [<username> <password> <output file>]"
}

if [ $# -lt 1 ]; then
	usage $0
	exit 10
fi

IP=$1
USER=$2
PASS=$3
SNAPSHOT_FILE=$4

if [ -z "$USER" ]; then
	USER=ubnt
fi

if [ -z "$PASS" ]; then
	PASS=ubnt
fi

if [ -z "$SNAPSHOT_FILE" ]; then
	SNAPSHOT_FILE=aircam-snapshot.jpg
fi

COOKIES="--cookie cookies.txt  --cookie-jar cookies.txt"
AUTH="--form-string username=$USER --form-string password=$PASS"
URL=http://${IP}

# fetch cookie
curl -s $COOKIES -L ${URL}/login.cgi -o /dev/null
TMPFILE=$(mktemp .ac-snap.tmp.XXXXXX)
echo "Recuperation de l'image depuis $IP..."
curl -s $COOKIES -H "Expect:" $AUTH -L ${URL}/login.cgi?uri=/snapshot.cgi?chan=0 -o $TMPFILE

# check downloaded file
file $TMPFILE | grep JPEG >/dev/null 2>&1
RC=$?
if [ 0 -eq $RC ]; then
	echo "Chargement reussi."
	mv $TMPFILE $SNAPSHOT_FILE
	echo "Sauvegarde dans '$SNAPSHOT_FILE'"
else
	echo "Erreur ! Mauvais login/mot de passe ?"
fi

rm -f $TMPFILE
exit $RC

Selon une idée sur cette page.

Publications similaires

  • Bridge 5 GHz : promotion !

    Voici de quoi vous régaler en faisant un maximum d’économies : les bridges 5 GHz voient leurs prix baisser jusqu’à fin Février !!! Bridge 25 Mbps : 238 €, 1 pièce disponible Bridge 150 MBps : 270,30 €, 1 pièce disponible Bridge 150 Mbps avec paraboles 23.5 dBi : 417,40 €, 2 pièces disponibles Profitez-en, les promotions ne sont valables que sur le seul stock disponible, les premiers arrivés seront bien naturellement les premiers servis 🙂

  • Unifi : un hotspot monétisé

    Suite des essais avec le gestionnaire Unifi, avec cette fois-ci l’objectif de venir monétiser notre hotspot WiFi. PayPal Pro ne fonctionnant pas en Europe, nous nous tournons donc vers Stripe, un service de paiement en ligne qui vous allègera de 2,9% et de 30 centimes pour chaque opération. En contrepartie, vous allez pouvoir proposer un accès payant à votre hotspot Unifi. N’oubliez toutefois pas que ce type d’accès est un service, qu’il vous fera venir des clients si la formule…

  • Pack vidéo 5.8 GHz 500 mW

    Le package vidéo 5.8 GHz 50 mW n’existe plus, il a été très avantageusement remplacé par une version 500 mW. Module émetteur Module récepteur Avantageusement car le prix a baissé, tout comme les dimensions des modules comme vous pouvez le constater ici : Vous remarquerez que les modules sont brochables, c’est à dire qu’il faut vous relier dessus pour les faire fonctionner, ou les enficher dans une platine de votre conception pour les intégrer à une application particulière. Les sorties…

  • Unifi et mini-PC (suite…)

    Suite des essais d’Unifi sur un mini-ordinateur, avec cette fois la partie enregistrement des connexions. Et là, forte déception car, à moins de ne pas avoir trouvé le bon endroit pour configurer, il ne semble pas possible d’enregistrer autre chose que les évènements systèmes comme en témoigne la capture réalisée par notre Weblogpack : Nov 9 16:54:54 192.168.1.208 syslog: ace_reporter.reporter_inform(): connect(http://192.168.1.207:8080/inform) in progress… Nov 9 16:54:54 192.168.1.208 syslog: ace_reporter.reporter_connected(): reporter connected to http://192.168.1.207:8080/inform Nov 9 16:54:54 192.168.1.208 syslog: ace_reporter.reporter_send(): request…

  • Picostation 2 en Mesh

    Voici une évolution intéressante des Picostation 2 : la Picostation 2 flashée sous Open-Mesh ! Open-Mesh propose une solution permettant à plusieurs Picostation 2 de se relier automatiquement entre elles, format ainsi un réseau maillé (mesh) totalement automatique. MAIS, car il y a un mais, cette solution a l’inconvénient de réduire la bande passante : plus vous utiliserez de relais, plus la bande passante diminuera. A utiliser donc à bon escient, même si la solution peut sembler extrêmement simple !…