Vous avez une webcam en rade et vous ne savez pas quoi en faire ? Je vais vous montrer comment utiliser une raspberry pi connectée avec une webcam afin d’avoir une caméra de surveillance bricolée maison. C’est assez facile et accessible à tout le monde.

On peux notamment faire du streaming en direct (via VLC ou le navigateur web), prendre des photos ou des vidéos en continu, prendre des photo lors d’un mouvement, être averti d’un mouvement par mail ou SMS,… (après le reste ça reste du scripting)

Ici je vais vous montrer comment faire pour avoir une base.

Pour se faire, il faut :

  • Une raspberry pi (testée avec une b+) connectée à votre réseau
  • Une webcam compatible (le plus simple est de tester par vous même – avec lsusb)

NB: Ce service n’est pas exclusivement réservé pour raspberry pi, il fonctionne aussi sur les architectures x86-x64 par exemple.

Installation & Configuration

Toutes les manipulations d’installation se font en root

su

On installe le paquet motion (normalement il contiendra également les drivers pour les webcams USB).

apt-get install motion -y

On configure le service via le fichier /etc/motion/motion.conf

# Démarrer en mode démon ou pas (arrière plan)
daemon on/off

# Largeur en pixel.
width 640
# Hauteur en pixel.
height 480

# Nombre d'images capturées par seconde. 
# Ne pas dépasser 5 si le traffic passe via Internet
# A modifier si l'image saccade selon les spécifications de la caméra et des performances du système
framerate 5

# Emplacement de destination des photos/vidéos
target_dir /tmp/motion

# Pour debug - mettre sur OFF en production
setup_mode off

# Périphérique
videodevice /dev/video0

#Rotation de la capture
rotate 0

Il est possible d’activer l’interface web pour une diffusion en direct.

Vous trouverez toutes les fonctionnalités sur la documentation.

 

Aller plus loin

Pour une utilisation plus professionnelle il existe Zoneminder qui permet d’afficher plusieurs caméras à la fois. C’est pratique pour avoir un équivalent de Camera Station (Synology).

Le tutoriel est accessible et bien expliqué.

EDIT: Nouvelle version ICI

J’ai deux imprimantes chez moi qui ne sont pas réseau, j’ai donc voulu tester de faire un serveur d’impression avec ma Raspberry pi.

Comme vous allez pouvoir le voir, ce n’est pas sorcier, je m’attendais à bien pire, surtout au niveau des drivers.

Le schéma est simple, les imprimantes sont connectées en USB sur la raspberry qui est elle même connectée au réseau.

IMG_20141023_111026

Pour faire ce test, je vais utiliser raspbian (debian pour raspberry), on commence par lui attribuer une IP, on fait les mises à jour etc…

Le paquet à installer s’appelle CUPS, donc

apt-get install cups

Il va en profiter pour installer une série de dépendances (notamment les drivers :D)

Il faut ensuite ajouter notre utilisateur (pi) dans le groupe

sudo adduser pi lpadmin

Nous allons maintenant éditer le fichier de configuration de CUPS pour que l’on puisse administrer via l’interface web (oui car il y a une interface web :p) à distance le service.

sudo nano /etc/cups/cupsd.conf

Il faut modifier la ligne qui contient Listen localhost:631 et mettre à la place

Port 631

Et dans ce même fichier il faut ajouter Allow all entre chaque balise < location >
Ce qui donne:

< Location / >
# Restrict access to the server...
Order allow,deny
Allow all
< /Location >
< Location /admin >
# Restrict access to the admin pages...
Order allow,deny
Allow all
< /Location >
< Location /admin/conf >
AuthType Default
Require user @SYSTEM
# Restrict access to the configuration files...
Order allow,deny
Allow all
< /Location >

On redémarre le service cups

sudo service cups restart

A partir de maintenant on devrait avoir accès a l’interface web depuis http://ip-de-la-raspberry:631

A présent il faut rajouter l’imprimante, il va vous demander un mot de passe et vous devez rentrer les informations de connexion de l’utilisateur pi.

On paramètre ensuite les options par défaut et le tour est joué, on peux maintenant ajouter notre imprimante partagée sur nos clients.

Pour atteindre l’imprimante depuis un client l’adresse est la suivante: http://ip-de-la-raspberry:631/printers/nom-de-l-imprimante

Cela devrait fonctionner plus ou moins de la même manière avec un autre système Linux (en espérant que vos drivers sont disponible directement 😀 ).

 

Source: