Sadržaj:

Otkrivanje hitnih situacija - Qualcomm Dragonboard 410c: 7 koraka
Otkrivanje hitnih situacija - Qualcomm Dragonboard 410c: 7 koraka

Video: Otkrivanje hitnih situacija - Qualcomm Dragonboard 410c: 7 koraka

Video: Otkrivanje hitnih situacija - Qualcomm Dragonboard 410c: 7 koraka
Video: АГОНИЯ: Украина и Зеленский | 37 день | Никому не верю 2024, Novembar
Anonim
Otkrivanje hitnih situacija - Qualcomm Dragonboard 410c
Otkrivanje hitnih situacija - Qualcomm Dragonboard 410c
Otkrivanje hitnih situacija - Qualcomm Dragonboard 410c
Otkrivanje hitnih situacija - Qualcomm Dragonboard 410c
Otkrivanje hitnih situacija - Qualcomm Dragonboard 410c
Otkrivanje hitnih situacija - Qualcomm Dragonboard 410c

Tražeći sigurnosne sisteme koji rade na praćenju hitnih situacija, moguće je primijetiti da je previše teško obraditi sve snimljene podatke. Razmišljajući o tome, odlučili smo upotrijebiti svoje znanje u obradi zvuka/slike, senzorima i aktuatorima za stvaranje jednog cjelovitog sistema koji omogućava predviđanje situacija u kojima su životi ljudi u opasnosti.

Ovaj projekt ima lokalni senzor i udaljene uređaje za prikupljanje podataka i slanje na dragonboard, koji ima procesorsku snagu sposobnu izvući važne informacije iz primljenih podataka.

Udaljeni uređaj je Arduino ploča s modulom HC-06 koji omogućuje prenošenje svih informacija i jeftinom mrežom sposobnom za obradu velike količine podataka.

Korak 1: Potrebne komponente

Prije svega, morate odlučiti koje ćete senzore i aktuatore koristiti i napraviti skicu arhitekture.

U našem slučaju, koristimo ove senzore povezane u ARDUINO Pro Mini, dolje navedene:

  • PIR (pasivni infracrveni-senzor prisutnosti)
  • DHT 11 (Senzor vlažnosti i temperature)
  • Senzor CO (senzor ugljičnog monoksida)
  • Senzor buke

Pokretači:

  • servo motora
  • zujalica

Komunikacija:

Bluetooth modul HC-06

Za Dragonboard 410c imat ćemo neke senzore i softver za obradu svih unosa podataka:

Senzori:

  • DHT 11
  • Senzor sunčeve svjetlosti

Pokretači:

  • Relej
  • Led status
  • Zujalica

Korak 2: Izrada udaljenog uređaja

Pravljenje udaljenog uređaja
Pravljenje udaljenog uređaja

Sada je vrijeme za povezivanje svih sljedećih komponenti na Arduino ploču, stvaranje uređaja koji će primati podatke iz ambijenta (buka, vlaga, temperatura itd.), I slati na Dragonboard putem bluetooth modula HC-06.

Potrebno je obratiti pažnju na spojeve, jer svi senzori imaju specificirana mjesta za povezivanje.

Na sistemu je moguće imati više uređaja za prikupljanje podataka. Što ste više uređaja instalirali u okruženje, točnija je dijagnostika generirana obradom podataka. Budući da će biti moguće izvući širi raspon informacija koje bi mogle biti korisne.

Odlučili smo se za upotrebu arduino ploče jer ima više kompatibilnih senzora, pa je moguće instalirati ove udaljene uređaje na različitim mjestima, prikupljajući više informacija.

Lokalni uređaj je DragonBoard 410c, koji obrađuje audio, video, digitalne i analogne informacije sa vašim moćnim SnapDragon 410 procesorom.

Postavljanje komponenti (Remote Devide)

Koji komad ima neke pinove koje je potrebno spojiti u desne pinove na arduino pro mini ploči.

Bluetooth modul HC-06 ima 4 pina:

  • TX (Transmisor) -> spojen na pin RX Arduina
  • RX (prijemnik) -> spojen na pin TX Arduina
  • VCC -> spojen na 5v
  • GND

Senzor DHT 11 ima 4 pina (ali samo 3 u upotrebi):

  • Signal -> spojen na digitalni pin
  • VCC -> spojen na 5v
  • GND

PIR senzor ima 3 pina:

  • Signal -> povezan na digitalni pin
  • VCC -> spojen na 5v
  • GND

Senzor plina (MQ) ima 4 igle:

  • Digital OUT -> spojen na digitalni pin (ako želite digitalnu informaciju)
  • Analog OUT -> u našem slučaju, ovo koristimo spojeno na analogni pin
  • VCC -> spojen na 5v
  • GND

Senzor buke (KY-038) ima 3 igle:

  • Signal -> povezan na analogni pin
  • VCC -> spojen na 5v
  • GND

Kôd za Arduino udaljeni uređaj:

/ * * Arduino šalje podatke putem Bluetootha * * Vrijednost senzora se čita, spaja na * String i šalje preko serijskog porta. */ #uključuje "DHT.h" #define DHTPIN 3 #define DHTTYPE DHT22 #define PIRPIN 9 #define COPIN A6 DHT dht (DHTPIN, DHTTYPE); pluta vlažno, temperatura; boolean pir = 0; int co, mic; String msg = ""; char nome [40]; void setup () {Serial.begin (9600); dht.begin (); } void loop () {humidaty = dht.readHumidity (); temperatura = dht.readTemperature (); pir = digitalno čitanje (PIRPIN); co = analogRead (COPIN); mic = analogRead (A0); msg = "#;" + String (humidaty) + ";" + Niz (temperatura)+ ";"+ niz (mikrofon)+ ";"+ niz (pir)+ ";" + String (co) + ";#" + "\ n"; Serial.print (msg); kašnjenje (2000); }

Objašnjenje koda:

Svi pinovi koji se koriste u Arduinu navedeni su na početku koda i odgovarajuće biblioteke potrebne za rad senzora se inicijaliziraju. Svi podaci će biti proslijeđeni odgovarajućim varijablama koje će primati vrijednosti očitane sa svakog senzora svakih 2000 milisekundi, zatim se svi povezuju u niz, a zatim zapisuju na serijskom jeziku. Odatle je vrlo lako pomoću pyton koda prisutnog u DragonBoardu uhvatiti takve podatke.

Korak 3: Softver i biblioteke

Za obradu svih primljenih podataka i kontrolu sigurnosnog sistema potrebno je koristiti neke softvere i biblioteke u Qualcomm DragonBoard 410c.

U ovom posebnom projektu koristimo:

Softver:

  • Python
  • Arduino

Plataforme:

  • Amazon AWS -> mrežni poslužitelj
  • Phant -> Host data service

Biblioteke:

  • OpenCV-Video obrada (https://opencv-python-tutroals.readthedocs.io/en/latest/)
  • PyAudio - Audio obrada (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 - Obučite i predvidite mašinsko učenje (https://scikit-learn.org/stable/install.html)
  • cPickle - Sačuvajte parametre mašinskog učenja (https://pymotw.com/2/pickle/)
  • MRAA - Koristite GPIO -ove (https://iotdk.intel.com/docs/master/mraa/python/)
  • UPM-Koristite GPIO-ove (https://github.com/intel-iot-devkit/upm)
  • PySerial - Koristi se za serijsku komunikaciju s Bluetooth uređajem (https://pythonhosted.org/pyserial/)

Korak 4: Korištenje SSH -a i instaliranje Libs -a

Prije svega trebate dobiti IP adresu od Dragonboarda, da biste to učinili, morate uključiti DragonBoard povezanu mišem, tipkovnicom i HDMI monitorom. Kada se ploča uključi, morate se povezati na mrežu, a zatim idite na terminal i pokrenite naredbu:

sudo ifconfig

nakon toga možete dobiti IP adresu.

S IP adresom možete pristupiti Dragonboard -u putem SHH -a, da biste to učinili, morate otvoriti terminal na računaru povezanom u istu mrežu kao i ploča. Na terminalu možete pokrenuti naredbu:

ssh linaro@{IP}

(trebali biste zamijeniti {IP} sa IP adresom koju dobijete na Dragonboard -u).

Prvi lib koji trebate instalirati je mraa lib. Da biste to učinili, morate pokrenuti sljedeću naredbu u terminalu:

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

Da biste instalirali opencv za python, samo trebate pokrenuti naredbu:

sudo apt-get install python-opencv

Da biste instalirali PyAudio, morate pokrenuti naredbu:

sudo apt-get install python-pyaudio python3-pyaudio

Libovi WAVE i AudioOp već su instalirani na ploči. Da biste instalirali numpy, morate pokrenuti naredbu:

sudo apt-get install python-numpy python-scipy

Zadnji lib koji morate instalirati je scikit, da biste ga instalirali, morate imati instaliran pip. Zatim samo trebate pokrenuti naredbu:

pip install scikit-learn

Korak 5: Bluetooth protokol

Bluetooth protokol
Bluetooth protokol
Bluetooth protokol
Bluetooth protokol
Bluetooth protokol
Bluetooth protokol

DragonBoard veza s Arduinom putem Bluetootha

Bluetooth modul (HC-06) je u početku bio spojen na Arduino Nano prema sljedećem primjeru:

Koristeći grafičko sučelje Linaro (operativni sistem koji se koristi u trenutnom projektu u DragonBoard -u), s desne strane donje trake kliknite na simbol Bluetooth, a zatim kliknite na "Postavi novi uređaj" i konfigurirajte sa svojim Bluetooth modulom ostavljajući ga uparenim. Provjerite je li vaš modul zaista povezan ponovnim klikom na simbol Bluetooth, kliknite na "Uređaji …" i provjerite je li ime vašeg uređaja navedeno i povezano. Sada odaberite svoj uređaj na ekranu "Bluetooth uređaji" i desnom tipkom miša kliknite na njega i zabilježite port na koji je vaš Bluetooth modul povezan (npr.: "rfcomm0"). Napomena: Naziv porta na koji je vaš uređaj povezan bit će važan za sljedeći korak za omogućavanje razmjene podataka.

Uspostavljanje DragonBoard razmjene podataka i Bluetootha

U osnovi slijedimo korak po korak veze: https://www.uugear.com/portfolio/bluetooth-communi… ali nismo izvršili dio uparivanja samo izvršavanje python kodova i Arduina. U pythonu je korištena serijska biblioteka koja je inicijalizirana na portu spojenom na bluetooth, stoga je python kod čitao podatke senzora koji su povezani na arduino putem bluetooth modula.

Korak 6: Korištenje mezanina na DragonBoardu 410c

Upotreba mezanina na DragonBoardu 410c
Upotreba mezanina na DragonBoardu 410c

Da bismo uspostavili veze između zmajeve ploče i komponenti, koristimo vrstu štita zvanu Mezannine, koju je razvilo 96 ploča.

Koristeći ovaj štit, povezivanje perifernih uređaja postaje mnogo lakše.

Konektori se koriste iz razvojnog kompleta Grove -a, pa se samo koristi especif kabel koji povezuje oba smjera, Svi dijelovi mogu se lako pronaći na ovoj web stranici:

U nastavku koristimo ove setove:

  • Grove relej
  • Grove senzor sunčeve svjetlosti
  • Grove LED utičnica
  • Grove temp & humi senzor
  • Grove Buzzer

Korak 7: DragonBoard 410c softver

Dio programa u DragonBoardu kodiran je u Pythonu, a program koji se koristio na Arduinu razvijen je u C ++. Svake 2 minute Arduino očitava sve senzore povezane na njega. Zatim Arduino šalje čitanje na DragonBoard putem Bluetootha. DragonBoard kombinira čitanje proizašlo iz Arduina s čitanjem koje proizvodi mezzaninski štit sa značajkama audio i video uzoraka.

S ovim podacima Odbor pokušava predvidjeti nastaje li hitna situacija. Uprava šalje Amazon web servisu koristeći Phant sirove podatke i predviđanja koja je napravila. Ako ploča predvidi da se događa čudna situacija, pokušajte upozoriti korisnika da trepće LED i zujalicu u polukatu i prikaže u web aplikaciji. U web aplikaciji je moguće vidjeti i neobrađene podatke kako bi se razumjelo šta se dešava na ovom području.

Preporučuje se: