Table des matières:

Système d'alarme à détection de mouvement : 11 étapes (avec photos)
Système d'alarme à détection de mouvement : 11 étapes (avec photos)

Vidéo: Système d'alarme à détection de mouvement : 11 étapes (avec photos)

Vidéo: Système d'alarme à détection de mouvement : 11 étapes (avec photos)
Vidéo: Détecteur de mouvement avec photo à la demande | AJAX MotionCam PhOD 2024, Juillet
Anonim
Système d'alarme de détection de mouvement
Système d'alarme de détection de mouvement

Noter! Les blocs réactifs ne sont plus disponibles au téléchargement. Une caméra USB de base peut être utilisée pour détecter un mouvement dans une pièce. Dans les étapes suivantes, nous allons vous montrer comment utiliser les blocs réactifs pour programmer une application Java prête à l'emploi qui envoie des SMS ou des e-mails lorsqu'un mouvement est détecté. Avec Reative Blocks, vous créez des applications Java SE afin que l'application d'alarme puisse être déployée sur n'importe quelle machine avec Java SE et une caméra connectée ou intégrée. L'application est facilement déployée sur le Pi puisque la version Raspbian a Oracle Java pré-installé..

Voici ce dont vous avez besoin:

  1. Raspberry Pi modèle B+ avec OS Raspbian
  2. Caméra USB standard
  3. câble Ethernet
  4. Écran et clavier pour le Pi
  5. Ordinateur Windows ou MAC avec JDK
  6. Noter! Les blocs réactifs ne sont plus disponibles au téléchargement. Vous aurez besoin de Reactive Blocks, un plugin Eclipse, pour programmer l'application.

Cette application d'alarme est l'un des nombreux exemples de systèmes modifiables accessibles après l'installation des blocs réactifs. L'application est prête à l'emploi et vous n'aurez besoin d'aucune compétence en programmation Java pour terminer le didacticiel. Pour créer vos propres applications et blocs de construction Reactive Blocks, vous devez être un programmeur Java compétent. Lors de la création d'applications plus complexes avec plusieurs capteurs et actionneurs, les blocs réactifs facilitent l'obtention de la logique et du flux de données. Reactive Blocks est gratuit pour les projets open source.

Étape 1: Installer les blocs réactifs

Les blocs réactifs ont été abandonnés

Étape 2: Téléchargez l'application à partir des bibliothèques

Télécharger l'application depuis les bibliothèques
Télécharger l'application depuis les bibliothèques

Assurez-vous que vous avez ouvert la perspective Blocs réactifs et que vous êtes dans la vue Blocs. Dans la vue Blocs, sélectionnez le bouton Importer et choisissez Applications de référence. Sélectionnez le projet Détection de mouvement. À ce stade, il vous sera demandé de vous inscrire avec un identifiant Google. Cela vous donnera un accès immédiat aux bibliothèques de blocs de construction et aux systèmes et didacticiels modifiables.

Le projet de détection de mouvement que vous avez téléchargé comprend trois applications, le SMS du système d'alarme, le courrier électronique du système d'alarme et une application de test, le test de détection de mouvement. Dans ce tutoriel, nous vous guidons à travers le SMS du système d'alarme. Si vous préférez envoyer un e-mail, vous pouvez faire les mêmes étapes avec l'e-mail du système d'alarme

Étape 3: L'application au plus haut niveau

L'application au plus haut niveau
L'application au plus haut niveau

Cette étape donne une explication de l'application. La première image montre le diagramme de ce à quoi ressemble l'application complète au niveau supérieur. Il est composé de 7 blocs de construction; 5 blocs de construction standard des bibliothèques et 2 blocs personnalisés qui ont été créés pour cette application.

Les blocs standard de la bibliothèque IoT sont:

  • Grabber, récupère les images de la caméra USB
  • Détection de mouvement, effectue la détection d'image réelle
  • Minuterie périodique, démarre à des horodatages précis et envoie un signal sur la coche à chaque période.
  • Buffer Eager, repousse automatiquement le premier élément de la file d'attente. Le tampon garantit qu'un seul message est envoyé au bloc SMS Send puisqu'il ne peut traiter qu'un message à la fois.
  • SMS Send Buffered, envoie des SMS via le service Twilio. Les éléments à envoyer sont mis en mémoire tampon pour garantir qu'un seul message est envoyé à la fois.
  • Limiteur, pour éviter trop de SMS lorsqu'un intrus est détecté.
  • Lire le fichier de propriétés Java, lit les données de configuration à partir du fichier d'entrée
  • Afficher, affiche une image à l'écran.

Le bloc Periodic Timer fonctionne comme un moteur système. Il émettra périodiquement une coche qui enverra un signal au bloc Grabber via la goupille de saisie. Le bloc Grabber utilise l'analyse multimédia intelligente ouverte pour Java, OpenIMAJ. Lorsque le bloc est initialisé, un thread séparé est lancé pour lire les données de la caméra. Le thread écoute une file d'attente de commandes. Lorsque le bloc reçoit une commande via la goupille de saisie, il prend une photo et la livre sur la goupille d'image.

L'image est ensuite transmise au bloc de détection de mouvement qui effectue la détection d'image réelle. Le bloc de détection de mouvement utilise également OpenIMAJ. Une méthode dans ce bloc compare deux images et signale les changements d'image lorsqu'un mouvement est détecté. La méthode est très gourmande en CPU et doit être exécutée dans un thread séparé. Lorsqu'une image est détectée, elle est signalée sur la broche motionDetected qui déclenchera la génération d'un message SMS.

Les cases bleu clair sont toutes des méthodes Java spécialement conçues pour cette application. Cliquer sur un bloc de méthode ouvre l'éditeur Java.

Lorsque vous cliquez sur un bloc de construction, vous pouvez voir les détails de la logique à l'intérieur du bloc. Si vous regardez par exemple à l'intérieur du bloc ReadConfig, vous verrez qu'il est créé en combinant un bloc de construction existant et 4 méthodes Java.

Le limiteur met une limite sur la quantité de messages générés. Remarquez le P dans le coin droit du bloc de construction. Il indique que vous pouvez définir le mini-intervalle de temps pendant lequel l'application doit attendre avant d'envoyer un nouveau SMS. Le réglage par défaut est 300000ms, soit 5 minutes. Pour changer la valeur. Faites un clic droit sur le bloc et choisissez paramètres et génériques.

Étape 4: Activer les SMS

Activer les SMS
Activer les SMS

Cette application d'alarme utilise Twilio comme service SMS. Pour activer SMS, vous devez éditer le fichier config/alarm-system.properties. Vous pouvez le trouver dans la vue de l'explorateur de packages sous br.ref.motiondetection, voir l'image.

Ce fichier est le même que celui utilisé dans le courrier électronique du système d'alarme. Si vous préférez recevoir des notifications par e-mail, vous utiliserez cette application et modifierez le fichier avec vos identifiants de messagerie.

Si vous n'avez pas le service Twilio, vous pouvez modifier l'application pour utiliser votre propre service SMS. Nous avons également un bloc de construction prêt à l'emploi pour le service Clickatell. Ou vous pouvez connecter un modem pour envoyer des SMS.

Vous pouvez trouver des blocs de construction pour la messagerie SMTP, AirVantage Cloud, IBM Bluemix et Xively pour n'en nommer que quelques-uns.

Notez que pour apporter des modifications, vous devez d'abord créer votre propre projet. Copiez/dupliquez ensuite l'application dans votre projet nouvellement créé. Vous pouvez voir comment cela se fait ici:

N'hésitez pas à me contacter si vous avez besoin d'aide

Étape 5: créez et exécutez l'application sur votre ordinateur portable

Créez et exécutez l'application sur votre ordinateur portable
Créez et exécutez l'application sur votre ordinateur portable

Vous devez créer l'application avant de l'exécuter et la déployer sur le Raspberry Pi. Cela se fait à l'aide du générateur de code Reactive Blocks qui crée un projet Java complet à partir de la structure des blocs de construction. Le code qui représente les diagrammes est le code de synchronisation qui gère les événements dans le bon ordre et au bon moment, et représente généralement plus de 60 % des lignes du code de votre programme. Étant donné que les blocs de construction sont des structures mathématiques précises, le générateur peut transformer cette logique en un code très efficace. C'est une très bonne fonctionnalité de blocs réactifs car écrire un tel code manuellement est fastidieux et difficile. Pour générer le code, voici tout ce que vous devez faire:

Cliquez avec le bouton droit sur le projet Alarm System SMS sous l'onglet Projects et sélectionnez Java standard edition. Assurez-vous que les informations de connexion sont INFO. Le projet généré s'ouvrira alors automatiquement sous l'onglet Explorateur de packages. Voir la figure pour plus de détails.

Étape 6: Exécutez l'application sur votre ordinateur

Exécutez l'application sur votre ordinateur
Exécutez l'application sur votre ordinateur
Exécutez l'application sur votre ordinateur
Exécutez l'application sur votre ordinateur

Vous pouvez maintenant exécuter le projet généré. Dans la vue Explorateur de packages sous le projet _exe généré, cliquez avec le bouton droit sur AlarmSystemSMS.launch et sélectionnez RunAs, puis choisissez AlarmSystemSMS.

Regardez la fenêtre à l'écran et la vue de la console. Devrait ressembler à la deuxième photo.

Terminez l'application en fermant la fenêtre de la caméra.

Pour l'application d'envoi d'e-mails: si vous obtenez une erreur d'authentification, assurez-vous que l'envoi SMTP est autorisé pour votre e-mail. Voir le dépannage au bas du didacticiel par e-mail:

Étape 7: Exporter en tant que fichier JAR exécutable

Exporter en tant que fichier JAR exécutable
Exporter en tant que fichier JAR exécutable

Si vous souhaitez exécuter l'application sur un Raspberry Pi, l'étape suivante consiste à exporter le projet généré dans un fichier JAR exécutable. Pour ce faire, faites un clic droit sur le projet exécutable dans la vue de l'explorateur de packages et choisissez exporter. Sélectionnez ensuite l'option Fichier JAR exécutable et cliquez sur Suivant. Dans la fenêtre suivante, sélectionnez la configuration de lancement appropriée et la destination d'exportation. Dans la destination d'exportation, utilisez le bouton Parcourir pour pouvoir placer le fichier.jar à un endroit où vous pouvez le trouver.

Étape 8: Préparez votre Raspberry Pi

  • Préparez la carte SD avec Raspbian (nous avons testé avec NOOBS)
  • Insérez la carte SD dans le Raspberry pi
  • Connectez la caméra
  • Connecter le réseau
  • Connectez un écran et un clavier au Pi
  • Démarrez le Raspberry pi en connectant le micro USB pour l'alimentation.
  • Découvrez l'adresse IP de votre Raspberry Pi. Au démarrage, votre Raspberry Pi rapportera quelque chose comme "Mon adresse IP est 10.10. 15.107"
  • Nous avons testé avec Raspbian (identifiant par défaut: pi, mot de passe: raspberry), qui inclut Java par défaut.

Étape 9: Déployez l'application sur votre Raspberry Pi

Pour copier le fichier jar exécutable de votre ordinateur vers le Rapsberry Pi, procédez comme suit:

  • Ouvrez un terminal sur votre machine
  • Allez dans le répertoire où se trouve le fichier JAR généré
  • Tapez scp alarmsystem.jar [email protected]:~/
  • La combinaison du mot de passe vous sera demandée. "pi" est le nom d'utilisateur par défaut et "raspberry" le mot de passe par défaut
  • Accédez au répertoire où se trouve le fichier de configuration alarm_system.properties. Le plus simple pour moi est de copier manuellement le fichier de l'éditeur Eclipse dans le même répertoire que le fichier jar.
  • Tapez scp motiondetection.ini [email protected]:~/

10.10.15.107 est l'adresse IP, remplacez-la par l'adresse IP de votre Raspberry Pi.

- Vous pouvez bien sûr également utiliser une clé USB pour la copier sur le Pi

Étape 10: Exécutez l'application sur votre Raspberry Pi

Vous êtes maintenant prêt à exécuter l'application.

  • Connectez-vous au Raspberry Pi directement ou à distance via ssh.
  • Créez un nouveau répertoire de configuration: mkdir config
  • Vérifiez si le fichier JAR exécutable et le.ini ont été copiés sur le Raspberry Pi
  • Déplacez le fichier.ini dans le répertoire config: mv alarm_system.properties config/
  • Tapez sudo java -jar alarmsystem.jar
  • Regardez la sortie sur la console
  • Terminer avec ^C

Étape 11: Modifiez votre application

Vous pouvez maintenant modifier et étendre votre application à votre guise. Si vous souhaitez étendre un système importé comme ce système d'alarme, vous devez d'abord créer votre propre projet et dupliquer le système d'alarme dans votre propre projet.

Notez que pour apporter des modifications, vous devez d'abord créer votre propre projet. Copiez/dupliquez ensuite l'application dans votre projet nouvellement créé. Vous pouvez voir comment cela se fait ici:

Suivez le parcours didactique IoT pour obtenir des descriptions étape par étape sur la façon de créer ou de modifier des applications de blocs réactifs spécifiques.

Conseillé: