Cuprins:

Detectarea situațiilor de urgență - Qualcomm Dragonboard 410c: 7 pași
Detectarea situațiilor de urgență - Qualcomm Dragonboard 410c: 7 pași

Video: Detectarea situațiilor de urgență - Qualcomm Dragonboard 410c: 7 pași

Video: Detectarea situațiilor de urgență - Qualcomm Dragonboard 410c: 7 pași
Video: SISTEM PENTRU DETECTAREA SITUATIILOR DE URGENTA INTR-O INCINTA 2024, Noiembrie
Anonim
Detectarea situațiilor emergente - Qualcomm Dragonboard 410c
Detectarea situațiilor emergente - Qualcomm Dragonboard 410c
Detectarea situațiilor de urgență - Qualcomm Dragonboard 410c
Detectarea situațiilor de urgență - Qualcomm Dragonboard 410c
Detectarea situațiilor emergente - Qualcomm Dragonboard 410c
Detectarea situațiilor emergente - Qualcomm Dragonboard 410c

Căutând sisteme de securitate care să lucreze la monitorizarea situațiilor de urgență, este posibil să observați că este prea greu să procesați toate informațiile înregistrate. Gândindu-ne la asta, am decis să ne folosim cunoștințele în procesarea audio / imagine, senzori și actuatori pentru a crea un sistem complet care face posibilă prezicerea situațiilor în care viața oamenilor este în pericol.

Acest proiect are senzori locali și dispozitive la distanță pentru a colecta date și a le trimite la dragonboard, care are o putere de procesare capabilă să extragă informații importante din datele primite.

Dispozitivul de la distanță este o placă Arduino cu un modul HC-06 care poate transforma toate informațiile și o rețea largă cu cost redus capabilă să proceseze o cantitate mare de date.

Pasul 1: Componente necesare

În primul rând, trebuie să decideți care sunt senzorii și acționarii pe care urmează să îi utilizați și să faceți schița arhitecturii.

În cazul nostru, folosim acești senzori conectați în ARDUINO Pro Mini, enumerați mai jos:

  • PIR (infraroșu pasiv - senzor de prezență)
  • DHT 11 (senzor de umiditate și temperatură)
  • Senzor de CO (senzor de monoxid de carbon)
  • Senzor de zgomot

Actuatoare:

  • servo motor
  • buzzer

Comunicare:

Modulul Bluetooth HC-06

Pentru Dragonboard 410c, vom avea niște senzori și software pentru a procesa toate intrările de date:

Senzori:

  • DHT 11
  • Senzor de lumină solară

Actuatoare:

  • Releu
  • Stare led
  • Buzzer

Pasul 2: Realizarea dispozitivului la distanță

Realizarea dispozitivului la distanță
Realizarea dispozitivului la distanță

Acum este timpul să conectați toate componentele următoare la placa Arduino, creând un dispozitiv care va primi datele din atmosferă (zgomot, umiditate, temperatură etc.) și le trimiteți la Dragonboard prin modulul bluetooth HC-06.

Este necesar să acordați atenție conexiunilor, deoarece tot senzorul are locuri specifice pentru conectare.

Pe sistem, este posibil să aveți mai multe dispozitive pentru a colecta date. Cu cât ați instalat mai multe dispozitive în mediu, cu atât este mai precisă diagnosticul generat de procesarea datelor. Deoarece va fi posibil să extragem o gamă mai largă de informații care ar putea fi utile.

Am decis să folosim o placă arduino deoarece are senzori mai compatibili și este posibil să instalați aceste dispozitive la distanță în diferite locuri, colectând mai multe informații.

Dispozitivul local este DragonBoard 410c, care procesează informații audio, video, digitale și analogice cu puternicul procesor SnapDragon 410.

Amplasarea componentelor (Remote Devide)

Din care o piesă are niște pini care trebuie conectați la pinii din dreapta de pe placa mini arduino pro.

Modulul Bluetooth HC-06 are 4 pini:

  • TX (Transmisor) -> conectat pe pinul RX Arduino
  • RX (Receiver) -> conectat pe pinul TX Arduino
  • VCC -> conectat pe 5v
  • GND

Senzorul DHT 11 are 4 pini (dar numai 3 în uz):

  • Semnal -> conectat pe un pin digital
  • VCC -> conectat pe 5v
  • GND

Senzorul PIR are 3 pini:

  • Semnal -> conectat pe un pin digital
  • VCC -> conectat pe 5v
  • GND

Senzorul de gaz (MQ) are 4 pini:

  • Digital OUT -> conectat pe un pin digital (dacă doriți o informație digitală)
  • Analog OUT -> în cazul nostru, îl folosim conectat pe un pin analogic
  • VCC -> conectat pe 5v
  • GND

Senzorul de zgomot (KY-038) are 3 pini:

  • Semnal -> conectat pe un pin analogic
  • VCC -> conectat pe 5v
  • GND

Cod pentru dispozitivul Arduino la distanță:

/ * * Arduino trimite date prin Blutooth * * Valoarea senzorilor sunt citite, concatenate pe * Șir și trimise prin portul serial. * / #include "DHT.h" #define DHTPIN 3 #define DHTTYPE DHT22 #define PIRPIN 9 #define COPIN A6 DHT dht (DHTPIN, DHTTYPE); umiditate plutitoare, temperatura; boolean pir = 0; int co, mic; String msg = ""; char nome [40]; void setup () {Serial.begin (9600); dht.begin (); } void loop () {umiditate = dht.readHumidity (); temperature = dht.readTemperature (); pir = DigitalRead (PIRPIN); co = analogRead (COPIN); mic = analogRead (A0); msg = "#;" + Șir (umiditate) + ";" + String (temperature) + ";" + String (mic) + ";" + String (pir) + ";" + String (co) + "; #" + "\ n"; Serial.print (msg); întârziere (2000); }

Explicarea codului:

Toți pinii utilizați în Arduino sunt cotați la începutul codului și bibliotecile respective necesare pentru funcționarea senzorilor sunt inițializate. Toate datele vor fi transmise variabilelor respective care vor primi valorile citite de la fiecare senzor la fiecare 2000 de milisecunde, apoi toate sunt concatenate într-un șir, apoi sunt scrise în serie. De acolo, este foarte ușor ca codul pyton prezent în DragonBoard să capteze astfel de date.

Pasul 3: Software și biblioteci

Pentru a procesa toate datele primite și pentru a controla sistemul de securitate, este necesar să utilizați câteva software și biblioteci în Qualcomm DragonBoard 410c.

În acest proiect specific, folosim:

Software-uri:

  • Piton
  • Arduino

Plataforme:

  • Amazon AWS -> server online
  • Phant -> Serviciu de date gazdă

Biblioteci:

  • OpenCV - Procesare video (https://opencv-python-tutroals.readthedocs.io/en/latest/)
  • PyAudio - Procesare audio (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 - Antrenează și prezice învățarea automată (https://scikit-learn.org/stable/install.html)
  • cPickle - Salvați parametrii de învățare automată (https://pymotw.com/2/pickle/)
  • MRAA - Utilizați GPIO-urile (https://iotdk.intel.com/docs/master/mraa/python/)
  • UPM - Utilizați GPIO-urile (https://github.com/intel-iot-devkit/upm)
  • PySerial - Utilizare pentru comunicarea serială cu dispozitivul Bluetooth (https://pythonhosted.org/pyserial/)

Pasul 4: Utilizarea SSH și instalarea Libs

În primul rând, trebuie să obțineți adresa IP de la Dragonboard, pentru a face acest lucru, trebuie să porniți DragonBoard conectat cu un mouse, o tastatură și un monitor HDMI. Când placa este pornită, trebuie să vă conectați la o rețea, apoi mergeți la terminal și executați comanda:

sudo ifconfig

după aceea puteți obține adresa IP.

Cu adresa IP puteți accesa Dragonboard-ul prin SHH, pentru a face acest lucru, trebuie să deschideți un terminal într-un computer conectat în aceeași rețea ca placa. În terminal puteți rula comanda:

ssh linaro @ {IP}

(ar trebui să înlocuiți {IP} cu adresa IP pe care o obțineți în Dragonboard).

Prima lib care trebuie instalată este libra mraa. Pentru a face acest lucru, trebuie să executați următoarea comandă în 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

Pentru a instala opencv pentru python trebuie doar să executați comanda:

sudo apt-get install python-opencv

Pentru a instala PyAudio trebuie să executați comanda:

sudo apt-get install python-pyaudio python3-pyaudio

Libs-urile WAVE și AudioOp sunt deja instalate pe placă. Pentru a instala numpy trebuie să executați comanda:

sudo apt-get install python-numpy python-scipy

Ultima lib pe care trebuie să o instalați este scikit, pentru a o instala trebuie să aveți pip instalat. Deci trebuie doar să executați comanda:

pip instalează scikit-lear

Pasul 5: Protocol Bluetooth

Protocolul Bluetooth
Protocolul Bluetooth
Protocolul Bluetooth
Protocolul Bluetooth
Protocolul Bluetooth
Protocolul Bluetooth

Conexiune DragonBoard cu Arduino prin Bluetooth

Modulul Bluetooth (HC-06) a fost inițial conectat la Arduino Nano conform următorului exemplu:

Folosind interfața grafică Linaro (sistemul de operare utilizat în proiectul curent în DragonBoard), în partea dreaptă a barei de jos faceți clic pe simbolul Bluetooth și apoi faceți clic pe „Configurare dispozitiv nou” și configurați-l cu modulul Bluetooth lăsându-l asociat. Verificați dacă modulul dvs. este conectat efectiv făcând clic pe simbolul Bluetooth din nou, faceți clic pe „Dispozitive …” și vedeți dacă numele dispozitivului dvs. este listat și conectat. Acum selectați dispozitivul în ecranul „Dispozitive Bluetooth” și faceți clic dreapta pe el și notați portul la care este conectat modulul Bluetooth (de ex.: „rfcomm0”). Notă: numele portului la care este conectat dispozitivul dvs. va fi important pentru pasul următor pentru a permite schimbul de date.

Stabilirea schimbului de date DragonBoard și Bluetooth

Practic, urmăm pas cu pas linkul: https://www.uugear.com/portfolio/bluetooth-communi…, dar nu am efectuat partea de împerechere doar executarea codurilor python și Arduino. În python a fost utilizată biblioteca serială care este inițializată în portul conectat la bluetooth, de unde codul python a citit datele senzorilor care sunt conectați la arduino prin modulul bluetooth.

Pasul 6: Utilizarea Mezzanine pe DragonBoard 410c

Folosind Mezzanine pe DragonBoard 410c
Folosind Mezzanine pe DragonBoard 410c

Pentru a face conexiunile între dragonboard și componente, folosim un tip de scut numit de Mezannine, dezvoltat de 96boards.

Folosind acest scut, conectarea perifericelor devine mult mai ușoară.

Utilizarea conectorilor provine din kitul de dezvoltare al grove-ului, deci se folosește doar un cablu specific care conectează ambele sensuri, Toate piesele pot fi găsite cu ușurință pe acest site:

Folosim aceste kituri de mai jos:

  • Releu Grove
  • Senzor de lumină solară Grove
  • Priza condusă de Grove
  • Senzor Grove temp & humi
  • Grove Buzzer

Pasul 7: Software DragonBoard 410c

Partea programului din DragonBoard a fost codificată în Python, iar programul folosit pe Arduino a fost dezvoltat în C ++. La fiecare 2 minute, Arduino citește tot senzorul atașat la acesta. Decât Arduino trimite citirea către DragonBoard prin Bluetooth. DragonBoard combină citirea provenită de la Arduino cu citirea pe care o face scutul Mezzanine cu caracteristicile din mostrele audio și video.

Cu aceste date, Consiliul încearcă să prezică dacă are loc o situație de urgență. Consiliul de administrație trimite către Amazon Web Service folosind Phant datele brute și previziunile pe care le-a făcut. Dacă placa prezice că apare o situație ciudată, încercați să-l avertizați pe utilizator să clipească un led și un buzzer în mezanin și să se afișeze în aplicația web. În aplicația web este, de asemenea, posibil să vedeți datele brute pentru a înțelege ce se întâmplă în această zonă.

Recomandat: