Sisukord:

Hädaolukordade tuvastamine - Qualcomm Dragonboard 410c: 7 sammu
Hädaolukordade tuvastamine - Qualcomm Dragonboard 410c: 7 sammu

Video: Hädaolukordade tuvastamine - Qualcomm Dragonboard 410c: 7 sammu

Video: Hädaolukordade tuvastamine - Qualcomm Dragonboard 410c: 7 sammu
Video: Планшет Lenovo Tab P11 или Xiaoxin Pad - ДЕТАЛЬНЫЙ ОБЗОР 2024, Juuli
Anonim
Hädaolukordade tuvastamine - Qualcomm Dragonboard 410c
Hädaolukordade tuvastamine - Qualcomm Dragonboard 410c
Hädaolukordade tuvastamine - Qualcomm Dragonboard 410c
Hädaolukordade tuvastamine - Qualcomm Dragonboard 410c
Hädaolukordade tuvastamine - Qualcomm Dragonboard 410c
Hädaolukordade tuvastamine - Qualcomm Dragonboard 410c

Otsides turvasüsteeme, kes jälgivad hädaolukordi, on võimalik märgata, et kogu salvestatud teabe töötlemine on liiga raske. Mõeldes sellele, otsustasime kasutada oma teadmisi heli-/pilditöötluses, andurites ja ajamites, et luua üks terviklik süsteem, mis võimaldab ennustada olukordi, kus inimeste elu on ohus.

See projekt hõlmab kohalikke andureid ja kaugseadmeid andmete kogumiseks ja draakonilauale saatmiseks, millel on töötlemisvõimsus, mis suudab saadud andmetest olulist teavet välja võtta.

Kaugseade on Arduino plaat, mille moodul HC-06 on kogu teabe edastamiseks keeratav ja odava laia võrguga, mis suudab töödelda suurt hulka andmeid.

Samm: nõutavad komponendid

Kõigepealt peate otsustama, milliseid andureid ja ajameid kavatsete kasutada, ning tehke arhitektuuri eskiis.

Meie puhul kasutame neid andureid, mis on ühendatud ARDUINO Pro Mini -ga, mis on loetletud allpool:

  • PIR (passiivne infrapuna-kohalolekuandur)
  • DHT 11 (niiskus- ja temperatuuriandur)
  • CO andur (vingugaasiandur)
  • Müraandur

Täiturmehhanismid:

  • mootori servo
  • helisignaal

Kommunikatsioon:

Bluetooth-moodul HC-06

Dragonboard 410c jaoks on meil mõned andurid ja tarkvara kõigi andmete sisestamiseks:

Andurid:

  • DHT 11
  • Päikesevalguse andur

Täiturmehhanismid:

  • Relee
  • Led staatus
  • Sumin

Samm: kaugseadme valmistamine

Kaugseadme valmistamine
Kaugseadme valmistamine

Nüüd on aeg ühendada kõik järgmised komponendid Arduino Boardiga, luues seadme, mis võtab vastu ümbritseva keskkonna andmed (müra, niiskus, temperatuur jne) ja saadab selle Bluetooth-mooduli HC-06 kaudu Dragonboardile.

Pöörake tähelepanu ühendustele, sest kõigil anduritel on kindlad kohad, kuhu ühendada.

Süsteemis võib andmete kogumiseks olla mitu seadet. Mida rohkem seadmeid olete keskkonda installinud, seda täpsem on andmetöötluse abil genereeritud diagnostika. Kuna on võimalik hankida laiemat teavet, mis võib olla kasulik.

Otsustasime kasutada arduino tahvlit, kuna sellel on rohkem ühilduvaid andureid, ja on võimalik paigaldada need kaugseadmed erinevatesse kohtadesse, kogudes rohkem teavet.

Kohalik seade on DragonBoard 410c, mis töötleb heli-, video-, digitaalset ja analoogteavet teie võimsa SnapDragon 410 protsessoriga.

Komponentide paigutamine (kaugjuhtimine)

Ühel tükil on mõned tihvtid, mis tuleb ühendada arduino pro miniplaadi parempoolsete tihvtidega.

Bluetooth-moodulil HC-06 on 4 kontakti:

  • TX (Transmissor) -> ühendatud RX Arduino tihvtiga
  • RX (vastuvõtja) -> ühendatud TX Arduino tihvtiga
  • VCC -> ühendatud 5v
  • GND

DHT 11 anduril on 4 tihvti (kuid ainult 3 on kasutusel):

  • Signaal -> ühendatud digitaalse tihvtiga
  • VCC -> ühendatud 5v
  • GND

PIR -anduril on 3 tihvti:

  • Signaal -> ühendatud digitaalse kontaktiga
  • VCC -> ühendatud 5v
  • GND

Gaasianduril (MQ) on 4 tihvti:

  • Digitaalne väljund -> ühendatud digitaalse tihvtiga (kui soovite digitaalset teavet)
  • Analoogväljund -> meie puhul kasutame seda analoogpistikuga ühendatud
  • VCC -> ühendatud 5v
  • GND

Müraanduril (KY-038) on 3 tihvti:

  • Signaal -> ühendatud analoogpistikuga
  • VCC -> ühendatud 5v
  • GND

Arduino kaugseadme kood:

/ * * Arduino saadab andmeid Blutoothi kaudu * * Andurite väärtus loetakse, ühendatakse * String ja saadetakse jadapordi kaudu. */ #sisalda "DHT.h" #define DHTPIN 3 #define DHTTYPE DHT22 #define PIRPIN 9 #define COPIN A6 DHT dht (DHTPIN, DHTTYPE); ujuk niiske, temperatuur; loogiline pir = 0; int, mikrofon; String msg = ""; char nome [40]; void setup () {Serial.begin (9600); dht.begin (); } void loop () {humidaty = dht.readHumidity (); temperatuur = dht.readTemperature (); pir = digitalRead (PIRPIN); co = analogRead (COPIN); mic = analogRead (A0); msg = "#;" + String (niiske) + ";" + String (temperatuur)+ ";"+ String (mikrofon)+ ";"+ String (pir)+ ";" + String (co) + ";#" + "\ n"; Serial.print (msg); viivitus (2000); }

Koodi selgitus:

Kõik Arduinos kasutatavad tihvtid on tsiteeritud koodi alguses ja andurite tööks vajalikud teegid lähtestatakse. Kõik andmed edastatakse vastavatele muutujatele, kes saavad igalt andurilt loetud väärtused iga 2000 millisekundi järel, seejärel ühendatakse need kõik stringina, seejärel kirjutatakse see järjestikuses. Sealt on DragonBoardis leiduva pytoni koodi abil väga lihtne selliseid andmeid jäädvustada.

Samm: tarkvara ja raamatukogud

Kõigi vastuvõetud andmete töötlemiseks ja turvasüsteemi juhtimiseks on vaja kasutada mõnda Qualcomm DragonBoard 410c tarkvara ja teeki.

Selles konkreetses projektis kasutame:

Tarkvara:

  • Python
  • Arduino

Platvormid:

  • Amazon AWS -> veebiserver
  • Phant -> Host andmesideteenus

Raamatukogud:

  • OpenCV-videotöötlus (https://opencv-python-tutroals.readthedocs.io/en/latest/)
  • PyAudio - helitöötlus (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 - koolitage ja ennustage masinõpet (https://scikit-learn.org/stable/install.html)
  • cPickle - salvestage masinõppe parameetrid (https://pymotw.com/2/pickle/)
  • MRAA - kasutage GPIO -sid (https://iotdk.intel.com/docs/master/mraa/python/)
  • UPM-kasutage GPIO-sid (https://github.com/intel-iot-devkit/upm)
  • PySerial - kasutage jadaühendust Bluetooth -seadmega (https://pythonhosted.org/pyserial/)

Samm: SSH kasutamine ja libide installimine

Kõigepealt peate IP -aadressi hankima Dragonboardilt, selleks peate sisse lülitama hiire, klaviatuuri ja HDMI -kuvariga ühendatud DragonBoardi. Kui plaat on sisse lülitatud, peate võrguga ühenduse looma, minge terminali ja käivitage käsk:

sudo ifconfig

pärast seda saate IP -aadressi.

IP -aadressiga pääsete Dragonboardile juurde SHH kaudu, selleks peate avama terminali arvutis, mis on ühendatud plaadiga samasse võrku. Terminalis saate käivitada käsu:

ssh linaro@{IP}

(peaksite {IP} asendama Dragonboardi IP -aadressiga).

Esimene lib, mille peate installima, on mraa lib. Selleks peate terminalis käivitama järgmise käsu:

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

Pythonile opencv installimiseks peate käivitama ainult käsu:

sudo apt-get install python-opencv

PyAudio installimiseks peate käivitama käsu:

sudo apt-get install python-pyaudio python3-pyaudio

Libs WAVE ja AudioOp on plaadile juba installitud. Numpy installimiseks peate käivitama käsu:

sudo apt-get install python-numpy python-scipy

Viimane lib, mille peate installima, on skikit, selle installimiseks peab teil olema pip. Teil on vaja ainult käsku käivitada:

pip install scikit-lear

Samm: Bluetooth -protokoll

Bluetoothi protokoll
Bluetoothi protokoll
Bluetoothi protokoll
Bluetoothi protokoll
Bluetoothi protokoll
Bluetoothi protokoll

DragonBoardi ühendus Arduinoga Bluetoothi kaudu

Bluetooth-moodul (HC-06) ühendati algselt Arduino Nano-ga järgmise näite kohaselt:

Kasutades graafilist liidest Linaro (operatsioonisüsteem, mida kasutatakse praeguses projektis DragonBoardis), klõpsake alumise riba paremal küljel Bluetoothi sümbolil ja seejärel nupul „Seadista uus seade” ning konfigureerige oma Bluetooth -mooduliga, jättes selle sidumiseks. Veenduge, et teie moodul on tegelikult ühendatud, klõpsates uuesti Bluetoothi sümbolil, klõpsake nuppu "Seadmed …" ja vaadake, kas teie seadme nimi on loetletud ja ühendatud. Nüüd valige ekraanilt "Bluetooth -seadmed" oma seade ja paremklõpsake seda ning märkige port, millega teie Bluetooth -moodul on ühendatud (nt: "rfcomm0"). Märkus. Pordi nimi, millega teie seade on ühendatud, on oluline andmevahetuse lubamiseks järgmises etapis.

DragonBoardi andmevahetuse ja Bluetoothi loomine

Põhimõtteliselt järgime samm-sammult linki: https://www.uugear.com/portfolio/bluetooth-communi…, kuid me ei teinud sidumise osa ainult pythoni koodide ja Arduino täitmisega. Pythonis kasutati jadakogu, mis lähtestati bluetoothiga ühendatud porti, seega luges python -kood Bluetoothi mooduli kaudu arduinoga ühendatud andurite andmeid.

Samm 6: Mezzanine'i kasutamine DragonBoard 410c -s

Mezzanine'i kasutamine DragonBoard 410c -s
Mezzanine'i kasutamine DragonBoard 410c -s

Draakonilaua ja komponentide vaheliste ühenduste loomiseks kasutame Mezannine'i nimega kilpi, mille on välja töötanud 96 plaati.

Selle kilbi abil on välisseadmete ühendamine palju lihtsam.

Pistikute kasutamine on pärit Grove'i arenduskomplektist, nii et see kasutab lihtsalt especif -kaablit, mis ühendab mõlemat suunda, Kõik osad on sellel veebisaidil hõlpsasti leitavad:

Kasutame järgmisi komplekte:

  • Grove Relay
  • Grove päikesevalguse andur
  • Grove led pistikupesa
  • Grove temp & humi andur
  • Grove Buzzer

Samm: tarkvara DragonBoard 410c

Programmi osa DragonBoardis kodeeriti Pythonis ja Arduino puhul kasutatav programm töötati välja C ++ keeles. Arduino loeb iga 2 minuti järel kogu selle külge kinnitatud anduri. Arduino saadab lugemise Bluetoothi kaudu DragonBoardile. DragonBoard ühendab lugemise, mis pärineb Arduino'st lugemisega, mille ta teeb Mezzanine'i kilbi abil koos heli- ja videoproovide funktsioonidega.

Nende andmetega püüab juhatus ennustada, kas tegemist on eriolukorraga. Juhatus saadab Phant'i abil Amazoni veebiteenusele toorandmed ja nende tehtud ennustused. Kui plaat ennustab kummalise olukorra tekkimist, proovib ta hoiatada kasutajat, kes vilgutab LED -i ja helisignaali vahekorrusel ning näidata veebirakenduses. Veebirakenduses on võimalik näha ka algandmeid, et mõista selles valdkonnas toimuvat.

Soovitan: