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, Studeni
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 sustave 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 sustava koji omogućuje 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 može prenijeti sve podatke 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, navedene u nastavku:

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

Pokretači:

  • servo motor
  • 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
  • Zvučni signal

Korak 2: Izrada udaljenog uređaja

Izrada udaljenog uređaja
Izrada 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 pozornost na spojeve jer svi senzori imaju specificirana mjesta za spajanje.

U sustavu 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 s vašim moćnim procesorom SnapDragon 410.

Postavljanje komponenti (Remote Devide)

Koji komad ima neke igle koje je potrebno spojiti u desne igle 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 -> spojen 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 -> spojen 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); plutaju vlažno, temperatura; boolean pir = 0; int co, mikrofon; 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 = analogno čitanje (COPIN); mic = analogRead (A0); msg = "#;" + String (humidaty) + ";" + Niz (temperatura)+ ";"+ niz (mikrofon)+ ";"+ niz (pir)+ ";" + String (co) + ";#" + "\ n"; Serial.print (poruka); odgoda (2000); }

Objašnjenje koda:

Svi pinovi koji se koriste u Arduinu navedeni su na početku koda i odgovarajuće knjižnice potrebne za rad senzora se inicijaliziraju. Svi će se podaci proslijediti 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 zabilježiti takve podatke.

Korak 3: Softver i knjižnice

Za obradu svih primljenih podataka i kontrolu sigurnosnog sustava potrebno je koristiti neke softvere i knjižnice u Qualcomm DragonBoard 410c.

U ovom posebnom projektu koristimo:

Softver:

  • Piton
  • Arduino

Plataforme:

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

Knjižnice:

  • OpenCV-Video obrada (https://opencv-python-tutroals.readthedocs.io/en/latest/)
  • PyAudio - Obrada zvuka (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 - Vježbajte i predvidite strojno učenje (https://scikit-learn.org/stable/install.html)
  • cPickle - Spremite parametre strojnog 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 Dragonboard -a, da biste to učinili, morate uključiti DragonBoard povezan mišem, tipkovnicom i HDMI monitorom. Kad se ploča uključi, morate se spojiti 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čunalu povezanom u istu mrežu kao i ploča. Na terminalu možete pokrenuti naredbu:

ssh linaro@{IP}

(trebali biste zamijeniti {IP} s 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 trebate samo 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) u početku je bio spojen na Arduino Nano prema sljedećem primjeru:

Koristeći grafičko sučelje Linaro (operativni sustav koji se koristi u trenutnom projektu u DragonBoardu), s desne strane donje trake kliknite simbol Bluetooth, a zatim kliknite "Postavi novi uređaj" i konfigurirajte s Bluetooth modulom ostavljajući ga uparenim. Provjerite je li vaš modul zaista povezan ponovnim klikom na simbol Bluetooth, kliknite "Uređaji …" i provjerite je li ime vašeg uređaja navedeno i povezano. Sada odaberite svoj uređaj na zaslonu "Bluetooth uređaji" i desnom tipkom miša kliknite na njega te zabilježite priključak na koji je povezan vaš Bluetooth modul (npr.: "rfcomm0"). Napomena: Naziv priključka 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 knjižnica koja je inicijalizirana u priključku 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

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

Pomoću ovog štita povezivanje perifernih uređaja postaje mnogo lakše.

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

Ispod koristimo ove setove:

  • Grove relej
  • Senzor sunčeve svjetlosti Grove
  • Grove LED utičnica
  • Grove temp & humi senzor
  • Zvučnik Grove

Korak 7: softver DragonBoard 410c

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 stvara mezzaninski štit sa značajkama zvuka i video uzoraka.

S tim podacima Uprava pokušava predvidjeti događa li se hitna situacija. Uprava šalje Amazonovoj web usluzi koristeći Phant neobrađene 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 također je moguće vidjeti sirove podatke kako bi razumjeli što se događa na ovom području.

Preporučeni: