Créez un système de vidéosurveillance multi-caméras avec Raspberry Pi et motionEyeOS
Bien qu'il existe d'innombrables systèmes de sécurité résidentiels CCTV commerciaux sur le marché, la création de votre propre version DIY avec un Raspberry Pi (ou un autre ordinateur à carte unique) offre l'avantage de la personnalisation pour répondre à vos besoins précis.
Une distribution Linux spéciale appelée motionEyeOS facilite la configuration de votre système de sécurité avec une ou plusieurs caméras. Il peut alors détecter les mouvements à partir de la vue de la caméra et envoyer des alertes par e-mail ou notification push. Nous allons vous montrer comment tout faire fonctionner.
Ce dont vous aurez besoin pour configurer un système de vidéosurveillance
- Un Raspberry Pi: n'importe quel modèle fonctionnera, y compris Pi Zero et Compute Module
- Une webcam USB, un module de caméra Raspberry Pi ou le module de caméra de haute qualité
1. Installez motionEyeOS
Plutôt que d'être une application, motionEyeOS est un système d'exploitation autonome, l'un des nombreux systèmes d'exploitation Raspberry Pi . Tout d'abord, vous devez trouver la version correcte pour votre modèle Raspberry Pi. Accédez à la liste des périphériques pris en charge et cliquez sur la dernière version de votre carte pour télécharger l'image disque sous forme de fichier .xz.
Il existe deux manières principales d'installer motionEyeOS sur Raspberry Pi. Le site Web motionEyeOS propose un utilitaire d'écriture d'images pour les ordinateurs Linux et macOS permettant d'écrire l'image disque sur une carte microSD à utiliser dans votre Raspberry Pi. Cela offre la configuration facultative d'une connexion réseau sans fil et la définition d'une adresse IP statique. Pour plus de détails, consultez le guide d'installation .
La deuxième méthode – que nous utiliserons ici, car elle fonctionne également sur les machines Windows – consiste à écrire l'image disque à l'aide de l'outil standard Raspberry Pi Imager, téléchargeable sur le site Web de Raspberry Pi .
À l'aide d'un lecteur de carte intégré ou d'un adaptateur USB, insérez votre carte microSD pour la monter sur votre ordinateur et ouvrez Raspberry Pi Imager. Cliquez sur Choisir le système d'exploitation, puis faites défiler vers le bas de la liste pour sélectionner Utiliser personnalisé .
Accédez au fichier motionEyeOS.xz que vous avez téléchargé précédemment. Cliquez maintenant sur Choisir la carte SD et sélectionnez votre carte microSD insérée, probablement appelée quelque chose comme Generic Storage Device Media.
Enfin, cliquez sur Ecrire pour écrire l'image sur la carte.
2. Préconfigurez votre connexion sans fil
Avant d'utiliser la carte microSD dans votre Raspberry Pi, vous souhaiterez préconfigurer les informations d'identification du réseau sans fil.
Ouvrez un éditeur de texte (comme éditeur de texte sous Mac OS ou sous Windows Notepad) et entrez les lignes suivantes, en remplaçant les valeurs SSID et PSK avec le SSID (nom) et mot de passe pour votre routeur sans fil. Vous devez également changer le code du pays pour celui où l'appareil fonctionnera.
country=US
update_config=1
ctrl_interface=/var/run/wpa_supplicant
network={
scan_ssid=1
ssid="MyWiFiSSID"
psk="MyWiFiPassword"
}
Enregistrez le fichier sous wpa_supplicant.conf à la racine de votre carte microSD, où vous devriez voir d'autres fichiers tels que bootcode.bin et kernel.img . Si le fichier est enregistré avec un suffixe .txt, supprimez-le pour qu'il s'appelle simplement wpa_supplicant.conf .
3. Configuration de la caméra
Si vous utilisez un module de caméra Raspberry Pi ou une caméra de haute qualité, connectez-le au port de caméra du Raspberry Pi. Si vous utilisez une webcam, connectez-vous à un port USB du Raspberry Pi.
Insérez la carte microSD dans votre Raspberry Pi et allumez-le. S'il est connecté à un moniteur, vous verrez une liste des commandes en cours d'exécution. Une fois que votre fichier wpa_supplicant.conf est lu avec succès, il se connecte ensuite à votre réseau et affiche l'adresse IP du Raspberry Pi une fois que l' interface wlan0 a l'adresse IP:.
Alternativement, si votre Raspberry Pi n'est pas connecté à un moniteur, vous pouvez toujours découvrir l'adresse IP en visitant la page des paramètres de votre routeur sans fil dans un navigateur Web sur un autre appareil et en recherchant un appareil avec un nom commençant par meye- .
4. Accédez à l'interface Web
Dans un navigateur Web sur un autre ordinateur ou appareil, entrez l'adresse IP du Raspberry Pi et vous devriez voir un écran de connexion. Entrez simplement admin comme nom d'utilisateur, sans mot de passe.
Si vous avez un module de caméra Raspberry Pi ou une caméra de haute qualité connecté, il devrait être détecté automatiquement et vous verrez la vue de la caméra dans l'interface Web. Si vous utilisez une caméra USB, dans le menu Ajouter une caméra qui apparaît, sélectionnez Caméra V4L2 locale pour le type de caméra et Caméra USB2.0: Caméra USB2.0 pour caméra.
Pour une configuration multi-caméras, il est possible de connecter plus d'une caméra à un Raspberry Pi, bien que le modèle utilisé doit être suffisamment puissant pour gérer tous les flux.
Vous pouvez également utiliser plusieurs cartes Raspberry Pi, chacune avec une caméra, et désigner un autre Raspberry Pi comme hub pour gérer leurs flux. Ceci est utile si vous souhaitez positionner les caméras dans différentes pièces.
Il existe également la possibilité d'utiliser un ordinateur Linux ordinaire comme serveur central.
5. Configurer les paramètres personnalisés
Dans l'interface Web, cliquez sur l'icône des trois lignes verticales en haut à gauche pour ouvrir le panneau des paramètres. Dans le menu Préférences , définissez l' option Colonnes de disposition sur 1 si vous utilisez une seule caméra, de sorte que la vue remplisse l'écran.
Le menu Périphérique vidéo vous permet de modifier la résolution, la rotation et la fréquence d'images de la caméra actuellement sélectionnée. Vous pouvez également renommer la caméra en quelque chose de descriptif, comme la pièce dans laquelle elle se trouve. Après avoir modifié les paramètres du menu, cliquez sur le bouton Appliquer pour les appliquer.
Pour la configuration de votre caméra de sécurité, vous souhaiterez détecter les mouvements à partir de la vue de la caméra. Ouvrez le menu Détection de mouvement et activez-le. D'autres options vous permettent de définir le seuil de changement d'image requis pour détecter un mouvement. Une valeur trop basse peut entraîner trop de faux positifs. L'option Motion Gap est le délai avant de chercher à détecter à nouveau un mouvement après son déclenchement.
Pour afficher les films capturés à partir de la détection de mouvement, cliquez sur une vue de caméra en direct, puis sélectionnez l'icône du bouton de lecture triangulaire. Il est également possible de visualiser les images fixes capturées par l'appareil photo – soit manuellement, soit en définissant le Mode de capture dans le menu Images fixes sur Déclenché par mouvement .
7. Envoyer des notifications par e-mail
Le menu Notifications de mouvement vous permet de vous envoyer un e-mail chaque fois qu'un mouvement est détecté. Après l'avoir activé, entrez l' adresse e – mail à laquelle vous souhaitez envoyer la notification. Vous devrez entrer les autres paramètres de votre compte.
Si vous utilisez Gmail, définissez le serveur SMTP sur smtp.gmail.com, le port SMTP sur 587 et le compte SMTP sur la première partie de votre adresse e-mail (c'est-à-dire sans @ gmail.com). Le mot de passe SMTP est celui que vous utilisez pour vous connecter à votre compte Gmail. L' adresse d'expédition peut être laissée vide ou définie sur une adresse personnalisée. Activez TLS .
Dans un autre onglet du navigateur, consultez le menu de sécurité pour votre compte Google et définir l' accès d'applications sécurisé Moins de sur – après avoir reçu une alerte de sécurité, vérifiez que c'est toi qui a changé. Notez que cela se fait à vos risques et périls. Nous avons créé un nouveau compte Gmail dédié à cet effet.
Vous devriez maintenant pouvoir envoyer un e-mail de test à partir de motionEyeOS sans déclencher d'alerte de sécurité Google. Notez que si vous utilisez plusieurs caméras, vous devez configurer des notifications par e-mail pour chacune séparément.
Pour recevoir une image avec votre notification par e-mail, il est conseillé de définir l'option Intervalle de temps des images jointes entre 5 et 30. Vous devez également définir le Mode de capture sur Déclenché par mouvement dans le menu Images fixes .
8. Ajouter des notifications push
Vous pouvez également envoyer des notifications push à l'aide de l'option Exécuter une commande dans le menu Notifications de mouvement . Par exemple, pour utiliser le service Pushover – qui propose des applications pour Android, iOS et le bureau – vous devez créer un court script Python pour qu'il s'exécute.
Inscrivez-vous à Pushover . Gardez à l'esprit qu'après un essai gratuit de 30 jours, vous devrez effectuer un achat unique de 5 $ dans l'application pour continuer à l'utiliser.
Après cela, cliquez sur Créer un jeton d'application / API . Notez le jeton / clé API qui lui a été attribué, ainsi que votre clé utilisateur dans le tableau de bord.
Télécharger: Pushover pour iOS | Android (essai gratuit disponible)
En utilisant le code standard du site Web Pushover, vous pouvez créer votre script Python:
import httplib, urllib
conn = httplib.HTTPSConnection("api.pushover.net:443")
conn.request("POST", "/1/messages.json",
urllib.urlencode({
"token": "abc123",
"user": "user123",
"title": "CCTV alert"
"message": "Motion detected on camera 1!",
"url": "http://IP.ADD.RE.SS",
"url_title": "View live stream",
}), { "Content-type": "application/x-www-form-urlencoded" })
conn.getresponse()
Remplacez abc123 par le jeton API de votre application et user123 par votre clé utilisateur. Remplacez IP.ADD.RE.SS par l'adresse IP de votre configuration motionEyeOS.
Pour le placer sur votre système motionEyeOS, vous devez vous connecter en SSH à partir d'un autre ordinateur à l'aide de l'application Terminal (ou WinSCP sous Windows), en entrant:
ssh admin@&IP_ADDRESS
Remplacez IP_ADDRESS par l'adresse IP de votre système motionEyeOS. Entrez maintenant:
cd /data
Maintenant que vous êtes dans le répertoire de données, créez un nouveau fichier appelé pushover.py :
nano pushover.py
Collez ou tapez votre script Python dedans et enregistrez-le avec Ctrl + X , suivi de Y. Maintenant, rendez-le exécutable avec:
chmod +x pushover.py
Sinon, dans WinSCP sous Windows, appuyez sur F9 , définissez les autorisations sur 0775 et appuyez sur OK .
Testez le script en exécutant:
python pushover.py
Vous devriez recevoir une notification, avec une alerte sonore, de motionEyeOS dans votre application Pushover.
De retour dans le menu Notifications de mouvement de l'interface Web motionEyeOS, activez l'option Exécuter une commande et saisissez python /data/pushover.py dans le champ Commande pour lui indiquer d'exécuter votre script Python.
Cliquez sur le bouton Appliquer . Notez que vous pouvez appliquer un script Exécuter une commande différent pour chaque caméra de votre configuration, vous pouvez donc créer plusieurs scripts Python, chacun indiquant quelle caméra a détecté un mouvement.
Créer votre propre système de caméra de sécurité bricolage
Félicitations, vous avez maintenant configuré votre propre système de sécurité CCTV personnalisable à l'aide de Raspberry Pi, avec des notifications par e-mail et push pour vous alerter de la présence de tout intrus détecté sur la caméra.