Table des matières:

Système de sécurité laser Raspberry Pi : 13 étapes (avec photos)
Système de sécurité laser Raspberry Pi : 13 étapes (avec photos)

Vidéo: Système de sécurité laser Raspberry Pi : 13 étapes (avec photos)

Vidéo: Système de sécurité laser Raspberry Pi : 13 étapes (avec photos)
Vidéo: Raspberry Pi High Quality Camera Getting Started Guide - First Pictures and Videos 2024, Juillet
Anonim
Image
Image
Image
Image

Merci d'avoir consulté mon instructable. À la fin de cette instructable, vous construirez le système de fil de déclenchement laser raspberry pi avec une fonctionnalité d'alerte par e-mail qui est montrée dans la vidéo.

Pour terminer cette instructable, vous devrez vous familiariser avec les circuits généraux et la soudure, savoir utiliser une planche à pain et être à l'aise avec le terminal sur le pi. Avoir une expérience en python sera également utile.

Ce projet se compose de trois systèmes principaux. Le raspberry pi, le circuit du fil-piège laser et un ordinateur d'observation. Notre objectif est d'utiliser le raspberry pi pour détecter un changement de tension sur le circuit du fil-piège laser, puis d'alerter un ordinateur d'observation sous la forme d'un e-mail et d'un flux vidéo.

Commençons.

Étape 1: Arrondissez les composants requis

Pour réaliser ce projet, vous aurez besoin des éléments suivants.

  1. Au moins un Raspberry Pi opérationnel. Dans cette version, j'ai utilisé un modèle Pi de style B exécutant un sifflement raspbian. Je suis sûr que ce tutoriel fonctionnera très bien si vous utilisez Raspbian Jessie.
  2. Une source d'alimentation externe pour le Raspberry Pi. Nous allons tirer une quantité importante d'ampérage une fois que tout cela sera branché. J'ai passé beaucoup de temps à diagnostiquer une alimentation de merde comme source de problèmes lors de ma première construction. Assurez-vous d'avoir une puissance costaude capable de fournir au moins 2 ampères.
  3. Un pointeur laser pas cher. J'ai trouvé le mien à côté de la caisse enregistreuse d'une station-service. Si vous voulez le laser exact, vous pouvez le trouver ici. L'étiquette indique 630-680 nm pour la longueur d'onde. Le laser que vous obtenez déterminera certains des autres composants de la construction. Assurez-vous donc que son étiquette identifie sa longueur d'onde.
  4. Une webcam de type USB. Cette webcam a un pied réglable qui vous permet de bien positionner la caméra. J'ai trouvé que le câble usb fourni avec la webcam était trop court pour mon application donc j'ai trouvé une extension sur monoprice.
  5. Une sorte de kit de dérivation pour le Raspberry Pi afin que vous puissiez accéder facilement aux broches du processeur.

    Image
    Image
    Image
    Image
  6. Une planche à pain.
  7. Un fer à souder.
  8. Fils de cavalier pour la planche à pain.
  9. Composants de circuits. Multipliez par la quantité de fils de déclenchement que vous voulez.

    • Une led de travail
    • Une résistance de 100 ohms
    • Une résistance de 1k
    • Une résistance de 10k
    • Une résistance de 200k Vraiment n'importe quelle grande résistance fera l'affaire. Je l'ai testé avec une résistance de 1M et cela a bien fonctionné. Pour info, 10k était trop petit.
    • Un transistor PNP PN:2N4403-APCT-ND
    • Une photodiode (correspondez-la à votre longueur d'onde laser) PN:PDB-C142-ND

Je joindrai les fichiers kicad pour la carte de circuit imprimé, mais je ne passerai pas en revue la fabrication de la carte dans cette instructable.

Tout au long de ce projet, j'ai trouvé les outils facultatifs suivants utiles:

  1. Installation de synergie sur le raspberry pi. Au cas où vous ne seriez pas familier, ce logiciel vous permettra de contrôler la souris et le clavier du raspberry pi avec un autre ordinateur. C'est bien si vous êtes comme moi et êtes plus à l'aise sur un autre ordinateur. C'est aussi un logiciel que tout le monde devrait avoir.
  2. Un hub USB. Pour chaque webcam que vous souhaitez utiliser, vous aurez besoin d'un port.
  3. Voltmètre ou oscilloscope si vous en avez.
  4. Utilisation de MobaXterm pour contrôler le raspberry pi et manipuler des fichiers via ssh. C'est un must pour quiconque a grandi sur des fenêtres. Consultez ce tutoriel pour vous préparer à l'utiliser.

Étape 2: Obtenez le Pi Up and Running

  • Image
    Image

    Le pi avec un minimum de composants attachés

  • Avant de pouvoir tirer des lasers, plusieurs couches de logiciels doivent être construites. Pour avoir les meilleures chances de succès, il est bon de commencer par une table rase. Pour ce faire, déconnectez tous les éléments inutiles du Pi. Cela réduira les risques d'interférences provenant d'un appareil connecté.

    Ensuite, assurez-vous que votre Raspberry Pi est opérationnel avec le dernier logiciel en entrant ce qui suit dans le terminal

    sudo apt-get mise à jour

    Avec le raspberry pi à jour, il est temps de passer à l'étape suivante

    Étape 3: Créez le circuit de détection laser

    Placez les composants sur la planche à pain comme indiqué. Alimentez la maquette en utilisant la sortie 5v du pi ou une alimentation de table. Dans la figure 1, l'alimentation 5v est connectée au rail positif de la maquette en bas à gauche de l'image et à la terre en haut à gauche. Ce circuit utilise la photodiode comme interrupteur pour déclencher le transistor. Le transistor convertit le petit changement de tension dans la photodiode en un signal quelque peu numérique que le pi peut lire. Pour toutes les étapes suivantes, le point entre le 100ohm et la led de signal sera l'endroit où nous échantillonnerons le circuit avec le pi.

    • Image
      Image

      Fig 1: haut de la disposition de la planche à pain du circuit

    • Image
      Image

      Fig 2: vue alternative de la disposition de la maquette du circuit

    Si vous voulez un look plus net, j'ai joint les fichiers kicad pour le tableau ci-dessous.

    • Image
      Image

      Fig 3:Vue de dessus de la carte du capteur

    • Image
      Image

      Fig 4: Carte de capteur ISO

    • Étape 4: Modifiez le laser pour l'alimentation externe

      Dans les étapes suivantes, vous allez construire l'assemblage du pointeur laser.

      - Démonter le pointeur laser. Ce faisant, notez l'orientation des bornes de la batterie par rapport à l'émetteur laser.- Ensuite, dessoudez le ressort de connexion de la batterie et le bouton poussoir momentané du laser.- Soudez un morceau de fil entre les bornes où se trouvait le bouton. Maintenant, lorsque l'alimentation est fournie au laser, il s'allumera automatiquement.- Maintenant, soudez les fils positifs et négatifs au laser. Si vous utilisez le même laser de la liste des pièces, vous pouvez utiliser l'image ci-dessous pour voir les points de soudure. Si ce n'est pas le cas, vous devrez peut-être trouver les points de soudure vous-même. Vous pouvez utiliser l'orientation de la batterie comme indice pour le fil positif ou négatif. Pour trouver le dernier point de soudure, vous pouvez utiliser une alimentation 5v et sonder le circuit avec deux cordons de test. Lorsque vous avez créé le bon circuit, vous avez trouvé le point de soudure et le laser s'allume.

      • Image
        Image

        Le fil orange remplace le bouton poussoir momentané

      • Image
        Image

        Montrer les pistes positives et négatives

      - La dernière étape consiste à créer un poteau de montage directionnel pour le laser afin qu'il puisse être facilement ajusté pour viser le réceptacle du laser. J'ai découvert que la plupart des kits lego bionicle sont une excellente source d'articulations à rotule bon marché. Collez un morceau de la rotule sur le pointeur laser avec de la super colle. Vous pouvez maintenant monter le joint à douille sur n'importe quelle surface et enclencher le laser.

      • Image
        Image

        Rotule

      • Image
        Image

        Joint à douille

      • Image
        Image

        Boule et douille assemblées

      • Étape 5: Allumez le laser et testez le circuit de détection

        Branchez le laser sur votre maquette. Le positif devra être connecté à 5v et à la terre le fil négatif. Si le laser s'allume bien, sinon, vérifiez que vous avez la bonne tension avec un multimètre. Si cela ne fonctionne toujours pas, essayez d'échanger les fils au cas où vous l'auriez branché à l'envers. Si cela ne fonctionne toujours pas, vous n'avez peut-être pas soudé aux bonnes pastilles, revenez à la dernière étape.

        • Image
          Image

          Laser de travail avec un faisceau sain

        Une fois que vous avez le faisceau laser, il est temps de tester le circuit de détection. Dirigez le laser vers la photodiode. La LED doit s'éteindre pour signaler que le faisceau est actif. Passez votre main à travers le faisceau et la LED devrait s'allumer pour signaler un voyage.

        • Image
          Image

          Le faisceau n'est pas cassé et la led est éteinte

        • Image
          Image

          L'intrus brise le faisceau provoquant l'allumage de la led

        • Étape 6: Connectez votre webcam et testez sa fonctionnalité

          Connectez votre webcam au port USB. Afin de diffuser la vidéo, nous devons obtenir l'utilitaire mjpg-streamer. Voici un excellent tutoriel sur la façon de faire exactement cela. Une fois que vous avez correctement installé mjpg-streamer. Commencez à diffuser la vidéo en entrant la commande suivante dans le terminal.

          cd /où vous avez installé mjpg-streamer/mjpg-streamer

          ./mjpg_streamer -i "./input_uvc.so -y /dev/video0" -o "./output_http.so -w./www -p 8081"

          Cette commande configurera un flux sur le port 8081 en utilisant la source video0. Si vous voulez plusieurs webcams, entrez à nouveau la commande ci-dessus mais changez video0 en video1 et 8081 en 8082. J'ai diffusé jusqu'à 3 webcams de cette façon et le pi n'était pas surchargé.

          Testez que la connexion fonctionne en ouvrant un navigateur sur un autre ordinateur et entrez ip-address-of-pi:8081 ou sur le pi, vous pouvez simplement entrer localhost:8081. Si vous ne connaissez pas votre ip du pi entrez ce qui suit dans le terminal

          ifconfig

          Si tout fonctionne, vous devriez voir la page d'accueil de mpg-streamer. Cliquez sur l'onglet flux pour voir le flux de votre webcam. Ci-dessous, une capture d'écran de l'interface.

          • Image
            Image

            Exemple de sortie mjpg-streamer

          En faisant ce tutoriel pour la deuxième fois, j'ai pu accéder à la page d'accueil de mjpg-streamer mais je n'ai pas vu de flux. Pour résoudre ce problème, j'ai lu ce post (lien maintenant rompu), en particulier la partie sur le format de pixel YUYV, si vous rencontrez un flux vierge, vous devriez également le consulter.

          Étape 7: Entracte

          D'accord, donc à ce stade, nous devrions avoir notre Raspberry Pi opérationnel. Notre laser a été modifié pour une alimentation externe. Notre circuit de détection a été construit et vous avez confirmé que lorsque le faisceau laser frappe la photodiode, la LED s'éteint et lorsque vous brisez le faisceau, la LED doit s'allumer. Enfin, vous devriez avoir votre webcam connectée et fonctionnellement en streaming.

          Il est maintenant temps de tout assembler. Commençons simplement en essayant de détecter le déclenchement du faisceau laser avec un logiciel.

          Connectez le circuit de détection à la maquette comme indiqué. Assurez-vous de connecter le fil de signal du capteur à la broche 25 en vue de l'étape suivante. La résistance de tirage n'est pas facultative. J'avais un 10k qui traînait, mais n'importe quelle résistance devrait faire l'affaire.

          • Image
            Image

            Mise en page de la planche à pain avec PiCobler

          • Étape 8: Surveillez le laser avec le logiciel

            Écrivons un court programme pour écouter le signal laser et poster cette sortie sur le terminal. Vous pouvez télécharger le code en pièce jointe.

            Vous aurez probablement besoin d'installer les dépendances pour ce script. Python et le module gpio. Pour les installer, entrez

            sudo apt-get installer python-rpi.gpio python3-rpi.gpio

            Une fois que vous avez réussi l'installation de python, téléchargez le script python joint appelé read_pin.py et exécutez

            cd /répertoire où vous placez le fichier/chmod 777 read_pin.py

            La commande chmod donnera au script l'autorisation de s'exécuter. Ensuite, testez que tout va bien et dandy en exécutant

            sudo python3 read_pin.py

            Si tout se passe bien, vous devriez voir une sortie de console comme indiqué ci-dessous. Pour quitter le script python, entrez

            Ctrl-C

          • Image
            Image

            Corriger la sortie de la console (affichée à l'aide de MobaXterm)

          Agitez votre main devant le faisceau laser et vous devriez voir une sortie sur la console vous alertant que le faisceau a été interrompu. N'hésitez pas à jouer avec le script pour que votre système fonctionne de différentes manières.

          Étape 9: Créez une page Web pour afficher votre flux

          Nous devons maintenant configurer une interface de visualisation par webcam. Pour cette étape, vous devrez installer le serveur Web Apache. Il existe de nombreux tutoriels pour en configurer un. Mais voici la courte liste avec une configuration minimale.

          sudo apt-get installer apache2

          une fois installé vous devriez pouvoir taper dans votre navigateur sur le raspberry pi

          hôte local

          Vous devriez voir la page d'accueil d'apache. Si c'est la première fois que vous configurez un serveur Web, vous voudrez probablement configurer votre pi pour qu'il ait une adresse IP statique afin que votre routeur attribue toujours la bonne adresse IP si vous effectuez un cycle d'alimentation. Si vous souhaitez afficher votre système de sécurité à partir d'un autre emplacement, vous devrez configurer la redirection de port sur votre routeur. Cela fait un moment, mais je pense également que vous devrez également transférer tous les ports dotés d'une webcam. Il existe de nombreux tutoriels qui couvrent ces procédures. Sachez que n'importe qui peut voir votre webcam si vous choisissez de configurer la redirection de port sur votre routeur.

          Les fichiers joints sont des exemples de pages Web que vous pouvez utiliser pour configurer votre site Web. Vous devrez modifier l'extension de fichier sur le fichier html car ils ne me laisseraient pas le télécharger. Ensuite, placez les fichiers dans votre dossier www appelé dans votre fichier de configuration Apache. L'emplacement par défaut est

          cd /var/www

          Si vous souhaitez modifier l'emplacement où le serveur Web recherche vos fichiers html, vous pouvez modifier le fichier activé pour vos sites en entrant

          sudo nano /etc/apache2/sites-enabled/000-default

          Remplacez n'importe quelle instance de /var/www/ par l'emplacement de votre choix. J'ai mis le mien dans /home/pi/Desktop/www/

          Une fois que vous avez les fichiers html dans le dossier Web, entrez localhost dans le navigateur ou l'adresse IP du pi à partir d'un autre ordinateur. Vous devriez voir quelque chose comme ça.

          • Image
            Image

            Capture d'écran des fichiers joints en fonctionnement

          MAGNIFIQUE !

          Étape 10: Configurer les alertes par e-mail

          Il se passe de bonnes choses ! Tentons notre chance en essayant d'envoyer une alerte par e-mail du pi à une adresse e-mail prédéfinie. Le script python ci-joint créera l'e-mail que vous souhaitez envoyer, se connectera à un fournisseur de messagerie tel que gmail et enverra l'e-mail à l'aide du fournisseur de messagerie. Ceci est réalisé en utilisant le package smtp de python. Je vous suggère de créer une adresse e-mail factice juste pour votre système de sécurité, car nous devrons réduire la sécurité de votre compte gmail pour que le package smtp fonctionne.

          Vous devrez modifier le script à plusieurs endroits afin d'obtenir une transmission réussie. Il est fortement commenté et produira de nombreuses sorties sur le terminal pour votre commodité.

          Les choses que vous devrez changer seront

          • votre_ip = "192.168.0.177"
          • your_ip_optional_port = ":8080"
          • port_to_camera = ":8081"
          • send_email_username = "votre nom d'utilisateur de messagerie"
          • send_email_password = "votre mot de passe"

          your_ip_optional_port sera très probablement vide à moins que votre serveur apache ne s'exécute sur un port autre que le port par défaut 80. J'avais déjà un serveur fonctionnant sur 80, j'ai donc configuré mon pi pour qu'il s'exécute sur 8080. Le port_to_camera sera le port sur lequel vous spécifiez votre caméra exécuter en utilisant le streamer mjpeg.

          Une fois que vous avez modifié ces variables au début du script, exécutez le programme en entrant ce qui suit dans le terminal.

          cd /dossier où vous mettez le script/

          sudo python3 send_mail.py

          Si les étoiles sont correctement alignées et que toutes les variables sont correctes, vous devriez recevoir un e-mail similaire à celui ci-dessous.

          • Image
            Image

            Capture d'écran des fichiers joints en fonctionnement

          Il existe de nombreux endroits où ce script peut échouer. Ne soyez pas frustré si cela ne fonctionne pas du premier coup. Utilisez les points de débogage du script pour affiner les zones à problèmes, puis concentrez-vous sur un problème à la fois.

          Étape 11: Déclenchez le script d'e-mail lorsque le laser est déclenché

          Maintenant que le pi est capable d'envoyer des e-mails, automatisons-le pour qu'à chaque déclenchement du laser nous recevions un e-mail. Téléchargez le fichier joint qui est une version modifiée de read_pin.py qui contient une nouvelle fonction pour lancer le script de messagerie. La ligne supplémentaire principale est la suivante

          sm_pid = os.spawnlp(os. P_NOWAIT, "/usr/bin/python3", "python3", "/home/pi/Desktop/security/send_mail.py")

          Cette ligne lancera le script d'envoi de courrier en parallèle avec le script de détection laser. Ceci est souhaitable car le script d'envoi de courrier prend quelques secondes et empêcherait le script de détection laser de s'exécuter jusqu'à l'envoi de l'e-mail. Ce n'est pas un problème pour un système à une seule caméra, mais si vous aviez plusieurs caméras, vous voudriez détecter un déclenchement laser sur la caméra 1 même si la caméra 2 a déclenché un événement de courrier électronique. La variable sm_pid contiendra le pid du processus qui est lancé par cette commande. Nous vérifions cet identifiant si le déclencheur d'e-mail est à nouveau appelé s'il existe, l'e-mail est toujours en cours d'envoi, nous ignorons donc l'événement. S'il n'existe pas, il s'agit probablement d'un nouvel événement et un e-mail est envoyé.

          Testez tout fonctionne en exécutant

          cd /répertoire où vous placez le fichier/

          chmod 777 read_pin_with_mail.py

          sudo python3 read_pin_with_mail.py

          Lorsque vous brisez le faisceau laser, vous devriez recevoir un e-mail avec l'instantané pris à partir de la webcam.

          Étape 12: créez un script principal pour lancer le système

          À ce stade, le projet est en grande partie terminé. Une dernière étape consiste à simplifier le démarrage du système avec un dernier script. Il lancera tous les sous-programmes et configurera la webcam avec un seul script. Le fichier joint peut être lancé au démarrage en éditant votre fichier /etc/rc.local. Vous devez modifier l'extension de fichier et peut-être devoir modifier le script pour inclure les chemins appropriés si vous placez vos scripts dans un emplacement différent.

          Étape 13: Conclusion

          Eh bien c'est ça. J'espère que vous avez apprécié cette instructable ! Faites-moi savoir dans les commentaires si vous avez des questions ou avez besoin d'informations plus détaillées dans n'importe quel domaine. Continuez à bricoler !

          • Image
            Image

    Conseillé: