Sisällysluettelo:
- Vaihe 1: Tarvittavat komponentit
- Vaihe 2: Etälaitteen tekeminen
- Vaihe 3: Ohjelmistot ja kirjastot
- Vaihe 4: SSH: n käyttö ja Libien asentaminen
- Vaihe 5: Bluetooth -protokolla
- Vaihe 6: Mezzaninen käyttäminen DragonBoard 410c: ssä
- Vaihe 7: DragonBoard 410c -ohjelmisto
Video: Hätätilanteiden havaitseminen - Qualcomm Dragonboard 410c: 7 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
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
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
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ä
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:
Värähtelyjen havaitseminen pietsosähköisen iskuhana -anturimoduulin avulla: 6 vaihetta
Värähtelyjen tunnistaminen pietsosähköisen iskuhana -anturimoduulin avulla: Tässä opetusohjelmassa opimme tunnistamaan iskuvärähtelyt yksinkertaisella pietsosähköisen anturin tärinämoduulilla ja Visuinolla
Esteiden havaitseminen asynkronisesti ultraäänellä: 4 vaihetta
Havaitse esteet asynkronisesti ultraäänien avulla: Rakennan huvin vuoksi robottia, jonka haluan liikkua itsenäisesti talon sisällä. Se on pitkä työ ja teen askel askeleelta. Tämä opettavainen keskittyminen esteiden havaitsemiseen Arduino Megan avulla. Ultraäänianturit HC-SR04 vs HY-SRF05 ovat halpoja ja
Kasvisairauksien havaitseminen koneoppimisen avulla: 6 vaihetta
Kasvisairauksien havaitseminen koneoppimisen avulla: Sairaiden kasvien havaitsemis- ja tunnistamisprosessi on aina ollut manuaalinen ja työläs prosessi, joka vaatii ihmisiä tarkastamaan kasvin kehon silmämääräisesti, mikä voi usein johtaa virheelliseen diagnoosiin. On myös ennustettu, että maailmanlaajuisena
Esteen havaitseminen: Valkoinen ruoko: 5 vaihetta
Esteen havaitseminen Valkoinen ruoko: Koulussani opettajani puhui avustavasta tekniikasta ja siitä, miten voimme tehdä työkaluja muiden auttamiseksi. Innostuin tästä ajatuksesta, joten päätin luoda varoitusjärjestelmän odottamattomille esteille näkövammaisille. Fo
Isoisän havaitseminen sängystä liian kauan: 7 vaihetta
Isoisän havaitseminen sängystä liian kauan: Taustaa Vaikka sängyn hälytysmonitorit ovat olleet monien vuosien ajan, jotka ovat vain yksinkertaisia sängyn tyynyjen kosketussulkuja, jotka soittavat paikallisen hälytyksen hoitajille, kun joku nousee sängystä, etäiselle perheelle ei ole ollut tapaa hoitajat voivat seurata