Table des matières:
- Étape 1: Composants requis
- Étape 2: Création d'un périphérique distant
- Étape 3: Logiciels et bibliothèques
- Étape 4: Utilisation de SSH et installation des bibliothèques
- Étape 5: protocole Bluetooth
- Étape 6: Utilisation de Mezzanine sur DragonBoard 410c
- Étape 7: Logiciel DragonBoard 410c
Vidéo: Détecter les situations d'urgence - Qualcomm Dragonboard 410c : 7 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
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
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
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
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é:
Détecter les vibrations à l'aide d'un module de capteur de choc piézoélectrique : 6 étapes
Détecter les vibrations à l'aide d'un module de capteur de choc piézoélectrique : dans ce didacticiel, nous allons apprendre à détecter les vibrations de choc à l'aide d'un simple module de vibration de capteur piézoélectrique et Visuino.Regardez une vidéo de démonstration
Raspberry Pi DIY Smart Doorbell qui peut détecter les gens, les voitures, etc.: 5 étapes
Sonnette intelligente DIY Raspberry Pi pouvant détecter les personnes, les voitures, etc. Nest, ou l'un des autres concurrents) J'ai construit notre propre porte intelligente
Détecter les obstacles de manière asynchrone avec les ultrasons : 4 étapes
Détecter les obstacles de manière asynchrone avec les ultrasons : je construis pour le plaisir un robot que je veux déplacer de manière autonome à l'intérieur d'une maison. C'est un long travail et je fais étape par étape. Cette mise au point instructable sur la détection des obstacles avec Arduino Mega. Les capteurs à ultrasons HC-SR04 vs HY-SRF05 sont bon marché et
Banque d'alimentation d'urgence - DIY Toolbox Solar : Radio + Chargeur + Lumière d'urgence ! : 4 étapes
Banque d'alimentation d'urgence - DIY Toolbox Solar : Radio + Chargeur + Lumière d'urgence ! Comme expérience je peux dire que j'ai servi pour recharger des téléphones et écouter la radio. Une vieille boite à outils ? un vieux haut-parleur de pc ? une batterie 12 volts inutilisée ? Vous pouvez faire
Gérez 100 appareils dans les applications, les organisations, les rôles et les utilisateurs Ubidots : 11 étapes
Gérer 100 appareils dans les applications, les organisations, les rôles et les utilisateurs d'Ubidots : à cette occasion, j'ai décidé de tester la fonctionnalité de la plate-forme IoT Ubidots pour la gestion des utilisateurs dans le cas où elle aurait de nombreux appareils pour plusieurs organisations ou entreprises sous la même Plateforme Ubidots. Information du maire : vous