Satura rādītājs:

Ārkārtas situāciju noteikšana - Qualcomm Dragonboard 410c: 7 soļi
Ārkārtas situāciju noteikšana - Qualcomm Dragonboard 410c: 7 soļi

Video: Ārkārtas situāciju noteikšana - Qualcomm Dragonboard 410c: 7 soļi

Video: Ārkārtas situāciju noteikšana - Qualcomm Dragonboard 410c: 7 soļi
Video: Crypto Pirates Daily News – 21 января 2022 г. – последнее обновление новостей криптовалюты 2024, Novembris
Anonim
Ārkārtas situāciju noteikšana - Qualcomm Dragonboard 410c
Ārkārtas situāciju noteikšana - Qualcomm Dragonboard 410c
Ārkārtas situāciju noteikšana - Qualcomm Dragonboard 410c
Ārkārtas situāciju noteikšana - Qualcomm Dragonboard 410c
Ārkārtas situāciju noteikšana - Qualcomm Dragonboard 410c
Ārkārtas situāciju noteikšana - Qualcomm Dragonboard 410c

Meklējot drošības sistēmas, kas strādā, lai uzraudzītu ārkārtas situācijas, ir iespējams pamanīt, ka ir pārāk grūti apstrādāt visu ierakstīto informāciju. Domājot par to, mēs nolēmām izmantot savas zināšanas audio/attēlu apstrādē, sensoros un izpildmehānismos, lai izveidotu vienu pilnīgu sistēmu, kas ļauj paredzēt situācijas, kad cilvēku dzīvība ir apdraudēta.

Šajā projektā ir vietējie sensori un attālās ierīces, lai savāktu datus un nosūtītu uz pūķa dēli, kuram ir apstrādes jauda, kas spēj iegūt svarīgu informāciju no saņemtajiem datiem.

Tālvadības ierīce ir Arduino plate ar moduli HC-06, kuru iespējams pagriezt, lai pārsūtītu visu informāciju, un zemu izmaksu plašu tīklu, kas spēj apstrādāt lielu datu apjomu.

1. darbība. Nepieciešamās sastāvdaļas

Pirmkārt, jums jāizlemj, kurus sensorus un pievadus izmantot, un jāizveido arhitektūras skice.

Mūsu gadījumā mēs izmantojam šos sensorus, kas savienoti ar ARDUINO Pro Mini, kas uzskaitīti zemāk:

  • PIR (pasīvais infrasarkanais-klātbūtnes sensors)
  • DHT 11 (mitruma un temperatūras sensors)
  • CO sensors (oglekļa monoksīda sensors)
  • Trokšņa sensors

Izpildmehānismi:

  • motora servo
  • skaņas signāls

Komunikācija:

Bluetooth modulis HC-06

Lai izmantotu Dragonboard 410c, mums būs daži sensori un programmatūra visu datu ievadīšanai:

Sensori:

  • DHT 11
  • Saules gaismas sensors

Izpildmehānismi:

  • Stafete
  • LED statuss
  • Buzzer

2. darbība. Attālās ierīces izveide

Attālās ierīces izgatavošana
Attālās ierīces izgatavošana

Tagad ir pienācis laiks savienot visus turpmāk minētos komponentus ar Arduino dēli, izveidojot ierīci, kas saņems datus no apkārtējās vides (troksnis, mitrums, temperatūra utt.) Un nosūta uz Dragonboard, izmantojot Bluetooth moduli HC-06.

Jāpievērš uzmanība savienojumiem, jo visiem sensoriem ir noteiktas savienojuma vietas.

Sistēmā datu vākšanai var būt vairākas ierīces. Jo vairāk ierīču esat instalējis vidē, jo precīzāka ir datu apstrādes ģenerētā diagnostika. Tā kā būs iespējams iegūt plašāku informāciju, kas var būt noderīga.

Mēs nolēmām izmantot arduino plati, jo tajā ir vairāk saderīgu sensoru, un ir iespējams instalēt šīs attālās ierīces dažādās vietās, apkopojot vairāk informācijas.

Vietējā ierīce ir DragonBoard 410c, kas ar spēcīgu SnapDragon 410 procesoru apstrādā audio, video, digitālo un analogo informāciju.

Sastāvdaļu ievietošana (attālināti)

Vienā gabalā ir dažas tapas, kuras jāpievieno arduino pro mini plates labajās tapās.

Bluetooth modulim HC-06 ir 4 tapas:

  • TX (Transmisors) -> pievienots RX Arduino tapai
  • RX (uztvērējs) -> savienots ar TX Arduino tapu
  • VCC -> pievienots 5v
  • GND

DHT 11 sensoram ir 4 tapas (bet tikai 3 tiek izmantotas):

  • Signāls -> savienots ar ciparu tapu
  • VCC -> pievienots 5v
  • GND

PIR sensoram ir 3 tapas:

  • Signāls -> pievienots digitālajai tapai
  • VCC -> pievienots 5v
  • GND

Gāzes sensoram (MQ) ir 4 tapas:

  • Digital OUT -> savienots ar digitālo tapu (ja vēlaties digitālu informāciju)
  • Analog OUT -> mūsu gadījumā mēs to izmantojam, savienojot ar analogo tapu
  • VCC -> pieslēgts pie 5v
  • GND

Trokšņa sensoram (KY-038) ir 3 tapas:

  • Signāls -> savienots ar analogo tapu
  • VCC -> pievienots 5v
  • GND

Arduino attālās ierīces kods:

/ * * Arduino sūta datus, izmantojot Blutooth * * Sensoru vērtība tiek nolasīta, savienota * virknē un nosūtīta, izmantojot seriālo portu. */ #iekļaut "DHT.h" #define DHTPIN 3 #define DHTTYPE DHT22 #define PIRPIN 9 #define COPIN A6 DHT dht (DHTPIN, DHTTYPE); pludiņš mitrs, temperatūra; Būla pir = 0; int co, mikrofons; String msg = ""; char nome [40]; void setup () {Serial.begin (9600); dht.begin (); } void loop () {humidaty = dht.readHumidity (); temperatūra = dht.readTemperature (); pir = digitalRead (PIRPIN); co = analogRead (COPIN); mic = analogRead (A0); msg = "#;" + Stīga (mitra) + ";" + String (temperatūra)+ ";"+ String (mic)+ ";"+ String (pir)+ ";" + String (co) + ";#" + "\ n"; Sērijas nospiedums (ziņojums); kavēšanās (2000); }

Koda skaidrojums:

Visas Arduino izmantotās tapas tiek norādītas koda sākumā, un tiek inicializētas attiecīgās bibliotēkas, kas nepieciešamas sensoru darbībai. Visi dati tiks nodoti attiecīgajiem mainīgajiem, kas saņems no katra sensora nolasītās vērtības ik pēc 2000 milisekundēm, pēc tam visi tie ir savienoti virknē, pēc tam tiek rakstīti sērijā. No turienes ir ļoti viegli no DragonBoard esošā pitona koda iegūt šādus datus.

3. darbība. Programmatūra un bibliotēkas

Lai apstrādātu visus saņemtos datus un kontrolētu drošības sistēmu, ir nepieciešams izmantot dažas Qualcomm DragonBoard 410c programmatūras un bibliotēkas.

Šajā konkrētajā projektā mēs izmantojam:

Programmatūra:

  • Python
  • Arduino

Platformas:

  • Amazon AWS -> tiešsaistes serveris
  • Phant -> Uzņēmēja datu pakalpojums

Bibliotēkas:

  • OpenCV-video apstrāde (https://opencv-python-tutroals.readthedocs.io/en/latest/)
  • PyAudio - audio apstrāde (https://people.csail.mit.edu/hubert/pyaudio/)
  • Vilnis (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 - apmāciet un prognozējiet mašīnmācīšanos (https://scikit-learn.org/stable/install.html)
  • cPickle - saglabājiet mašīnmācīšanās parametrus (https://pymotw.com/2/pickle/)
  • MRAA - izmantojiet GPIO (https://iotdk.intel.com/docs/master/mraa/python/)
  • UPM-izmantojiet GPIO (https://github.com/intel-iot-devkit/upm)
  • PySerial - izmantojiet sērijveida saziņai ar Bluetooth ierīci (https://pythonhosted.org/pyserial/)

4. darbība: SSH izmantošana un Libu instalēšana

Pirmkārt, jums ir jāiegūst IP adrese no Dragonboard, lai to izdarītu, jums jāieslēdz DragonBoard, kas savienots ar peli, tastatūru un HDMI monitoru. Kad tāfele ir ieslēgta, jums ir nepieciešams izveidot savienojumu ar tīklu, nevis doties uz termināli un palaist komandu:

sudo ifconfig

pēc tam jūs varat iegūt IP adresi.

Izmantojot IP adresi, varat piekļūt Dragonboard, izmantojot SHH, lai to izdarītu, jums ir jāatver terminālis datorā, kas savienots tajā pašā tīklā kā dēlis. Terminālī varat palaist komandu:

ssh linaro@{IP}

(jums ir jāaizstāj {IP} ar IP adresi, ko iegūstat Dragonboard).

Pirmā lib, kas jāinstalē, ir mraa lib. Lai to izdarītu, terminālī jāizpilda šāda komanda:

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

Lai instalētu opencv python, jums tikai jāpalaiž komanda:

sudo apt-get instalēt python-opencv

Lai instalētu PyAudio, jums jāpalaiž komanda:

sudo apt-get instalēt python-pyaudio python3-pyaudio

Libs WAVE un AudioOp jau ir instalēti tāfele. Lai instalētu numpy, jums jāizpilda komanda:

sudo apt-get instalēt python-numpy python-scipy

Pēdējais lib, kas jums jāinstalē, ir scikit, lai to instalētu, jums ir jāinstalē pip. Jums vienkārši jāizpilda komanda:

pip instalēt scikit-lear

5. solis: Bluetooth protokols

Bluetooth protokols
Bluetooth protokols
Bluetooth protokols
Bluetooth protokols
Bluetooth protokols
Bluetooth protokols

DragonBoard savienojums ar Arduino, izmantojot Bluetooth

Bluetooth modulis (HC-06) sākotnēji tika savienots ar Arduino Nano saskaņā ar šādu piemēru:

Izmantojot grafisko saskarni Linaro (operētājsistēma, ko izmanto pašreizējā projektā DragonBoard), apakšējās joslas labajā pusē noklikšķiniet uz Bluetooth simbola un pēc tam noklikšķiniet uz "Iestatīt jaunu ierīci" un konfigurējiet, izmantojot Bluetooth moduli, atstājot to pārī. Pārbaudiet, vai jūsu modulis ir faktiski pievienots, vēlreiz noklikšķinot uz Bluetooth simbola, noklikšķiniet uz "Ierīces …" un pārbaudiet, vai jūsu ierīces nosaukums ir norādīts un pievienots. Tagad ekrānā "Bluetooth ierīces" atlasiet savu ierīci un ar peles labo pogu noklikšķiniet uz tās un atzīmējiet portu, ar kuru ir pievienots jūsu Bluetooth modulis (piemēram: "rfcomm0"). Piezīme. Porta nosaukums, ar kuru ierīce ir savienota, būs svarīgs nākamajā solī, lai iespējotu datu apmaiņu.

DragonBoard datu apmaiņas un Bluetooth izveide

Būtībā mēs soli pa solim sekojam saitei: https://www.uugear.com/portfolio/bluetooth-communi…, bet mēs neveicām savienošanu pārī, tikai izpildot pitona kodus un Arduino. Python tika izmantota sērijveida bibliotēka, kas tiek inicializēta portā, kas savienots ar Bluetooth, tāpēc pitona kods nolasa sensoru datus, kas ir savienoti ar arino, izmantojot Bluetooth moduli.

6. darbība. Mezzanine izmantošana DragonBoard 410c

Mezzanine izmantošana DragonBoard 410c
Mezzanine izmantošana DragonBoard 410c

Lai izveidotu savienojumus starp pūķa dēli un detaļām, mēs izmantojam vairoga veidu, ko sauc par Mezannine un kuru izstrādāja 96 dēļi.

Izmantojot šo vairogu, perifērijas ierīču pievienošana kļūst daudz vienkāršāka.

Savienotāji tiek izmantoti birzs attīstības komplektā, tāpēc tiek izmantots tikai especif kabelis, kas savieno abus virzienus, Visas detaļas var viegli atrast šajā vietnē:

Mēs izmantojam šos komplektus zemāk:

  • Grove stafete
  • Grove Sunlight sensors
  • Grove led ligzda
  • Grove temp & humi sensors
  • Grove Buzzer

7. solis: programmatūra DragonBoard 410c

Programmas daļa DragonBoard tika kodēta Python, un Arduino izmantotā programma tika izstrādāta C ++. Ik pēc 2 minūtēm Arduino nolasa visu tam pievienoto sensoru. Nekā Arduino, izmantojot Bluetooth, nosūta lasījumu DragonBoard. DragonBoard apvieno Arduino lasījumu ar nolasījumu, ko tas veido Mezzanine vairogs, ar audio un video paraugu funkcijām.

Ar šiem datiem valde mēģina paredzēt, vai tā notiek ārkārtas situācijā. Valde nosūta Amazon tīmekļa pakalpojumam, izmantojot Phant, neapstrādātos datus un prognozes. Ja tāfele prognozē, ka notiek dīvaina situācija, tā mēģina brīdināt lietotāju, mirgojošu gaismas diodi un skaņas signālu starpstāvā, un parādīt tīmekļa lietojumprogrammā. Tīmekļa lietojumprogrammā ir iespējams redzēt arī neapstrādātus datus, lai saprastu, kas notiek šajā jomā.

Ieteicams: