Taula de continguts:

Detecció de situacions emergents: Qualcomm Dragonboard 410c: 7 passos
Detecció de situacions emergents: Qualcomm Dragonboard 410c: 7 passos

Vídeo: Detecció de situacions emergents: Qualcomm Dragonboard 410c: 7 passos

Vídeo: Detecció de situacions emergents: Qualcomm Dragonboard 410c: 7 passos
Vídeo: MWC2022: C-V2X, 5G и искусственный интеллект объединяются для повышения безопасности перевозок 2024, De novembre
Anonim
Detecció de situacions emergents - Qualcomm Dragonboard 410c
Detecció de situacions emergents - Qualcomm Dragonboard 410c
Detecció de situacions emergents - Qualcomm Dragonboard 410c
Detecció de situacions emergents - Qualcomm Dragonboard 410c
Detecció de situacions emergents - Qualcomm Dragonboard 410c
Detecció de situacions emergents - Qualcomm Dragonboard 410c

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

Creació de dispositius remots
Creació 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

Protocol Bluetooth
Protocol Bluetooth
Protocol Bluetooth
Protocol Bluetooth
Protocol Bluetooth
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

Utilitzant Mezzanine a DragonBoard 410c
Utilitzant 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: