Table des matières:

Caméra de sécurité extérieure complète basée sur Raspberry Pi : 21 étapes
Caméra de sécurité extérieure complète basée sur Raspberry Pi : 21 étapes

Vidéo: Caméra de sécurité extérieure complète basée sur Raspberry Pi : 21 étapes

Vidéo: Caméra de sécurité extérieure complète basée sur Raspberry Pi : 21 étapes
Vidéo: Raspberry PI 0 W Installer une caméra avec motion sous linux 2024, Juillet
Anonim
Caméra de sécurité extérieure complète basée sur Raspberry Pi
Caméra de sécurité extérieure complète basée sur Raspberry Pi
Caméra de sécurité extérieure complète basée sur Raspberry Pi
Caméra de sécurité extérieure complète basée sur Raspberry Pi
Caméra de sécurité extérieure complète basée sur Raspberry Pi
Caméra de sécurité extérieure complète basée sur Raspberry Pi
Caméra de sécurité extérieure complète basée sur Raspberry Pi
Caméra de sécurité extérieure complète basée sur Raspberry Pi

Si vous avez eu des expériences décevantes avec des webcams bon marché, leur logiciel mal écrit et/ou leur matériel inadapté, vous pouvez facilement construire une webcam semi-professionnelle avec un Raspberry Pi et quelques autres composants électroniques faciles à trouver sur lesquels exécuter PiWebcam, un gratuit et factice -Un logiciel à l'épreuve qui transforme en un seul clic votre appareil en une webcam puissante et complète.

Étape 1: Inspiration

Inspiration
Inspiration

Après avoir combattu le logiciel limité de la plupart des caméras de sécurité bon marché du marché (par exemple, mauvaise vision nocturne, application obscure pour la configuration, pas d'enregistrement hors ligne, détection de mouvement inexacte, etc.), j'ai décidé de créer quelque chose par moi-même et Raspberry Pi m'a semblé la plate-forme la plus appropriée.

Même s'il existe déjà autour d'un bon nombre de projets d'utilisation d'un Raspberry Pi comme webcam je les trouve personnellement trop complexes et de manière générale plus de solutions ad-hoc pour des utilisateurs avancés plutôt que des produits finis.

Néanmoins, la plupart d'entre eux se concentrent uniquement sur le logiciel plutôt que sur le matériel, ce qui est tout aussi important pour le cas d'utilisation des caméras de sécurité.

Étape 2: Matériel

Matériel
Matériel

Pour construire une webcam d'intérieur, un simple Raspberry Pi (n'importe quel modèle) et une caméra connectée (n'importe quel modèle) avec des LED IR pour la vision nocturne fonctionneraient très bien. Il existe déjà de nombreux kits disponibles avec cette combinaison, donc si c'est ce que vous voulez réaliser, achetez-en un et passez à l'étape 12.

Cependant, le même matériel ne conviendrait pas à une caméra extérieure: la photo prise à partir de la caméra Raspberry compatible IR à l'extérieur de votre maison semblerait principalement rose (en raison de la lumière infrarouge capturée par la caméra) et avec le petit -boîte à LED IR, vous ne pourriez rien voir au-delà de 3 pieds / 1 mètre.

Pour résoudre le premier problème, nous avons besoin de quelque chose appelé filtre mécanique IR CUT qui vous restitue les vraies couleurs à la lumière du jour tout en permettant de capturer les lumières IR pendant la nuit. La plupart des appareils du marché ont deux fils: une courte impulsion sur un fil déplacera le filtre IR devant le capteur (mode jour), une courte impulsion sur l'autre fil enlèvera le filtre (mode nuit). Ils fonctionnent généralement entre 3v et 9v et s'ils sont connectés à notre Raspberry, nous pouvons avoir un contrôle total sur le moment de basculer en mode nuit. Cependant, le filtre IR Cut ne peut pas être contrôlé directement depuis une broche du Raspberry car la partie mécanique à l'intérieur nécessite beaucoup plus de courant que celui que le Pi peut fournir. Nous allons contourner cela en utilisant un H-Bridge alimenté par le 5v du Raspberry et contrôlé par deux broches.

Pour résoudre le deuxième problème, nous aurions besoin d'une carte de LED IR plus puissante pour obtenir une vision nocturne décente. Les cartes avec des leds moins nombreuses mais plus grosses sont préférées à celles avec beaucoup de leds minuscules. La plupart des cartes sur le marché ont également une LDR (Light Dependent Resistor) attachée qui est utilisée pour déterminer quand allumer les LED si elles sont sombres. Ils fonctionnent généralement à 12 V et ont une petite prise (étiquetée "IRC") qui peut être utilisée pour connecter un filtre coupe-IR. Cependant, aucune impulsion n'est envoyée directement via cette prise, mais pendant la nuit (LED allumées), une chute de tension (généralement) de 5 V entre les fils et la terre est créée. Si vous connectez l'un des fils à notre Raspberry et surveillez le signal de la broche, nous pouvons déterminer si nous entrons ou sortons du mode nuit (ce qui est exactement ce que fait PiWebcam)

Une dernière chose à considérer concernant le matériel est de savoir comment alimenter le Raspberry Pi. Comme nous avons une alimentation 12v et que nous avons besoin de 5v pour alimenter le Pi, un régulateur de tension est nécessaire.

Étape 3: Logiciel

Logiciel
Logiciel

L'idée derrière PiWebcam était de fournir une plate-forme d'imagerie puissante pour tout le monde, quelles que soient ses connaissances antérieures. Un script d'installation s'occupera de configurer entièrement le système avec des paramètres par défaut raisonnables, permettant à l'utilisateur de personnaliser via une interface Web propre et conviviale uniquement un nombre très limité de paramètres pertinents. Néanmoins, grâce à sa puissante fonction de détection de mouvement augmentée de capacités de reconnaissance d'objets alimentées par un modèle d'intelligence artificielle, PiWebcam peut informer l'utilisateur de tout mouvement détecté en envoyant un instantané à un destinataire de courrier électronique ou en le publiant sur le canal Slack préféré de l'utilisateur.

  • Page du projet:
  • Manuel d'utilisation:

Étape 4: Nomenclature

Nomenclature
Nomenclature
Nomenclature
Nomenclature
Nomenclature
Nomenclature

La nomenclature suivante concerne la webcam extérieure intégrée dans ce didacticiel:

  • Raspberry Pi Zero W
  • Caméra Raspberry Pi (tout modèle, celui-ci comprend un filtre coupe-IR)
  • Câble de caméra Raspberry Pi Zero
  • Boîtier de caméra étanche (n'importe quel modèle dans lequel la framboise s'adapterait)
  • Carte SD (16 Go recommandés)
  • Carte LED IR (toute carte qui s'adapterait au boîtier de la caméra)
  • Filtre IR Cut (uniquement s'il n'est pas déjà intégré dans la caméra)
  • Régulateur 12v - 5v (assurez-vous qu'il s'agit d'un régulateur buck qui peut fournir au moins 1A)
  • Prise mâle micro USB
  • prise femelle 12v
  • Alimentation 12v 3A
  • Pont en H
  • Cales Dupont Femelle-Femelle

Étape 5: Préparation des composants

Préparation des composants
Préparation des composants
Préparation des composants
Préparation des composants
Préparation des composants
Préparation des composants

Le convertisseur buck (régulateur de tension) est chargé de convertir l'alimentation 12v en 5v dont le Raspberry Pi a besoin. La plupart des composants du marché sont réglables (par exemple, vous pouvez modifier la tension de sortie en tournant une vis). Comme à l'intérieur de la webcam la vis peut être déplacée accidentellement, pour assurer une sortie 5v fixe et constante, mettez de l'étain dans la fente 5v pour souder ensemble les deux bords et coupez le fil sur le PCB (avec un couteau) qui va dans "ADJ" (en haut à gauche de l'image)

Puisque nous voulons avoir un contrôle total sur le filtre IR Cut via le Raspberry (que le filtre soit ou non intégré à la caméra comme sur la photo), nous devons nous débarrasser du petit connecteur. Coupez les deux fils et connectez un câble dupont femelle pour chaque fil. Ne jetez pas la petite prise car nous devons l'utiliser pour recevoir l'état du LDR monté sur la carte LED IR. Connectez un autre câble dupont femelle sur l'un des deux fils (peu importe lequel).

Étape 6: Connectez-vous à la carte LED IR à l'alimentation

Connectez-vous à la carte LED IR à l'alimentation
Connectez-vous à la carte LED IR à l'alimentation
Connectez-vous à la carte LED IR à l'alimentation
Connectez-vous à la carte LED IR à l'alimentation
Connectez-vous à la carte LED IR à l'alimentation
Connectez-vous à la carte LED IR à l'alimentation

Commençons par connecter l'entrée d'alimentation 12v entrant dans notre boîtier de caméra nu aux composants.

Connectez au fil négatif (noir) ce qui suit:

  • Fil négatif de la carte LED IR
  • Fil négatif du convertisseur buck
  • Fil négatif au connecteur USB mâle

Connectez au fil positif (rouge) ce qui suit:

  • Le fil positif (12v) de la carte LED IR
  • Le fil Vin du convertisseur buck

Étape 7: Alimentez le Raspberry Pi

Alimenter le Raspberry Pi
Alimenter le Raspberry Pi
Alimenter le Raspberry Pi
Alimenter le Raspberry Pi

Connectez le fil Vout du convertisseur buck à la prise USB qui alimentera le Raspberry.

Après avoir connecté tous les fils, soudez-les ensemble ou fixez-les simplement avec du ruban isolant.

Étape 8: Connectez le filtre de coupure IR

Connectez le filtre de coupure IR
Connectez le filtre de coupure IR
Connectez le filtre de coupure IR
Connectez le filtre de coupure IR
Connectez le filtre de coupure IR
Connectez le filtre de coupure IR

Étant donné que le filtre IR Cut ne peut pas être contrôlé directement à partir d'une broche du Raspberry, nous utiliserons un pont en H alimenté par la broche 5v du Raspberry et contrôlé par deux broches.

  • Connectez la broche 4 (5v) de la framboise au "+" du H-Bridge
  • Connectez la broche 5 (GND) de la framboise au "-" du H-Bridge
  • Connectez la broche 39 (BCM 20) de la framboise à INT1 du H-Bridge
  • Connectez la broche 36 (BCM 16) de la framboise à INT2 du H-Bridge
  • Connectez les deux fils du filtre de coupure IR à MOTOR1 et MOTOR2 ou au H-Bridge

De cette façon, lorsqu'une impulsion sera envoyée par ex. la broche 39, 5v sera fournie à MOTOR1 faisant basculer le filtre.

Étape 9: Connectez la carte LED IR au Raspberry

Connectez la carte LED IR au Raspberry
Connectez la carte LED IR au Raspberry

Pour savoir quand il fait noir, nous utilisons le LDR monté sur la carte des LED IR. Utilisez la petite fiche découpée du filtre IR dans les étapes précédentes, connectez un côté au connecteur étiqueté "IRC" de la carte des LED IR et l'autre à la broche 40 (BCM 21) du Raspberry.

Étape 10: Montez la caméra sur la carte LED IR

Montez la caméra sur la carte LED IR
Montez la caméra sur la carte LED IR
Montez la caméra sur la carte LED IR
Montez la caméra sur la carte LED IR

Fixez la caméra sur l'emplacement dédié de la carte des LED IR à l'aide d'un ruban isolant ou d'un autre moyen. Éléments à prendre en considération à ce stade:

  • La carte des LED IR devient très chaude lorsqu'elle est allumée, protégez donc la caméra en conséquence;
  • Assurez-vous qu'aucune lumière IR ne peut entrer dans la fente où se trouve la caméra; La réflexion de la lumière IR est l'une des raisons les plus courantes pour lesquelles la vision nocturne est mauvaise (floue);
  • Assurez-vous qu'il reste de l'espace entre l'objectif et le verre du boîtier de la caméra, sinon une réflexion ou une distorsion de l'image pourrait se produire;

Ne fermez PAS encore le boîtier de la caméra:-)

Étape 11: Option 1 - Flasher une image PiWebcam préconfigurée (recommandé)

Option 1 - Flasher une image PiWebcam préconfigurée (recommandé)
Option 1 - Flasher une image PiWebcam préconfigurée (recommandé)
  • Téléchargez la dernière image PiWebcam (PiWebcam_vX. X.img.zip) à partir de
  • Décompressez le fichierEcrivez l'image sur une carte SD (https://www.raspberrypi.org/documentation/installation/installing-images/)
  • Branchez la carte SD sur votre Raspberry Pi et allumez-le
  • L'appareil commencera à agir comme un point d'accès
  • Continuer avec les tâches de post-installation

Étape 12: Option 2 - Construire une image PiWebcam

Option 2 - Construire une image PiWebcam
Option 2 - Construire une image PiWebcam

La création d'une image PiWebcam nécessite une nouvelle installation de Raspbian et une carte SD. Veuillez ne pas réutiliser une installation existante mais recommencer à zéro:

  • Télécharger le système d'exploitation Raspbian Stretch Lite
  • Écrivez l'image sur une carte SD (par exemple en utilisant Win32 Disk Imager)

Étape 13: Option 2 - Copiez PiWebcam sur la carte SD

Option 2 - Copiez PiWebcam sur la carte SD
Option 2 - Copiez PiWebcam sur la carte SD
Option 2 - Copiez PiWebcam sur la carte SD
Option 2 - Copiez PiWebcam sur la carte SD
Option 2 - Copiez PiWebcam sur la carte SD
Option 2 - Copiez PiWebcam sur la carte SD

Téléchargez la dernière version de PiWebcam (PiWebcam_vX. X.zip), extrayez et copiez le répertoire "PiWebcam" dans la partition de démarrage.

Pour une configuration sans tête, placez également dans la partition de démarrage un fichier vide appelé "ssh" et un "wpa_supplicant.conf" avec votre configuration réseau. De cette façon, le Raspberry commencera à se connecter à votre réseau WiFi au démarrage et vous n'aurez pas du tout besoin du câble HDMI, mais vous pourrez vous y connecter directement via SSH.

Étape 14: Option 2 - Allumez le Raspberry et connectez-vous

Option 2 - Allumez le Raspberry et connectez-vous
Option 2 - Allumez le Raspberry et connectez-vous
Option 2 - Allumez le Raspberry et connectez-vous
Option 2 - Allumez le Raspberry et connectez-vous

Branchez la carte SD sur votre Raspberry Pi, allumez-le et avec un client SSH (ou PuTTY sous Windows) connectez-y:

  • Nom d'hôte: raspberrypi.local
  • Nom d'utilisateur: pi
  • Mot de passe: framboise

Étape 15: Option 2 - Configurer le système pour PiWebcam

Option 2 - Configurer le système pour PiWebcam
Option 2 - Configurer le système pour PiWebcam
Option 2 - Configurer le système pour PiWebcam
Option 2 - Configurer le système pour PiWebcam

Après vous être assuré que le Raspberry est connecté à Internet, exécutez la commande suivante:

sudo /boot/PiWebcam/PiWebcam.sh installer

Cela configurera complètement le système et installera les dépendances requises.

À la fin de l'installation, il vous sera demandé de redémarrer l'appareil pour que les modifications soient pleinement effectives. Toutes les informations d'identification seront résumées à l'écran.

Veuillez noter que les 6 derniers caractères sont aléatoires (par exemple PiWebcam-e533fe) et varient d'un appareil à l'autre.

Étape 16: Tâches de post-installation - Connectez-vous au point d'accès WiFi de PiWebcam

Tâches post-installation - Connectez-vous au point d'accès WiFi de PiWebcam
Tâches post-installation - Connectez-vous au point d'accès WiFi de PiWebcam
Tâches post-installation - Connectez-vous au point d'accès WiFi de PiWebcam
Tâches post-installation - Connectez-vous au point d'accès WiFi de PiWebcam

Une fois allumé, l'appareil commencera à agir comme un point d'accès.

Connectez-vous au réseau WiFi créé par l'appareil. La phrase secrète du réseau ainsi que le mot de passe de l'utilisateur administrateur (pour l'interface Web et SSH) sont les mêmes que le SSID (par exemple PiWebcam-XXXXX). Pointez votre navigateur sur https://PiWebcam.local et authentifiez-vous avec le nom d'utilisateur "admin" et avec le même mot de passe que le nom du réseau.

Étape 17: Connectez la webcam à votre réseau WiFi

Connectez la webcam à votre réseau WiFi
Connectez la webcam à votre réseau WiFi
Connectez la webcam à votre réseau WiFi
Connectez la webcam à votre réseau WiFi

Si vous souhaitez connecter la webcam à un réseau WiFi existant, allez dans Périphérique / Réseau, sélectionnez "Client WiFi" et remplissez votre "Réseau WiFi" et votre "Phrase de passe".

Attendez 1 à 2 minutes, reconnectez-vous à votre réseau et pointez votre navigateur sur https://camera_name.your_network (par exemple,

Étape 18: Fermez le boîtier de la webcam

Fermez le boîtier de la webcam
Fermez le boîtier de la webcam
Fermez le boîtier de la webcam
Fermez le boîtier de la webcam

Une fois testé que la webcam est accessible via le réseau et effectué la configuration de base présentée à l'étape précédente, il est maintenant temps de fermer le boîtier.

Étape 19: Premiers pas avec PiWebcam

Premiers pas avec PiWebcam
Premiers pas avec PiWebcam
Premiers pas avec PiWebcam
Premiers pas avec PiWebcam
Premiers pas avec PiWebcam
Premiers pas avec PiWebcam
Premiers pas avec PiWebcam
Premiers pas avec PiWebcam

PiWebcam est déjà livré avec des paramètres par défaut raisonnables. Une fois installé, aucune configuration supplémentaire n'est requise; PiWebcam commencera à prendre des instantanés et à enregistrer des vidéos, qu'il soit connecté ou non au réseau.

Toute la configuration de l'appareil (caméra, réseau, notification et paramètres système) peut être effectuée via l'interface Web. Le fichier de configuration peut être facilement exporté et importé sous Périphérique / Système.

Lorsqu'un mouvement est détecté, PiWebcam commencera à enregistrer une vidéo (qui sera ensuite disponible via le menu "Lecture" de l'interface Web). Une fois qu'il n'y aura plus de mouvement, une image mettant en évidence avec un cadre rouge le mouvement détecté sera également stockée. Si la fonction de détection d'objet est activée, tout mouvement ne contenant pas l'objet configuré sera ignoré afin de réduire les faux positifs (par exemple, si un mouvement est détecté mais qu'aucune personne n'est identifiée).

Lorsque les notifications sont activées, l'instantané est envoyé à l'adresse e-mail de l'utilisateur et/ou publié sur le canal Slack configuré. Si une connexion Internet n'est pas disponible, la notification sera mise en file d'attente et libérée lors de la prochaine restauration de la connexion.

Un résumé détaillé de tous les paramètres disponibles est signalé dans la page du projet.

Étape 20: Accès Internet à distance

Accès Internet à distance
Accès Internet à distance

En option, l'interface Web est accessible depuis Internet sans aucune configuration supplémentaire dans votre réseau ou votre routeur domestique. Pour activer cette fonctionnalité, cochez la case appropriée sous Périphérique / Réseau.

Si l'accès Internet à distance est activé, l'appareil initie un tunnel SSH via serveo.net, sans avoir besoin de configurer de NAT ou d'UPnP dans votre routeur. Le nom de l'appareil est utilisé comme nom d'hôte et les services Web et ssh sont exposés.

Étape 21: Détails techniques

Tous les fichiers PiWebcam résident dans la partition de démarrage de la carte SD, dans un répertoire appelé PiWebcam. Cela inclut un seul fichier bash, PiWebcam.sh et les pages PHP pour le panneau d'administration.

Pendant le processus d'installation, une configuration système très basique est effectuée, une image initramfs est créée et le script PiWebcam.sh est ajouté à /etc/rc.local afin d'être exécuté au démarrage avec le paramètre "configure".

Au premier redémarrage, l'image initramfs rétrécira la partition racine (auparavant étendue pour remplir toute la carte SD par le programme d'installation de Raspbian) et créera une partition de données juste après.

Les systèmes de fichiers de démarrage et racine sont montés en lecture seule et un système de fichiers superposé est créé par l'image initram sur le système de fichiers racine afin que toute modification apportée au système soit stockée en mémoire uniquement et soit perdue au prochain redémarrage. De cette façon, l'appareil sera plus résistant aux erreurs de configuration, pourra être facilement restauré aux paramètres d'usine et pourra survivre à toute panne de courant, car aucun fichier système n'est jamais écrit sur la carte SD pendant les opérations normales. Le système de fichiers de données est plutôt formaté avec F2FS (Flash-Friendly File System) qui prend en compte les caractéristiques des périphériques de stockage à mémoire flash.

Au démarrage, PiWebcam lit son fichier de configuration stocké dans /boot/PiWebcam/PiWebcam.conf, configure le système, la caméra, le réseau et les notifications en fonction des paramètres qui s'y trouvent et déploie l'interface Web de /boot/PiWebcam/web dans l'emplacement de la racine Web.

Les films et les films sont stockés dans le système de fichiers de données et regroupés dans des dossiers par année/mois/jour/heure afin de permettre un accès plus facile. Tous les enregistrements peuvent être consultés via l'interface Web avec h5ai, un indexeur de fichiers moderne qui permet d'afficher les fichiers et les répertoires de manière attrayante et fournit des aperçus d'images et de vidéos sans avoir besoin de télécharger le contenu au préalable.

Lorsqu'un mouvement est détecté, PiWebcam.sh est invoqué avec le paramètre "notify" via l'événement de mouvement on_picture_save/on_movie_end. Si la détection d'objet est activée pour une analyse plus approfondie de l'image, l'image est envoyée à Clarifai pour reconnaître tous les objets dans l'image. Cela fonctionnerait très bien pour réduire les faux positifs, par ex. si vous êtes intéressé de savoir s'il y a quelqu'un qui vole dans votre maison et pas seulement un changement soudain de lumière.

Après cela, PiWebcam vérifie si une connexion Internet est disponible et, le cas échéant, envoie la notification. En plus des notifications par e-mail traditionnelles, envoyées avec ssmtp, avec l'image animée détectée jointe, PiWebcam peut également télécharger la même image sur une chaîne Slack. Si vous ne connaissez pas Slack, consultez-le (); c'est un excellent outil de collaboration mais peut également être utilisé pour créer un groupe dédié à votre famille, accorder l'accès aux membres de votre famille, discuter avec eux et permettre aux utilitaires PiWebcam ou domotiques (comme par exemple eGeoffrey) de publier des mises à jour là-bas. S'il n'y a pas de connexion Internet, la notification n'est pas perdue mais elle est mise en file d'attente et envoyée lorsque la connexion est rétablie.

Une fonctionnalité de mise à niveau est également fournie via l'interface Web.

Conseillé: