Table des matières:

Détecter les situations d'urgence - Qualcomm Dragonboard 410c : 7 étapes
Détecter les situations d'urgence - Qualcomm Dragonboard 410c : 7 étapes

Vidéo: Détecter les situations d'urgence - Qualcomm Dragonboard 410c : 7 étapes

Vidéo: Détecter les situations d'urgence - Qualcomm Dragonboard 410c : 7 étapes
Vidéo: QUALCOMM MIRACLE BOX : COMMENT RÉINITIALISER UN TÉLÉPHONE ANDROID VIVO Y66 2024, Novembre
Anonim
Détection des situations d'urgence - Qualcomm Dragonboard 410c
Détection des situations d'urgence - Qualcomm Dragonboard 410c
Détection des situations d'urgence - Qualcomm Dragonboard 410c
Détection des situations d'urgence - Qualcomm Dragonboard 410c
Détection des situations d'urgence - Qualcomm Dragonboard 410c
Détection des situations d'urgence - Qualcomm Dragonboard 410c

En recherchant des systèmes de sécurité qui travaillent à surveiller les situations d'urgence, il est possible de remarquer qu'il est trop difficile de traiter toutes les informations enregistrées. En pensant à cela, nous avons décidé d'utiliser nos connaissances en traitement audio/image, capteurs et actionneurs pour créer un système complet qui permet de prédire les situations où la vie des personnes est en danger.

Ce projet possède un capteur local et des appareils distants pour collecter des données et les envoyer au dragonboard, qui dispose d'une puissance de traitement capable d'extraire des informations importantes à partir des données reçues.

L'appareil distant est une carte Arduino avec un module HC-06 tournant possible pour transférer toutes les informations, et un large réseau à faible coût capable de traiter une grande quantité de données.

Étape 1: Composants requis

Tout d'abord, vous devez décider quels capteurs et actionneurs vous allez utiliser, et faire le croquis d'architecture.

Dans notre cas, nous utilisons ces capteurs connectés dans ARDUINO Pro Mini, répertoriés ci-dessous:

  • PIR (Infrarouge Passif -- Capteur de présence)
  • DHT 11 (Capteur d'humidité et de température)
  • Capteur de CO (capteur de monoxyde de carbone)
  • Capteur de bruit

Actionneurs:

  • servomoteur
  • buzzer

La communication:

Module Bluetooth HC-06

Pour la Dragonboard 410c, nous aurons des capteurs et des logiciels pour traiter toutes les entrées de données:

Capteurs:

  • DHT 11
  • Capteur de lumière solaire

Actionneurs:

  • Relais
  • État de la LED
  • Buzzer

Étape 2: Création d'un périphérique distant

Faire un périphérique distant
Faire un périphérique distant

Il est maintenant temps de connecter tous les composants suivants à la carte Arduino, en créant un appareil qui recevra les données de l'ambiance (bruit, humidité, température, etc.) et les enverra à la Dragonboard par le module Bluetooth HC-06.

Il faut faire attention aux connexions, car tous les capteurs ont des endroits spécifques pour se connecter.

Sur le système, il est possible d'avoir plus d'un appareil pour collecter des données. Plus vous avez installé d'appareils dans l'environnement, plus les diagnostics générés par le traitement des données sont précis. Puisqu'il sera possible d'extraire un plus large éventail d'informations qui peuvent être utiles.

Nous avons décidé d'utiliser une carte arduino car elle a plus de capteurs compatibles, et il est possible d'installer ces appareils distants à différents endroits, en collectant plus d'informations.

L'appareil local est la DragonBoard 410c, qui traite les informations audio, vidéo, numériques et analogiques avec votre puissant processeur SnapDragon 410.

Placement des composants (Remote Devide)

Une pièce contient des broches qui doivent être connectées aux bonnes broches de la mini-carte arduino pro.

Le module Bluetooth HC-06 possède 4 broches:

  • TX (Transmissor) -> connecté sur la broche du RX Arduino
  • RX (Récepteur) -> connecté sur la broche du TX Arduino
  • VCC -> connecté sur le 5v
  • GND

Le capteur DHT 11 a 4 broches (mais seulement 3 en cours d'utilisation):

  • Signal -> connecté sur une broche numérique
  • VCC -> connecté sur le 5v
  • GND

Le capteur PIR a 3 broches:

  • Signal -> connecté sur une broche numérique
  • VCC -> connecté sur le 5v
  • GND

Le capteur de gaz (MQ) a 4 broches:

  • Digital OUT -> connecté sur une broche numérique (si vous voulez une information numérique)
  • Analog OUT -> dans notre cas, nous l'utilisons connecté sur une broche analogique
  • VCC -> connecté sur le 5v
  • GND

Le capteur de bruit (KY-038) a 3 broches:

  • Signal -> connecté sur une broche analogique
  • VCC -> connecté sur le 5v
  • GND

Code pour périphérique distant Arduino:

/* * Arduino envoie des données via Blutooth * * Les valeurs des capteurs sont lues, concaténées sur * String et envoyées via le port série. */ #include "DHT.h" #define DHTPIN 3 #define DHTTYPE DHT22 #define PIRPIN 9 #define COPIN A6 DHT dht(DHTPIN, DHTTYPE); flotteur humidité, température; booléen pir = 0; int co, micro; String msg = ""; char nome[40]; void setup() { Serial.begin(9600); dht.begin(); } boucle vide() { humidité = dht.readHumidity(); température = dht.readTemperature(); pir = digitalRead(PIRPIN); co = lecture analogique(COPIN); micro = lecture analogique (A0); msg = "#;" +String(humidité) + ";" + Chaîne(température) +";"+ Chaîne(mic) +";"+ Chaîne(pir)+ ";" + Chaîne(co) + ";#" +"\n"; Serial.print(msg); retard (2000); }

Explication du code:

Toutes les broches utilisées dans l'Arduino sont citées au début du code et les bibliothèques respectives nécessaires au fonctionnement des capteurs sont initialisées. Toutes les données seront transmises aux variables respectives qui recevront les valeurs lues de chaque capteur toutes les 2000 millisecondes, puis toutes sont concaténées dans une chaîne, puis elles sont écrites en série. De là, il est très facile du code pyton présent dans le DragonBoard pour capturer de telles données.

Étape 3: Logiciels et bibliothèques

Pour traiter toutes les données reçues et contrôler le système de sécurité, il est nécessaire d'utiliser certains logiciels et bibliothèques dans le Qualcomm DragonBoard 410c.

Dans ce projet spécifique, nous utilisons:

Logiciels:

  • Python
  • Arduino

Plateformes:

  • Amazon AWS -> serveur en ligne
  • Phant -> Service de données d'hôte

Bibliothèques:

  • OpenCV - Traitement vidéo (https://opencv-python-tutroals.readthedocs.io/en/latest/)
  • PyAudio - Traitement audio (https://people.csail.mit.edu/hubert/pyaudio/)
  • Vague (https://www.physionet.org/physiotools/wave-installation.shtm)
  • AudioOp (https://docs.python.org9https://scikit-learn.org/stable/install.html/2/library/audioop.html)
  • Numpy (https://www.numpy.org)
  • SciKit1 - Former et prédire le machine learning (https://scikit-learn.org/stable/install.html)
  • cPickle - Enregistrez les paramètres d'apprentissage automatique (https://pymotw.com/2/pickle/)
  • MRAA - Utilisez les GPIO (https://iotdk.intel.com/docs/master/mraa/python/)
  • UPM - Utilisez les GPIO (https://github.com/intel-iot-devkit/upm)
  • PySerial - À utiliser pour la communication série avec un périphérique Bluetooth (https://pythonhosted.org/pyserial/)

Étape 4: Utilisation de SSH et installation des bibliothèques

Tout d'abord, vous devez obtenir l'adresse IP du Dragonboard, pour ce faire, vous devez allumer le DragonBoard connecté avec une souris, un clavier et un moniteur HDMI. Lorsque la carte est allumée, vous devez vous connecter à un réseau, puis vous allez au terminal et exécutez la commande:

sudo ifconfig

après cela, vous pouvez obtenir l'adresse IP.

Avec l'adresse IP, vous pouvez accéder à la Dragonboard via SHH, pour ce faire, vous devez ouvrir un terminal dans un ordinateur connecté au même réseau que la carte. Dans le terminal, vous pouvez exécuter la commande:

ssh linaro@{IP}

(vous devez remplacer {IP} par l'adresse IP que vous obtenez dans le Dragonboard).

La première bibliothèque que vous devez installer est la bibliothèque mraa. Pour ce faire, vous devez exécuter la commande suivante dans le terminal:

sudo add-apt-repository ppa:mraa/mraa && sudo apt-ge;t update && sudo apt-get install libmraa1 libmraa-dev mraa-tools python-mraa python3-mraa

Pour installer opencv pour python, il vous suffit d'exécuter la commande:

sudo apt-get installer python-opencv

Pour installer PyAudio, vous devez exécuter la commande:

sudo apt-get installer python-pyaudio python3-pyaudio

Les bibliothèques WAVE et AudioOp sont déjà installées dans la carte. Pour installer numpy, vous devez exécuter la commande:

sudo apt-get installer python-numpy python-scipy

La dernière bibliothèque que vous devez installer est le scikit, pour l'installer, vous devez avoir installé pip. Ensuite, il vous suffit d'exécuter la commande:

pip installer scikit-lear

Étape 5: protocole Bluetooth

Protocole Bluetooth
Protocole Bluetooth
Protocole Bluetooth
Protocole Bluetooth
Protocole Bluetooth
Protocole Bluetooth

Connexion DragonBoard avec l'Arduino via Bluetooth

Le module Bluetooth (HC-06) était initialement connecté à l'Arduino Nano selon l'exemple suivant:

À l'aide de l'interface graphique Linaro (Système d'exploitation utilisé dans le projet en cours dans DragonBoard), sur le côté droit de la barre inférieure, cliquez sur le symbole Bluetooth, puis cliquez sur "Configurer un nouvel appareil" et configurez avec votre module Bluetooth en le laissant jumelé. Vérifiez que votre module est bien connecté en cliquant à nouveau sur le symbole Bluetooth, cliquez sur « Appareils… » et voyez si le nom de votre appareil est répertorié et connecté. Sélectionnez maintenant votre appareil dans l'écran "Périphériques Bluetooth" et faites un clic droit dessus et notez le port auquel votre module Bluetooth est connecté (ex.: "rfcomm0"). Remarque: le nom du port auquel votre appareil est connecté sera important pour l'étape suivante afin d'activer l'échange de données.

Établir l'échange de données DragonBoard et Bluetooth

En gros nous suivons pas à pas le lien: https://www.uugear.com/portfolio/bluetooth-communi… mais nous n'avons pas effectué la partie de l'appairage uniquement l'exécution des codes python et Arduino. En python a été utilisé la bibliothèque série qui est initialisée dans le port connecté au bluetooth, donc le code python lit les données des capteurs qui sont connectés à l'arduino via le module bluetooth.

Étape 6: Utilisation de Mezzanine sur DragonBoard 410c

Utiliser Mezzanine sur DragonBoard 410c
Utiliser Mezzanine sur DragonBoard 410c

Pour faire les connexions entre le dragonboard et les composants, nous utilisons un type de bouclier appelé par Mezannine, développé par 96boards.

En utilisant ce blindage, connecter des périphériques devient beaucoup plus facile.

Les connecteurs utilisés proviennent du kit de développement du bosquet, il s'agit donc simplement d'un câble spécifique qui se connecte dans les deux sens, Toutes les pièces peuvent être facilement trouvées sur ce site:

Nous utilisons ces kits ci-dessous:

  • Relais du bosquet
  • Capteur de lumière du soleil Grove
  • Prise led Grove
  • Capteur de température et d'humidité Grove
  • Avertisseur sonore Grove

Étape 7: Logiciel DragonBoard 410c

La partie du programme dans le DragonBoard a été codée en Python et le programme utilisé sur l'Arduino a été développé en C++. Toutes les 2 minutes, l'Arduino lit tous les capteurs qui y sont attachés. Que l'Arduino envoie la lecture au DragonBoard par Bluetooth. Le DragonBoard combine la lecture provenant de l'Arduino avec la lecture qu'il fait par le bouclier Mezzanine avec les caractéristiques des échantillons audio et vidéo.

Avec ces données, le Conseil essaie de prédire s'il se produit une situation d'urgence. Le Conseil envoie au service Web d'Amazon à l'aide du Phant les données brutes et la prédiction qu'il a faite. Si le tableau prédit qu'il se produit une situation étrange, il essaie d'avertir l'utilisateur en faisant clignoter une led et un buzzer dans la mezzanine et s'affiche sur l'application Web. Dans l'application Web, il est également possible de voir les données brutes pour comprendre ce qui se passe dans ce domaine.

Conseillé: