Sisällysluettelo:

Hätätilanteiden havaitseminen - Qualcomm Dragonboard 410c: 7 vaihetta
Hätätilanteiden havaitseminen - Qualcomm Dragonboard 410c: 7 vaihetta

Video: Hätätilanteiden havaitseminen - Qualcomm Dragonboard 410c: 7 vaihetta

Video: Hätätilanteiden havaitseminen - Qualcomm Dragonboard 410c: 7 vaihetta
Video: Monidor Oy - Equity - Rahoituskierros 2024, Marraskuu
Anonim
Hätätilanteiden havaitseminen - Qualcomm Dragonboard 410c
Hätätilanteiden havaitseminen - Qualcomm Dragonboard 410c
Hätätilanteiden havaitseminen - Qualcomm Dragonboard 410c
Hätätilanteiden havaitseminen - Qualcomm Dragonboard 410c
Hätätilanteiden havaitseminen - Qualcomm Dragonboard 410c
Hätätilanteiden havaitseminen - Qualcomm Dragonboard 410c

Etsitkö turvajärjestelmiä, jotka valvovat hätätilanteita, on mahdollista huomata, että kaikkien tallennettujen tietojen käsittely on liian vaikeaa. Tätä ajatellen päätimme käyttää tietämystämme ääni-/kuvankäsittelyssä, antureissa ja toimilaitteissa luodaksemme yhden kokonaisen järjestelmän, joka mahdollistaa ennustaa tilanteita, joissa ihmisten henki on vaarassa.

Tässä projektissa on paikallisia antureita ja etälaitteita tietojen keräämiseksi ja lähettämiseksi lohikäärmepöydälle, jolla on prosessointiteho, joka pystyy poimimaan tärkeitä tietoja vastaanotetuista tiedoista.

Etälaite on Arduino-kortti, jonka moduuli HC-06 kääntyy mahdolliseksi kaikkien tietojen siirtämiseksi, ja edullinen laaja verkko, joka pystyy käsittelemään suuren määrän dataa.

Vaihe 1: Tarvittavat komponentit

Ensinnäkin sinun on päätettävä, mitä antureita ja toimilaitteita aiot käyttää, ja tee arkkitehtuuriluonnos.

Käytämme tapauksessamme näitä ARDUINO Pro Mini -laitteeseen liitettyjä antureita, jotka on lueteltu alla:

  • PIR (passiivinen infrapuna-läsnäolotunnistin)
  • DHT 11 (kosteus- ja lämpötila-anturi)
  • CO-anturi (hiilimonoksidianturi)
  • Meluanturi

Toimilaitteet:

  • moottorin servo
  • summeri

Viestintä:

Bluetooth-moduuli HC-06

Dragonboard 410c: lle meillä on joitain antureita ja ohjelmistoja kaikkien tietojen syöttämiseksi:

Anturit:

  • DHT 11
  • Auringonvalon anturi

Toimilaitteet:

  • Viesti
  • Led-tila
  • Summeri

Vaihe 2: Etälaitteen tekeminen

Etälaitteen tekeminen
Etälaitteen tekeminen

Nyt on aika kytkeä kaikki seuraavat komponentit Arduino Boardiin ja luoda laite, joka vastaanottaa ympäristön tiedot (melu, kosteus, lämpötila jne.) Ja lähettää Dragonboardille Bluetooth-moduulin HC-06 avulla.

Kytkentöihin on kiinnitettävä huomiota, koska kaikilla anturilla on tietyt liitännät.

Järjestelmässä voi olla useita laitteita tietojen keräämiseen. Mitä enemmän laitteita olet asentanut ympäristöön, sitä tarkempi on tietojenkäsittelyn tuottama diagnostiikka. Koska on mahdollista poimia laajempi valikoima hyödyllisiä tietoja.

Päätimme käyttää arduino -korttia, koska siinä on enemmän yhteensopivia antureita, ja on mahdollista asentaa tämä etälaite eri paikkoihin keräämällä lisää tietoa.

Paikallinen laite on DragonBoard 410c, joka käsittelee ääni-, video-, digitaalisia ja analogisia tietoja tehokkaalla SnapDragon 410 -prosessorilla.

Komponenttien sijoittaminen (Remote Devide)

Yhdessä kappaleessa on joitain tappeja, jotka on liitettävä arduino pro mini -levyn oikeisiin nastoihin.

Bluetooth-moduulissa HC-06 on 4 nastaa:

  • TX (lähetin) -> kytketty RX Arduinon nastaan
  • RX (vastaanotin) -> kytketty TX Arduinon nastaan
  • VCC -> kytketty 5v
  • GND

DHT 11 -anturissa on 4 nastaa (mutta vain 3 käytössä):

  • Signaali -> kytketty digitaaliseen nastaan
  • VCC -> kytketty 5v
  • GND

PIR -anturissa on 3 nastaa:

  • Signaali -> kytketty digitaaliseen nastaan
  • VCC -> kytketty 5v
  • GND

Kaasuanturissa (MQ) on 4 nastaa:

  • Digital OUT -> kytketty digitaaliseen nastaan (jos haluat digitaalista tietoa)
  • Analog OUT -> meidän tapauksessamme käytämme tätä kytkettynä analogiseen nastaan
  • VCC -> kytketty 5v
  • GND

Kohinanturissa (KY-038) on 3 nastaa:

  • Signaali -> kytketty analogiseen nastaan
  • VCC -> kytketty 5v
  • GND

Arduinon etälaitteen koodi:

/ * * Arduino lähettää tietoja Blutoothin kautta * * Anturien arvo luetaan, yhdistetään * merkkijonoon ja lähetetään sarjaportin kautta. */ #sisältää "DHT.h" #define DHTPIN 3 #define DHTTYPE DHT22 #define PIRPIN 9 #define COPIN A6 DHT dht (DHTPIN, DHTTYPE); kellua kosteutta, lämpötila; boolen pir = 0; int, mikrofoni; Merkkijono msg = ""; char nome [40]; void setup () {Serial.begin (9600); dht.begin (); } void loop () {humidaty = dht.readHumidity (); lämpötila = dht.readTemperature (); pir = digitalRead (PIRPIN); co = analoginen luku (COPIN); mic = analoginen luku (A0); msg = "#;" + Jono (kostea) + ";" + Jono (lämpötila)+ ";"+ Jono (mikrofoni)+ ";"+ Jono (pir)+ ";" + Jono (co) + ";#" + "\ n"; Sarjanjälki (msg); viive (2000); }

Koodin selitys:

Kaikki Arduinossa käytetyt nastat lainataan koodin alussa ja vastaavat kirjastot, jotka tarvitaan anturien käyttöön, alustetaan. Kaikki tiedot välitetään vastaaville muuttujille, jotka vastaanottavat kustakin anturista luetut arvot 2000 millisekunnin välein, sitten ne kaikki yhdistetään merkkijonoksi ja kirjoitetaan sitten sarjassa. Sieltä DragonBoardissa oleva pyton -koodi on erittäin helppo kaapata tällaisia tietoja.

Vaihe 3: Ohjelmistot ja kirjastot

Kaikkien Qualcomm DragonBoard 410c -ohjelmiston ohjelmistojen ja kirjastojen käyttäminen edellyttää kaikkien vastaanotettujen tietojen käsittelyä ja turvajärjestelmän hallintaa.

Tässä erityisprojektissa käytämme:

Ohjelmistot:

  • Python
  • Arduino

Alustat:

  • Amazon AWS -> verkkopalvelin
  • Phant -> Isännän datapalvelu

Kirjastot:

  • OpenCV-Videon käsittely (https://opencv-python-tutroals.readthedocs.io/en/latest/)
  • PyAudio - Äänenkäsittely (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 - Harjoittele ja ennusta koneoppimista (https://scikit-learn.org/stable/install.html)
  • cPickle - Tallenna koneoppimisparametrit (https://pymotw.com/2/pickle/)
  • MRAA - Käytä GPIO: ita (https://iotdk.intel.com/docs/master/mraa/python/)
  • UPM-Käytä GPIO: ita (https://github.com/intel-iot-devkit/upm)
  • PySerial - Käytä sarjaliikennettä Bluetooth -laitteen kanssa (https://pythonhosted.org/pyserial/)

Vaihe 4: SSH: n käyttö ja Libien asentaminen

Ensinnäkin sinun on hankittava IP -osoite Dragonboardilta, jotta voit tehdä tämän, sinun on kytkettävä päälle hiirellä, näppäimistöllä ja HDMI -näytöllä yhdistetty DragonBoard. Kun kortti käynnistyy, sinun on muodostettava yhteys verkkoon, kun menet terminaaliin ja suoritat komennon:

sudo ifconfig

sen jälkeen saat IP -osoitteen.

IP -osoitteen avulla voit käyttää Dragonboardia SHH: n kautta, jotta voit avata päätelaitteen tietokoneeseen, joka on liitetty samaan verkkoon levyn kanssa. Päätelaitteessa voit suorittaa komennon:

ssh linaro@{IP}

(sinun tulee korvata {IP} Dragonboardilla saamallasi IP -osoitteella).

Ensimmäinen asennettava lib on mraa lib. Tätä varten sinun on suoritettava seuraava komento terminaalissa:

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

Opencv: n asentaminen pythonille edellyttää vain komennon suorittamista:

sudo apt-get install python-opencv

PyAudion asentamiseksi sinun on suoritettava komento:

sudo apt-get install python-pyaudio python3-pyaudio

Libs WAVE ja AudioOp on jo asennettu taululle. Asentaaksesi numpy: n sinun on suoritettava komento:

sudo apt-get install python-numpy python-scipy

Viimeinen lib, joka sinun on asennettava, on skikit, jotta voit asentaa sen, sinun on asennettava pip. Sinun tarvitsee vain suorittaa komento:

pip asenna scikit-lear

Vaihe 5: Bluetooth -protokolla

Bluetooth -protokolla
Bluetooth -protokolla
Bluetooth -protokolla
Bluetooth -protokolla
Bluetooth -protokolla
Bluetooth -protokolla

DragonBoard -yhteys Arduinon kanssa Bluetoothin kautta

Bluetooth-moduuli (HC-06) liitettiin alun perin Arduino Nano -laitteeseen seuraavan esimerkin mukaisesti:

Linaron (DragonBoardin nykyisessä projektissa käytetty käyttöjärjestelmä) graafisen käyttöliittymän avulla napsauta alapalkin oikealla puolella Bluetooth -symbolia ja napsauta sitten "Asenna uusi laite" ja määritä Bluetooth -moduulisi jättämällä se pariksi. Varmista, että moduulisi on todella kytketty napsauttamalla Bluetooth -symbolia uudelleen, napsauttamalla "Laitteet…" ja tarkista, onko laitteesi nimi luettelossa ja kytketty. Valitse nyt laitteesi "Bluetooth -laitteet" -näytöstä ja napsauta sitä hiiren kakkospainikkeella ja huomaa portti, johon Bluetooth -moduuli on kytketty (esim. "Rfcomm0"). Huomautus: Portin nimi, johon laite on yhdistetty, on tärkeä seuraavassa tiedonsiirron käyttöönoton vaiheessa.

DragonBoard -tiedonsiirron ja Bluetoothin luominen

Pohjimmiltaan seuraamme askel askeleelta linkkiä: https://www.uugear.com/portfolio/bluetooth-communi…, mutta emme suorittaneet pariliitososaa vain python-koodien ja Arduinon suorittamisella. Pythonissa käytettiin sarjakirjastoa, joka alustetaan bluetoothiin liitetyssä portissa, joten python -koodi lukee Bluetooth -moduulin kautta arduinoon kytkettyjen antureiden tiedot.

Vaihe 6: Mezzaninen käyttäminen DragonBoard 410c: ssä

Mezzaninen käyttö DragonBoard 410c: ssä
Mezzaninen käyttö DragonBoard 410c: ssä

Yhteyksien luomiseksi lohikäärmelaudan ja komponenttien välillä käytämme Mezannine -nimistä kilvetyyppiä, jonka on kehittänyt 96boardia.

Tämän suojan avulla oheislaitteiden liittäminen on paljon helpompaa.

Liittimien käyttö on Grove -kehityssarjasta, joten se käyttää vain especif -kaapelia, joka yhdistää molempiin suuntiin, Kaikki osat löytyvät helposti tältä verkkosivustolta:

Käytämme alla olevia sarjoja:

  • Grove -rele
  • Grove Sunlight -anturi
  • Grove led -pistorasia
  • Grove -lämpötila- ja humi -anturi
  • Grove -summeri

Vaihe 7: DragonBoard 410c -ohjelmisto

Ohjelman osa DragonBoardissa koodattiin Pythonissa ja Arduinolla käytetty ohjelma kehitettiin C ++: lla. 2 minuutin välein Arduino lukee kaikki siihen kiinnitetyt anturit. Kuin Arduino lähettää lukeman DragonBoardiin Bluetoothilla. DragonBoard yhdistää Arduinosta saadun lukeman Mezzanine -kilven lukemiin ääni- ja videonäytteiden ominaisuuksiin.

Näiden tietojen perusteella hallitus yrittää ennustaa, onko kyseessä hätätilanne. Hallitus lähettää Amazon Web -palveluun Phantin avulla raakatiedot ja sen tekemän ennusteen. Jos paneeli ennustaa, että kyseessä on outo tilanne, se yrittää varoittaa käyttäjää vilkkumasta lediä ja summeria Mezzanine -tilassa ja näyttää verkkosovelluksessa. Verkkosovelluksessa on myös mahdollista nähdä raakatiedot ymmärtääkseen, mitä tällä alueella tapahtuu.

Suositeltava: