Përmbajtje:

Zbulimi i situatave emergjente - Qualcomm Dragonboard 410c: 7 hapa
Zbulimi i situatave emergjente - Qualcomm Dragonboard 410c: 7 hapa

Video: Zbulimi i situatave emergjente - Qualcomm Dragonboard 410c: 7 hapa

Video: Zbulimi i situatave emergjente - Qualcomm Dragonboard 410c: 7 hapa
Video: Situatat e emergjencës/ SHBA, përdorim masiv të droneve - Top Channel 2024, Nëntor
Anonim
Zbulimi i situatave emergjente - Qualcomm Dragonboard 410c
Zbulimi i situatave emergjente - Qualcomm Dragonboard 410c
Zbulimi i situatave emergjente - Qualcomm Dragonboard 410c
Zbulimi i situatave emergjente - Qualcomm Dragonboard 410c
Zbulimi i situatave emergjente - Qualcomm Dragonboard 410c
Zbulimi i situatave emergjente - Qualcomm Dragonboard 410c

Duke kërkuar sisteme sigurie që punojnë për të monitoruar situatat emergjente, është e mundur të vërehet se është shumë e vështirë për të përpunuar të gjithë informacionin e regjistruar. Duke menduar për këtë, ne vendosëm të përdorim njohuritë tona në përpunimin e audios/imazhit, sensorët dhe aktivizuesit për të krijuar një sistem të plotë që bën të mundur parashikimin e situatave kur jeta e njerëzve është në rrezik.

Ky projekt ka sensor lokal dhe pajisje të largëta për të mbledhur të dhëna dhe për t'i dërguar në dragonboard, e cila ka fuqi përpunuese të aftë për të nxjerrë informacione të rëndësishme nga të dhënat e marra.

Pajisja në distancë është një tabelë Arduino me një modul HC-06 që mundëson transferimin e të gjitha informacioneve dhe një rrjet të gjerë me kosto të ulët të aftë për të përpunuar një sasi të madhe të të dhënave.

Hapi 1: Komponentët e kërkuar

Para së gjithash, ju duhet të vendosni se cilët sensorë dhe aktivizues do të përdorni dhe të bëni skicën e arkitekturës.

Në rastin tonë, ne po përdorim këta sensorë të lidhur në ARDUINO Pro Mini, të listuara më poshtë:

  • PIR (Infrared i Pasiv-Sensori i Prezencës)
  • DHT 11 (Sensori i lagështisë dhe temperaturës)
  • Sensori i CO (Sensori i Monoksidit të Karbonit)
  • Sensori i zhurmës

Aktivizuesit:

  • servo motorike
  • zile

Komunikimi:

Moduli Bluetooth HC-06

Për Dragonboard 410c, ne do të kemi disa sensorë dhe softuerë për të përpunuar të gjitha hyrjet e të dhënave:

Sensorë:

  • DHT 11
  • Sensori i dritës së diellit

Aktivizuesit:

  • Stafetë
  • Statusi i udhëhequr
  • Zile

Hapi 2: Krijimi i pajisjes në distancë

Krijimi i pajisjes në distancë
Krijimi i pajisjes në distancë

Tani është koha për të lidhur të gjithë përbërësit e mëposhtëm në Bordin Arduino, duke krijuar një pajisje që do të marrë të dhënat nga ambienti (zhurma, lagështia, temperatura, etj.), Dhe t'i dërgojë në Dragonboard me modulin bluetooth HC-06.

Necessaryshtë e nevojshme t'i kushtohet vëmendje lidhjeve, sepse i gjithë sensori ka vende të veçanta për t'u lidhur.

Në sistem, është e mundur që të keni më shumë se një pajisje për të mbledhur të dhëna. Sa më shumë pajisje që keni instaluar në mjedis, aq më i saktë është diagnostifikimi i krijuar nga përpunimi i të dhënave. Meqenëse do të jetë e mundur të nxirret një gamë më e gjerë informacioni që mund të jetë e dobishme.

Ne vendosëm të përdorim një bord arduino sepse ka sensorë më të pajtueshëm, dhe është e mundur të instaloni këto pajisje të largëta në vende të ndryshme, duke mbledhur më shumë informacion.

Pajisja lokale është DragonBoard 410c, e cila përpunon informacion audio, video, dixhitale dhe analoge me procesorin tuaj të fuqishëm SnapDragon 410.

Vendosja e përbërësve (Largimi në distancë)

Cila pjesë ka disa kunja që duhet të lidhen në kunjat e duhur në mini bordin arduino pro.

Moduli Bluetooth HC-06 ka 4 kunja:

  • TX (Transmetuesi) -> i lidhur në kunjin e RX Arduino
  • RX (Marrësi) -> i lidhur në kunjin e TX Arduino
  • VCC -> e lidhur në 5v
  • GND

Sensori DHT 11 ka 4 kunja (por vetëm 3 në përdorim):

  • Sinjali -> i lidhur në një kunj dixhital
  • VCC -> e lidhur në 5v
  • GND

Sensori PIR ka 3 kunja:

  • Sinjali -> i lidhur në një kunj dixhital
  • VCC -> e lidhur në 5v
  • GND

Sensori i gazit (MQ) ka 4 kunja:

  • Digital OUT -> e lidhur në një kunj dixhital (nëse doni një informacion dixhital)
  • Analog OUT -> në rastin tonë, ne po e përdorim këtë të lidhur në një kunj analog
  • VCC -> e lidhur në 5v
  • GND

Sensori i zhurmës (KY-038) ka 3 kunja:

  • Sinjali -> i lidhur në një kunj analog
  • VCC -> e lidhur në 5v
  • GND

Kodi për pajisjen e largët Arduino:

/ * * Arduino dërgon të dhëna përmes Blutooth * * Vlera e sensorëve lexohet, lidhet me * String dhe dërgohet përmes portit serik. */ #include "DHT.h" #define DHTPIN 3 #define DHTTYPE DHT22 #define PIRPIN 9 #define COPIN A6 DHT dht (DHTPIN, DHTTYPE); noton humidaty, temperatura; boolean pir = 0; int bashkë, mikrofon; Msg = ""; char nome [40]; void setup () {Serial.begin (9600); dht.filloj (); } void loop () {humidaty = dht.readHumidity (); temperatura = dht.readTemperatura (); pir = digitalRead (PIRPIN); co = analogRead (COPIN); mikrofon = analogRead (A0); msg = "#;" + Varg (me lagështi) + ";" + Vargu (temperatura)+ ";"+ Vargu (mikrofoni)+ ";"+ Vargu (pir)+ ";" + Vargu (bashkë) + ";#" + "\ n"; Serial.print (msg); vonesa (2000); }

Shpjegimi i kodit:

Të gjitha kunjat e përdorura në Arduino citohen në fillim të kodit dhe bibliotekat përkatëse të kërkuara për funksionimin e sensorëve inicializohen. Të gjitha të dhënat do t'i kalojnë variablave përkatëse të cilat do të marrin vlerat e lexuara nga secili sensor çdo 2000 milisekonda, pastaj të gjitha ato janë të lidhura në një varg, pastaj shkruhen në Serial. Nga atje është shumë e lehtë për kodin piton të pranishëm në DragonBoard për të kapur të dhëna të tilla.

Hapi 3: Softuerët dhe Bibliotekat

Për të përpunuar të gjitha të dhënat e marra dhe kontrolluar sistemin e sigurisë, është e nevojshme të përdorni disa softuerë dhe biblioteka në Qualcomm DragonBoard 410c.

Në këtë projekt të veçantë ne po përdorim:

Softuerët:

  • Python
  • Arduino

Platformat:

  • Amazon AWS -> server në internet
  • Phant -> Shërbimi i të dhënave të hostit

Bibliotekat:

  • OpenCV-Përpunimi i videove (https://opencv-python-tutroals.readthedocs.io/en/latest/)
  • PyAudio - Përpunimi i audios (https://people.csail.mit.edu/hubert/pyaudio/)
  • Vala (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 - Trajnoni dhe parashikoni mësimin e makinerisë (https://scikit-learn.org/stable/install.html)
  • cPickle - Ruaj parametrat e mësimit të makinerisë (https://pymotw.com/2/pickle/)
  • MRAA - Përdorni GPIO -të (https://iotdk.intel.com/docs/master/mraa/python/)
  • UPM-Përdorni GPIO-të (https://github.com/intel-iot-devkit/upm)
  • PySerial - Përdorni për komunikimin serik me pajisjen Bluetooth (https://pythonhosted.org/pyserial/)

Hapi 4: Përdorimi i SSH dhe Instalimi i Libs

Para së gjithash ju duhet të merrni adresën IP nga Dragonboard, për ta bërë këtë, duhet të aktivizoni DragonBoard të lidhur me miun, tastierën dhe monitorin HDMI. Kur bordi të ndizet ju duhet të lidheni me një rrjet, sesa të shkoni në terminal dhe të ekzekutoni komandën:

sudo ifconfig

pas kësaj ju mund të merrni adresën IP.

Me adresën IP mund të hyni në Dragonboard përmes SHH, për ta bërë këtë ju duhet të hapni një terminal në një kompjuter të lidhur në të njëjtin rrjet me bordin. Në terminal mund të ekzekutoni komandën:

ssh linaro@{IP}

(ju duhet të zëvendësoni {IP} me adresën IP që merrni në Dragonboard).

Libri i parë që duhet të instaloni është libri mraa. Për ta bërë këtë, duhet të ekzekutoni komandën e mëposhtme në terminal:

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

Për të instaluar opencv për python ju duhet vetëm të ekzekutoni komandën:

sudo apt-get install python-opencv

Për të instaluar PyAudio ju duhet të ekzekutoni komandën:

sudo apt-get install python-pyaudio python3-pyaudio

Libs WAVE dhe AudioOp janë instaluar tashmë në tabelë. Për të instaluar numpy duhet të ekzekutoni komandën:

sudo apt-get install python-numpy python-scipy

Libri i fundit që duhet të instaloni është scikit, për ta instaluar atë duhet të keni të instaluar pip. Vetëm ju duhet të ekzekutoni komandën:

pip instaloni scikit-lear

Hapi 5: Protokolli Bluetooth

Protokolli Bluetooth
Protokolli Bluetooth
Protokolli Bluetooth
Protokolli Bluetooth
Protokolli Bluetooth
Protokolli Bluetooth

Lidhja DragonBoard me Arduino me anë të Bluetooth

Moduli Bluetooth (HC-06) u lidh fillimisht me Arduino Nano sipas shembullit të mëposhtëm:

Duke përdorur ndërfaqen grafike Linaro (Sistemi operativ i përdorur në projektin aktual në DragonBoard), në anën e djathtë të shiritit të poshtëm klikoni në simbolin Bluetooth dhe më pas klikoni në "Konfiguro pajisjen e re" dhe konfiguroni me modulin tuaj Bluetooth duke e lënë atë të çiftuar. Verifikoni që moduli juaj është i lidhur në të vërtetë duke klikuar përsëri në simbolin Bluetooth, klikoni në "Pajisjet …" dhe shihni nëse emri i pajisjes tuaj është i listuar dhe i lidhur. Tani zgjidhni pajisjen tuaj në ekranin "Pajisjet Bluetooth" dhe klikoni me të djathtën mbi të dhe vini re portën me të cilën është lidhur moduli juaj Bluetooth (p.sh.: "rfcomm0"). Shënim: Emri i portit me të cilin është lidhur pajisja juaj do të jetë i rëndësishëm për hapin tjetër për të mundësuar shkëmbimin e të dhënave.

Krijimi i shkëmbimit të të dhënave DragonBoard dhe Bluetooth

Në thelb ne ndjekim hap pas hapi lidhjen: https://www.uugear.com/portfolio/bluetooth-communi… por nuk e kemi kryer pjesën e çiftimit vetëm ekzekutimin e kodeve python dhe Arduino. Në python u përdor biblioteka serike e inicializuar në portën e lidhur me bluetooth, prandaj kodi i pythonit lexoi të dhënat e sensorëve që janë të lidhur me arduino përmes modulit bluetooth.

Hapi 6: Përdorimi i Mezzanine në DragonBoard 410c

Përdorimi i Mezzanine në DragonBoard 410c
Përdorimi i Mezzanine në DragonBoard 410c

Për të krijuar lidhjet mes bordit të dragoit dhe përbërësve, ne po përdorim një lloj mburoje të quajtur nga Mezannine, e zhvilluar nga 96 borde.

Duke përdorur këtë mburojë, lidhja e pajisjeve periferike bëhet shumë më e lehtë.

Përdoruesit e lidhësve janë nga kompleti i zhvillimit të grove, kështu që është duke përdorur vetëm një kabllo especif që lidh të dyja mënyrat, Të gjitha pjesët mund të gjenden lehtësisht në këtë faqe në internet:

Ne po përdorim këto komplete më poshtë:

  • Stafetë Grove
  • Sensori i dritës së diellit Grove
  • Fole e udhëhequr nga Grove
  • Sensori i temperaturës dhe humit i Grove
  • Grove Buzzer

Hapi 7: Softueri DragonBoard 410c

Pjesa e programit në DragonBoard u kodua në Python dhe programi i përdorur në Arduino u zhvillua në C ++. Çdo 2 minuta Arduino lexon të gjithë sensorin e bashkangjitur me të. Se Arduino dërgoni leximin në DragonBoard me Bluetooth. DragonBoard kombinon leximin e ardhur nga Arduino me leximin që bën nga mburoja Mezzanine me veçoritë nga mostrat audio dhe video.

Me këto të dhëna, Bordi përpiqet të parashikojë nëse po ndodh një situatë emergjente. Bordi i dërgon Amazon Web Service duke përdorur Phant të dhënat e para dhe parashikimin që ai bëri. Nëse bordi parashikon që po ndodh në një situatë të çuditshme, përpiquni të paralajmëroni përdoruesin që ndez një led dhe zile në Mezzanine dhe shfaqet në aplikacionin në internet. Në aplikacionin në internet është gjithashtu e mundur të shihen të dhënat e papërpunuara për të kuptuar se çfarë po ndodh në këtë fushë.

Recommended: