Kazalo:

Zaznavanje nujnih situacij - Qualcomm Dragonboard 410c: 7 korakov
Zaznavanje nujnih situacij - Qualcomm Dragonboard 410c: 7 korakov

Video: Zaznavanje nujnih situacij - Qualcomm Dragonboard 410c: 7 korakov

Video: Zaznavanje nujnih situacij - Qualcomm Dragonboard 410c: 7 korakov
Video: ЧЕСТНЫЙ ОБЗОР ФЛАГМАНА! Samsung Galaxy Note 10 2024, Julij
Anonim
Zaznavanje nujnih situacij - Qualcomm Dragonboard 410c
Zaznavanje nujnih situacij - Qualcomm Dragonboard 410c
Zaznavanje nujnih situacij - Qualcomm Dragonboard 410c
Zaznavanje nujnih situacij - Qualcomm Dragonboard 410c
Zaznavanje nujnih situacij - Qualcomm Dragonboard 410c
Zaznavanje nujnih situacij - Qualcomm Dragonboard 410c

Če iščemo varnostne sisteme, ki spremljajo nujne primere, je mogoče opaziti, da je preveč težko obdelati vse posnete podatke. Če razmišljamo o tem, smo se odločili, da svoje znanje uporabimo pri obdelavi zvoka/slike, senzorjih in aktuatorjih, da ustvarimo en celoten sistem, ki omogoča napovedovanje situacij, v katerih je življenje ljudi v nevarnosti.

Ta projekt ima lokalni senzor in oddaljene naprave za zbiranje podatkov in pošiljanje na dragonboard, ki ima procesorsko moč, ki lahko iz prejetih podatkov izvleče pomembne informacije.

Oddaljena naprava je plošča Arduino z modulom HC-06, ki omogoča obračanje vseh podatkov in nizkocenovno široko omrežje, ki lahko obdeluje veliko količino podatkov.

Korak: Potrebne komponente

Najprej se morate odločiti, katere senzorje in aktuacije boste uporabili, ter narediti skico arhitkture.

V našem primeru uporabljamo te senzorje, povezane v ARDUINO Pro Mini, ki so navedeni spodaj:

  • PIR (pasivni infrardeči-senzor prisotnosti)
  • DHT 11 (senzor vlažnosti in temperature)
  • Senzor CO (senzor ogljikovega monoksida)
  • Senzor hrupa

Pogon:

  • servo motorja
  • buzzer

Komunikacija:

Modul Bluetooth HC-06

Za Dragonboard 410c bomo imeli nekaj senzorjev in programske opreme za obdelavo vseh vnosov podatkov:

Senzorji:

  • DHT 11
  • Senzor sončne svetlobe

Pogon:

  • Relej
  • Led status
  • Buzzer

2. korak: Izdelava oddaljene naprave

Izdelava oddaljene naprave
Izdelava oddaljene naprave

Zdaj je čas, da vse naslednje komponente povežete z Arduino Board in ustvarite napravo, ki bo prejemala podatke iz okolja (hrup, vlaga, temperatura itd.) In jih prek modula Bluetooth HC-06 pošiljala na Dragonboard.

Na povezave je treba biti pozoren, saj imajo vsi senzorji določena mesta za povezavo.

V sistemu je mogoče imeti več kot eno napravo za zbiranje podatkov. Več naprav, ki ste jih namestili v okolje, natančnejša je diagnostika, ki jo ustvari obdelava podatkov. Ker bo mogoče pridobiti širši nabor informacij, ki bi bile lahko koristne.

Odločili smo se za uporabo arduino plošče, ker ima več kompatibilnih senzorjev, te oddaljene naprave pa je mogoče namestiti na drugačna mesta in zbrati več informacij.

Lokalna naprava je DragonBoard 410c, ki obdeluje zvočne, video, digitalne in analogne informacije z vašim zmogljivim procesorjem SnapDragon 410.

Namestitev komponent (Remote Devide)

Kateri kos ima nekaj zatičev, ki jih je treba priključiti v desne zatiče na mini plošči arduino pro.

Modul Bluetooth HC-06 ima 4 zatiči:

  • TX (Transmisor) -> priključen na pin RX Arduino
  • RX (sprejemnik) -> povezan na pin TX Arduino
  • VCC -> priključen na 5v
  • GND

Senzor DHT 11 ima 4 zatiče (vendar so v uporabi le 3):

  • Signal -> povezan na digitalni pin
  • VCC -> priključen na 5v
  • GND

Senzor PIR ima 3 zatiči:

  • Signal -> povezan na digitalni pin
  • VCC -> priključen na 5v
  • GND

Senzor plina (MQ) ima 4 zatiči:

  • Digital OUT -> povezan na digitalni pin (če želite digitalne podatke)
  • Analog OUT -> v našem primeru uporabljamo to, priključeno na analogni pin
  • VCC -> priključen na 5v
  • GND

Senzor hrupa (KY-038) ima 3 zatiči:

  • Signal -> priključen na analogni pin
  • VCC -> priključen na 5v
  • GND

Koda za oddaljeno napravo Arduino:

/ * * Arduino pošilja podatke prek Bluetootha * * Vrednost senzorjev se bere, združuje na * String in pošilja prek serijskih vrat. */ #vključi "DHT.h" #define DHTPIN 3 #define DHTTYPE DHT22 #define PIRPIN 9 #define COPIN A6 DHT dht (DHTPIN, DHTTYPE); plavajoče vlažno, temperatura; logični pir = 0; int co, mikrofon; Niz msg = ""; char nome [40]; void setup () {Serial.begin (9600); dht.begin (); } void loop () {humidaty = dht.readHumidity (); temperatura = dht.readTemperature (); pir = digitalno branje (PIRPIN); co = analogRead (COPIN); mic = analogRead (A0); msg = "#;" + Niz (vlažen) + ";" + Niz (temperatura)+ ";"+ niz (mikrofon)+ ";"+ niz (pir)+ ";" + Niz (co) + ";#" + "\ n"; Serial.print (sporočilo); zamuda (2000); }

Razlaga kode:

Vsi zatiči, ki se uporabljajo v Arduinu, so navedeni na začetku kode in ustrezne knjižnice, potrebne za delovanje senzorjev, se inicializirajo. Vsi podatki bodo posredovani ustreznim spremenljivkam, ki bodo prejele vrednosti, prebrane od vsakega senzorja vsakih 2000 milisekund, nato pa se bodo vse združile v niz, nato pa bodo zapisane v zaporedju. Od tam je zelo enostavno s kodo pytona, ki je prisotna v DragonBoardu, zajeti take podatke.

3. korak: Programska oprema in knjižnice

Za obdelavo vseh prejetih podatkov in nadzor varnostnega sistema je potrebno uporabiti nekaj programske opreme in knjižnic v Qualcomm DragonBoard 410c.

V tem posebnem projektu uporabljamo:

Programska oprema:

  • Python
  • Arduino

Plataforme:

  • Amazon AWS -> spletni strežnik
  • Phant -> Podatkovna storitev gostitelja

Knjižnice:

  • OpenCV-obdelava videa (https://opencv-python-tutroals.readthedocs.io/en/latest/)
  • PyAudio - Avdio obdelava (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 - Usposabljanje in predvidevanje strojnega učenja (https://scikit-learn.org/stable/install.html)
  • cPickle - Shranite parametre strojnega učenja (https://pymotw.com/2/pickle/)
  • MRAA - Uporabite GPIO (https://iotdk.intel.com/docs/master/mraa/python/)
  • UPM-Uporabite GPIO-je (https://github.com/intel-iot-devkit/upm)
  • PySerial - Uporabite za serijsko komunikacijo z napravo Bluetooth (https://pythonhosted.org/pyserial/)

4. korak: Uporaba SSH in namestitev Libs

Najprej morate dobiti naslov IP iz Dragonboard -a, da to storite, morate vklopiti DragonBoard, povezan z miško, tipkovnico in monitorjem HDMI. Ko se plošča vklopi, se morate povezati z omrežjem, nato pojdite na terminal in zaženite ukaz:

sudo ifconfig

po tem lahko dobite naslov IP.

Z naslovom IP lahko dostopate do Dragonboard -a prek SHH, zato morate odpreti terminal v računalniku, ki je povezan v istem omrežju kot plošča. V terminalu lahko zaženete ukaz:

ssh linaro@{IP}

({IP} zamenjajte z naslovom IP, ki ga dobite v Dragonboard -u).

Prvi lib, ki ga morate namestiti, je mraa lib. Če želite to narediti, morate v terminalu zagnati naslednji ukaz:

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

Če želite namestiti opencv za python, morate zagnati le ukaz:

sudo apt-get install python-opencv

Če želite namestiti PyAudio, morate zagnati ukaz:

sudo apt-get install python-pyaudio python3-pyaudio

Libs WAVE in AudioOp sta že nameščena na plošči. Če želite namestiti numpy, morate zagnati ukaz:

sudo apt-get install python-numpy python-scipy

Zadnji lib, ki ga morate namestiti, je scikit, če ga želite namestiti, morate imeti nameščen pip. Nato morate zagnati samo ukaz:

pip install scikit-learn

5. korak: Bluetooth protokol

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

DragonBoard Povezava z Arduinom prek Bluetootha

Modul Bluetooth (HC-06) je bil sprva povezan z Arduino Nano po naslednjem primeru:

Z grafičnim vmesnikom Linaro (operacijski sistem, ki se uporablja v trenutnem projektu v DragonBoardu), na desni strani spodnje vrstice kliknite simbol Bluetooth, nato kliknite »Nastavi novo napravo« in ga nastavite tako, da modul Bluetooth pusti seznanjenega. Preverite, ali je vaš modul dejansko povezan, tako da znova kliknete simbol Bluetooth, kliknite »Naprave…« in preverite, ali je ime vaše naprave navedeno in povezano. Zdaj izberite svojo napravo na zaslonu "Naprave Bluetooth" in z desno miškino tipko kliknite nanjo ter si oglejte vrata, na katera je priključen vaš modul Bluetooth (npr.: "rfcomm0"). Opomba: Ime vrat, s katerimi je povezana vaša naprava, bo pomembno za naslednji korak, da omogočite izmenjavo podatkov.

Vzpostavitev izmenjave podatkov DragonBoard in Bluetooth

V bistvu sledimo korak za korakom na povezavi: https://www.uugear.com/portfolio/bluetooth-communi…, vendar dela seznanjanja nismo izvedli le z izvajanjem kod Python in Arduina. V pythonu je bila uporabljena serijska knjižnica, ki je inicializirana v vratih, povezanih z bluetoothom, zato je koda python prebrala podatke senzorjev, ki so prek modula bluetooth povezani z arduinom.

Korak 6: Uporaba mezzanina na DragonBoard 410c

Uporaba mezzanina na DragonBoard 410c
Uporaba mezzanina na DragonBoard 410c

Za vzpostavitev povezave med zmajevalno ploščo in sestavnimi deli uporabljamo vrsto ščita, imenovanega Mezannine, ki ga je razvilo podjetje 96boards.

Z uporabo tega ščita je povezovanje zunanjih naprav veliko lažje.

Priključki, ki jih uporablja, so iz razvojnega kompleta za nasad, zato uporablja samo kabel especif, ki povezuje obe smeri, Vse dele lahko enostavno najdete na tej spletni strani:

Spodaj uporabljamo te komplete:

  • Grove rele
  • Senzor sončne svetlobe Grove
  • LED vtičnica Grove
  • Senzor za temperaturo in humi Grove
  • Grove Buzzer

7. korak: Programska oprema DragonBoard 410c

Del programa v DragonBoardu je bil kodiran v Pythonu, program, ki se uporablja na Arduinu, pa je bil razvit v C ++. Vsaki 2 minuti Arduino prebere ves senzor, ki je nanj pritrjen. Nato Arduino pošlje branje na DragonBoard prek Bluetootha. DragonBoard združuje branje, ki je prišlo iz Arduina, z branjem, ki ga naredi na mezzaninskem ščitu, z značilnostmi zvočnih in video vzorcev.

S temi podatki odbor poskuša predvideti, ali se pojavljajo izredne razmere. Upravni odbor pošlje spletni storitvi Amazon s pomočjo Phanta neobdelane podatke in napovedi, ki jih je naredil. Če tabla predvideva, da se dogaja čudna situacija, poskuša uporabnika opozoriti, da v mezzaninu utripa LED in brenčalo, ter jo prikazati v spletni aplikaciji. V spletni aplikaciji je mogoče videti tudi surove podatke, da bi razumeli, kaj se dogaja na tem področju.

Priporočena: