Taula de continguts:
- Pas 1: components necessaris
- Pas 2: fabricació de dispositius remots
- Pas 3: programes i biblioteques
- Pas 4: utilitzar SSH i instal·lar Libs
- Pas 5: protocol Bluetooth
- Pas 6: utilitzar Mezzanine a DragonBoard 410c
- Pas 7: programari DragonBoard 410c
Vídeo: Detecció de situacions emergents: Qualcomm Dragonboard 410c: 7 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:11
A la recerca de sistemes de seguretat que treballin per supervisar situacions d’emergència, és possible notar que és massa difícil processar tota la informació registrada. Pensant en això, vam decidir utilitzar els nostres coneixements en processament d’àudio / imatge, sensors i actuadors per crear un sistema complet que faci possible predir situacions en què la vida de les persones està en perill.
Aquest projecte té un sensor local i dispositius remots per recopilar dades i enviar-les al dragonboard, que té un poder de processament capaç d’extreure informació important de les dades rebudes.
El dispositiu remot és una placa Arduino amb un mòdul HC-06 que pot girar per transferir tota la informació i una xarxa ampla de baix cost capaç de processar gran quantitat de dades.
Pas 1: components necessaris
Primer de tot, heu de decidir quins sensors i actuadors utilitzeu i fer l'esbós de l'arquitectura.
En el nostre cas, utilitzem aquests sensors connectats a ARDUINO Pro Mini, que es detallen a continuació:
- PIR (infraroig passiu - sensor de presència)
- DHT 11 (sensor d'humitat i temperatura)
- Sensor de CO (sensor de monòxid de carboni)
- Sensor de soroll
Actuadors:
- servo motor
- buzzer
Comunicació:
Mòdul Bluetooth HC-06
Al Dragonboard 410c, tindrem alguns sensors i programes per processar totes les entrades de dades:
Sensors:
- DHT 11
- Sensor de llum solar
Actuadors:
- Relleu
- Estat del led
- Buzzer
Pas 2: fabricació de dispositius remots
Ara és hora de connectar tots els components següents a la placa Arduino, creant un dispositiu que rebrà les dades de l’ambient (soroll, humitat, temperatura, etc.) i enviar-los al Dragonboard mitjançant el mòdul bluetooth HC-06.
Cal parar atenció a les connexions, perquè tot el sensor té llocs específics per connectar-se.
Al sistema, és possible tenir més d’un dispositiu per recopilar dades. Com més dispositius tingueu instal·lats a l’entorn, més precís serà el diagnòstic generat pel processament de dades. Ja que serà possible extreure una gamma més àmplia d'informació que pugui ser útil.
Vam decidir utilitzar una placa arduino perquè té sensors més compatibles i és possible instal·lar aquests dispositius remots a diferents llocs, recopilant més informació.
El dispositiu local és el DragonBoard 410c, que processa informació d’àudio, vídeo, digital i analògica amb el vostre potent processador SnapDragon 410.
Col·locació dels components (Remote Devide)
En una sola peça hi ha alguns pins que cal connectar als pins de la dreta de la placa mini arduino pro.
El mòdul Bluetooth HC-06 té 4 pins:
- TX (transmissor) -> connectat al pin del RX Arduino
- RX (receptor) -> connectat al pin del TX Arduino
- VCC -> connectat al 5v
- GND
El sensor DHT 11 té 4 pins (però només 3 en ús):
- Senyal -> connectat en un pin digital
- VCC -> connectat al 5v
- GND
El sensor PIR té 3 pins:
- Senyal -> connectat en un pin digital
- VCC -> connectat al 5v
- GND
El sensor de gas (MQ) té 4 pins:
- Digital OUT -> connectat en un pin digital (si voleu informació digital)
- Analog OUT -> en el nostre cas, ho fem servir connectat en un pin analògic
- VCC -> connectat al 5v
- GND
El sensor de soroll (KY-038) té 3 pins:
- Senyal -> connectat en un pin analògic
- VCC -> connectat al 5v
- GND
Codi del dispositiu remot Arduino:
/ * * Arduino envia dades a través de Blutooth * * El valor dels sensors es llegeix, concatenat a * String i s’envia mitjançant un port sèrie. * / #include "DHT.h" #define DHTPIN 3 #define DHTTYPE DHT22 #define PIRPIN 9 #define COPIN A6 DHT dht (DHTPIN, DHTTYPE); humitat flotant, temperatura; pir booleà = 0; int co, mic; String msg = ""; char nome [40]; configuració nul·la () {Serial.begin (9600); dht.begin (); } void loop () {humitat = dht.readHumidity (); temperatura = dht.readTemperature (); pir = DigitalRead (PIRPIN); co = analogRead (COPIN); mic = analogRead (A0); msg = "#;" + String (humidaty) + ";" + Cadena (temperatura) + ";" + Cadena (micròfon) + ";" + Cadena (pir) + ";" + String (co) + "; #" + "\ n"; Serial.print (msg); endarreriment (2000); }
Explicació del codi:
Tots els pins utilitzats a l'Arduino es citen al començament del codi i s'inicialitzen les respectives llibreries necessàries per al funcionament dels sensors. Totes les dades es passaran a les variables respectives que rebran els valors llegits de cada sensor cada 2000 mil·lisegons, i després es concatenen en una cadena, i després s’escriuen en sèrie. A partir d’aquí és molt fàcil capturar aquestes dades amb el codi pyton present al DragonBoard.
Pas 3: programes i biblioteques
Per processar totes les dades rebudes i controlar el sistema de seguretat, cal utilitzar alguns programes i biblioteques del Qualcomm DragonBoard 410c.
En aquest projecte específic estem utilitzant:
Programes:
- Python
- Arduino
Plataformes:
- Amazon AWS -> servidor en línia
- Phant -> Servei de dades d'amfitrió
Biblioteques:
- OpenCV: processament de vídeo (https://opencv-python-tutroals.readthedocs.io/en/latest/)
- PyAudio: processament d'àudio (https://people.csail.mit.edu/hubert/pyaudio/)
- Wave (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: entrenar i predir l'aprenentatge automàtic (https://scikit-learn.org/stable/install.html)
- cPickle: deseu els paràmetres d'aprenentatge automàtic (https://pymotw.com/2/pickle/)
- MRAA: utilitzeu els GPIO (https://iotdk.intel.com/docs/master/mraa/python/)
- UPM: utilitzeu els GPIO (https://github.com/intel-iot-devkit/upm)
- PySerial: s'utilitza per a la comunicació en sèrie amb un dispositiu Bluetooth (https://pythonhosted.org/pyserial/)
Pas 4: utilitzar SSH i instal·lar Libs
Primer de tot, heu d’obtenir l’adreça IP del Dragonboard, per fer-ho, heu d’engegar el DragonBoard connectat amb un ratolí, un teclat i un monitor HDMI. Quan el tauler estigui encès, heu de connectar-vos a una xarxa, que aneu al terminal i executeu l'ordre:
sudo ifconfig
després podeu obtenir l'adreça IP.
Amb l'adreça IP podeu accedir al Dragonboard mitjançant SHH, per fer-ho, cal que obriu un terminal en un ordinador connectat a la mateixa xarxa que la placa. Al terminal podeu executar l'ordre:
ssh linaro @ {IP}
(hauríeu de substituir {IP} per l'adreça IP que obtingueu a Dragonboard).
La primera lib que heu d’instal·lar és la lib mraa. Per fer-ho, cal que executeu l'ordre següent al 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
Per instal·lar opencv per a python només heu d'executar l'ordre:
sudo apt-get install python-opencv
Per instal·lar PyAudio heu d'executar l'ordre:
sudo apt-get install python-pyaudio python3-pyaudio
Les libs WAVE i AudioOp ja estan instal·lades a la placa. Per instal·lar numpy cal que executeu l'ordre:
sudo apt-get install python-numpy python-scipy
L'última lib que heu d'instal·lar és l'scikit, per instal·lar-lo cal que tingueu instal·lat pip. Només cal que executeu l'ordre:
pip instal·lar scikit-lear
Pas 5: protocol Bluetooth
Connexió DragonBoard amb l'Arduino mitjançant Bluetooth
El mòdul Bluetooth (HC-06) es va connectar inicialment a l'Arduino Nano segons l'exemple següent:
Mitjançant la interfície gràfica Linaro (sistema operatiu utilitzat en el projecte actual de DragonBoard), a la part dreta de la barra inferior feu clic al símbol Bluetooth i, a continuació, feu clic a "Configura un dispositiu nou" i configureu-lo amb el mòdul Bluetooth deixant-lo aparellat. Verifiqueu que el mòdul estigui connectat realment fent clic al símbol Bluetooth, feu clic a "Dispositius …" i comproveu si el nom del vostre dispositiu està llistat i connectat. Ara seleccioneu el dispositiu a la pantalla "Dispositius Bluetooth" i feu-hi clic amb el botó dret i observeu el port al qual està connectat el mòdul Bluetooth (per exemple: "rfcomm0"). Nota: El nom del port al qual està connectat el dispositiu serà important per al pas següent per habilitar l'intercanvi de dades.
Establiment de l’intercanvi de dades i Bluetooth de DragonBoard
Bàsicament, seguim el pas a pas de l'enllaç: https://www.uugear.com/portfolio/bluetooth-communi…, però no hem realitzat la part de l'aparellament només l'execució dels codis python i Arduino. A python es va utilitzar la biblioteca en sèrie que s’inicialitza al port connectat al bluetooth, d’aquí que el codi python llegís les dades dels sensors que estan connectats a l’arduino a través del mòdul bluetooth.
Pas 6: utilitzar Mezzanine a DragonBoard 410c
Per fer les connexions entre el drac i els components, estem utilitzant un tipus d’escut anomenat per Mezannine, desenvolupat per 96boards.
Mitjançant aquest escut, connectar els perifèrics es fa molt més fàcil.
Els connectors que s’utilitzen provenen del kit de desenvolupament del bosquet, de manera que només s’utilitza un cable específic que connecta les dues maneres, Totes les parts es poden trobar fàcilment en aquest lloc web:
Estem utilitzant els següents kits:
- Relleu Grove
- Sensor de llum solar Grove
- Presa de llum Grove
- Grove temp & humi sensor
- Grove Buzzer
Pas 7: programari DragonBoard 410c
La part del programa al DragonBoard es va codificar a Python i el programa utilitzat a l'Arduino es va desenvolupar en C ++. Cada 2 minuts l'Arduino llegeix tot el sensor que hi està connectat. Que l'Arduino envia la lectura al DragonBoard per Bluetooth. El DragonBoard combina la lectura provinent de l’Arduino amb la lectura que fa l’escut Mezzanine amb les funcions de les mostres d’àudio i vídeo.
Amb aquestes dades, la Junta intenta predir si es produeix una situació d’emergència. El Consell envia al servei web d’Amazon mitjançant el Phant les dades en brut i la predicció que feia. Si el tauler prediu que es produeix una situació estranya, intenta advertir l’usuari que parpelleja un led i un zumbador a l’entresòl i es mostra a l’aplicació web. A l'aplicació web també és possible veure les dades en brut per entendre què està passant en aquesta àrea.
Recomanat:
Detecció de cares a Raspberry Pi 4B en 3 passos: 3 passos
Detecció de cares a Raspberry Pi 4B en 3 passos: en aquest manual, farem la detecció de cares a Raspberry Pi 4 amb Shunya O / S mitjançant la biblioteca Shunyaface. Shunyaface és una biblioteca de reconeixement / detecció de cares. El projecte té com a objectiu aconseguir una velocitat de detecció i reconeixement més ràpida amb
Colec.te - Lixeira Inteligente Qualcomm Dragonboard 410c + OpenCV: 7 Steps
Colec.te - Lixeira Inteligente Qualcomm Dragonboard 410c + OpenCV: A nossa lixeira intel·ligent consisteix en separar ç ã o autom á tica do lixo. Atrav é s de uma webcam, ela identifica o tipus de lixo e o deposita no compartiment adequat per posteriorment ser reciclat
Detecció d'objectes W / Dragonboard 410c o 820c mitjançant OpenCV i Tensorflow .: 4 passos
Object Detection W / Dragonboard 410c o 820c mitjançant OpenCV i Tensorflow. Aquest document descriu com instal·lar OpenCV, Tensorflow i frameworks d’aprenentatge automàtic per Python 3.5 per executar l’aplicació Detecció d’objectes
Detecció de malalties de plantes amb Qualcomm Dragonboard 410c: 4 passos
Detecció de malalties de plantes amb Qualcomm Dragonboard 410c: Hola a tothom, participem en el concurs Inventing the Future with Dragonboard 410c patrocinat per Embarcados, Linaro i Baita. i detectar pos
Com aturar les finestres emergents de Messenger: 4 passos
Com aturar les finestres emergents de Messenger: mai veieu anuncis o obteniu finestres emergents quan navegueu pel web? Si heu dit que no, mentiu o ja heu fet alguna cosa similar a aquest instructiu. Això explicarà com instal·lar Mozilla Firefox, instal·lar l'extensió Adblock Plus i obtenir som