Orodha ya maudhui:

Kugundua hali za kujitokeza - Jukwaa la Qualcomm 410c: Hatua 7
Kugundua hali za kujitokeza - Jukwaa la Qualcomm 410c: Hatua 7

Video: Kugundua hali za kujitokeza - Jukwaa la Qualcomm 410c: Hatua 7

Video: Kugundua hali za kujitokeza - Jukwaa la Qualcomm 410c: Hatua 7
Video: Seth Hertlein, Global Head of Policy, and Ian Rogers, Chief Experience Officer, Ledger 2024, Julai
Anonim
Kugundua hali za kujitokeza - Qualcomm Dragonboard 410c
Kugundua hali za kujitokeza - Qualcomm Dragonboard 410c
Kugundua hali za kujitokeza - Qualcomm Dragonboard 410c
Kugundua hali za kujitokeza - Qualcomm Dragonboard 410c
Kugundua hali za kujitokeza - Qualcomm Dragonboard 410c
Kugundua hali za kujitokeza - Qualcomm Dragonboard 410c

Kutafuta mifumo ya usalama ambayo inafanya kazi ya kufuatilia hali za kujitokeza, inawezekana kugundua kuwa ni ngumu sana kushughulikia habari zote zilizorekodiwa. Kufikiria juu ya hilo, tuliamua kutumia maarifa yetu katika usindikaji wa sauti / picha, sensorer na watendaji kuunda mfumo mmoja kamili unaowezesha kutabiri hali ambapo maisha ya watu yako hatarini.

Mradi huu unasababisha sensorer ya ndani na vifaa vya mbali kukusanya data na kupeleka kwenye jukwaa, ambalo lina nguvu ya usindikaji inayoweza kutoa habari muhimu kutoka kwa data iliyopokelewa.

Kifaa kijijini ni bodi ya Arduino iliyo na moduli HC-06 ikigeuza uwezekano wa kutuliza habari zote, na wavu wa gharama nafuu wenye uwezo wa kusindika data nyingi.

Hatua ya 1: Vipengele vinavyohitajika

Kwanza kabisa, lazima uamue ni sensorer zipi na actuatos ambazo utatumia, na utengeneze mchoro wa archtecture.

Kwa upande wetu, tunatumia sensorer hizi zilizopatikana katika ARDUINO Pro Mini, iliyoorodheshwa hapa chini:

  • PIR (Passive Infrared - sensa ya Uwepo)
  • DHT 11 (sensorer ya unyevu na joto) https://www.dx.com/p/dht11-digital-temperature- na
  • Sensor ya CO (Sensorer ya Monoxide ya Kaboni)
  • Sensor ya kelele

Watendaji:

  • motor servo https://www.dx.com/p/sg90-universal-9g-servo-motor …….
  • buzzer

Mawasiliano:

Moduli ya Bluetooth HC-06

Kwa Joka la 410c, tutakuwa na sensorer na vifaa vya laini kusindika pembejeo zote za data:

Sensorer:

  • DHT 11 https://www.dx.com/p/dht11-digital-joto-na- ……
  • Sensor ya jua

Watendaji:

  • Kupitisha
  • Hali iliyoongozwa
  • Buzzer

Hatua ya 2: Kutengeneza Kifaa cha mbali

Kutengeneza Kifaa cha mbali
Kutengeneza Kifaa cha mbali

Sasa ni wakati wa kuunganisha vifaa vyote vifuatavyo kwenye Bodi ya Arduino, na kuunda kifaa ambacho kitapokea data kutoka kwa mazingira (kelele, unyevu, joto, n.k), na tuma kwa Joka na moduli ya bluetooth HC-06.

Ni muhimu kuzingatia mikutano, kwa sababu sensa yote ina maeneo maalum ya kutazama.

Kwenye mfumo, inawezekana kuwa na zaidi ya kifaa kimoja kukusanya data. Vifaa zaidi ambavyo umeweka katika mazingira, utambuzi sahihi zaidi unaotokana na usindikaji wa data ni. Kwa kuwa itawezekana kutoa habari anuwai ambayo inaweza kuwa muhimu.

Tuliamua kutumia bodi ya arduino kwa sababu ina sensorer zinazofaa zaidi, na inawezekana kusanikisha vifaa hivi vya mbali katika maeneo ya diferents, kukusanya habari zaidi.

Kifaa cha ndani ni DragonBoard 410c, mchakato wa sauti, video, dijiti na habari za analog na processor yako yenye nguvu ya SnapDragon 410.

Kuweka vifaa (Remote Devide)

Piga kipande kimoja kina pini ambazo lazima ziunganishwe kwenye pini za kulia kwenye bodi ya mini ya arduino pro.

Moduli ya Bluetooth HC-06 ina pini 4:

  • TX (Transmissor) -> imeunganishwa kwenye pini ya RX Arduino
  • RX (Mpokeaji) -> imeunganishwa kwenye pini ya TX Arduino
  • VCC -> imeunganishwa kwenye 5v
  • GND

Sensor ya DHT 11 ina pini 4 (lakini ni 3 tu zinazotumika):

  • Ishara -> imegunduliwa kwenye pini ya dijiti
  • VCC -> imeunganishwa kwenye 5v
  • GND

Sensor ya PIR ina pini 3:

  • Ishara -> imeunganishwa kwenye pini ya dijiti
  • VCC -> imeunganishwa kwenye 5v
  • GND

Sensorer ya gesi (MQ) ina pini 4:

  • Dijitali OUT -> imegunduliwa kwenye pini ya dijiti (ikiwa unataka habari ya dijiti)
  • Analog OUT -> kwa upande wetu, tunatumia hii iliyounganishwa kwenye pini ya analog
  • VCC -> imeunganishwa kwenye 5v
  • GND

Sensor ya kelele (KY-038) ina pini 3:

  • Ishara -> imeunganishwa kwenye pini ya analog
  • VCC -> imeunganishwa kwenye 5v
  • GND

Nambari ya Kifaa cha mbali cha Arduino:

/ * * Arduino tuma data kupitia Blutooth * * Thamani ya sensorer husomwa, imefungwa kwenye * Kamba na kutuma kupitia bandari ya serial. * / # pamoja na "DHT.h" #fafanua DHTPIN 3 #fafanua DHTTYPE DHT22 #fafanua PIRPIN 9 #fafanua COPIN A6 DHT dht (DHTPIN, DHTTYPE); kuelea humidaty, joto; maharamia wa boolean = 0; ushirikiano, mic; Kamba msg = ""; char mpya [40]; kuanzisha batili () {Serial.begin (9600); kuanza (); } kitanzi batili () {humidaty = dht.readHumidity (); joto = dht. soma Joto (); pir = kusoma kwa dijiti (PIRPIN); ushirikiano = AnalogSoma (COPIN); mic = analogSoma (A0); msg = "#;" + Kamba (humidaty) + ";" + Kamba (joto) + ";" + Kamba (mic) + ";" + Kamba (pir) + ";" + Kamba (co) + "; #" + "\ n"; Serial.print (msg); kuchelewa (2000); }

Maelezo ya msimbo:

Pini zote zinazotumiwa katika Arduino zimenukuliwa mwanzoni mwa nambari na maktaba husika zinazohitajika kwa utendakazi wa sensorer zimeanzishwa. Takwimu zote zitapitishwa kwa vigeuzi husika ambavyo vitapokea maadili yaliyosomwa kutoka kwa kila sensa kila millisecond 2000, halafu zote zimefungwa kwa Kamba, kisha imeandikwa kwa Serial. Kutoka hapo ni rahisi sana kwa nambari ya pyton iliyopo kwenye DragonBoard kunasa data kama hizo.

Hatua ya 3: Softwares na Maktaba

Ili kusindika data zote zilizopokelewa na kudhibiti mfumo wa usalama, ni muhimu kutumia laini na maktaba kwenye Qualcomm DragonBoard 410c.

Katika mradi huu haswa tunatumia:

Vifaa laini:

  • Chatu
  • Arduino

Fomu za Plata:

  • Amazon AWS -> seva ya mkondoni
  • Phant -> Huduma ya data ya mwenyeji

Maktaba:

  • OpenCV - Usindikaji wa Video (https://opencv-python-tutroals.readthedocs.io/en/latest/)
  • PyAudio - Usindikaji wa Sauti (https://people.csail.mit.edu/hubert/pyaudio/)
  • Wimbi (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 - Treni na utabiri ujifunzaji wa mashine (https://scikit-learn.org/stable/install.html)
  • cPickle - Hifadhi vigezo vya kujifunza mashine (https://pymotw.com/2/pickle/)
  • MRAA - Tumia GPIOs (https://iotdk.intel.com/docs/master/mraa/python/)
  • UPM - Tumia GPIOs (https://github.com/intel-iot-devkit/upm)
  • PySerial - Tumia mawasiliano ya serial na kifaa cha Bluetooth (https://pythonhosted.org/pyserial/)

Hatua ya 4: Kutumia SSH na Kuweka Libs

Kwanza kabisa unahitaji kupata anwani ya IP kutoka kwa Joka, ili kufanya hivyo, unahitaji kuwasha DragonBoard iliyounganishwa na panya, kibodi na mfuatiliaji wa HDMI. Wakati bodi imewashwa unahitaji kuungana na mtandao, kuliko kwenda kwenye terminal na kuendesha amri:

Sudo ifconfig

baada ya hapo unaweza kupata anwani ya IP.

Ukiwa na anwani ya IP unaweza kupata Joka kupitia SHH, kufanya hivyo unahitaji kufungua wastaafu kwenye kompyuta iliyounganishwa kwenye mtandao sawa na bodi. Katika terminal unaweza kukimbia amri:

ssh linaro @ {IP}

(unapaswa kuchukua nafasi ya {IP} na anwani ya IP ambayo unapata kwenye Joka).

Lib ya kwanza unayohitaji kufunga ni mraa lib. Ili kufanya hivyo unahitaji kutumia amri ifuatayo kwenye terminal:

ppa ya kuongeza-apt-reppa: mraa / mraa && sudo apt-ge; t sasisha && sudo apt-get kufunga libmraa1 libmraa-dev mraa-zana python-mraa python3-mraa

Ili kusanikisha opencv ya chatu unahitaji tu kuendesha amri:

Sudo apt-get kufunga python-opencv

Ili kufunga PyAudio unahitaji kutumia amri:

Sudo apt-get kufunga python-pyaudio python3-pyaudio

WAVE na AudioOp za libs tayari zimewekwa kwenye bodi. Ili kusanikisha numpy unahitaji kutumia amri:

Sudo apt-get kufunga python-numpy python-scipy

Lib ya mwisho ambayo lazima usakinishe ni scikit, ili kuiweka unahitaji kuwa na bomba iliyosanikishwa. Kuliko unahitaji tu kuendesha amri:

pip kufunga scikit-lear

Hatua ya 5: Itifaki ya Bluetooth

Itifaki ya Bluetooth
Itifaki ya Bluetooth
Itifaki ya Bluetooth
Itifaki ya Bluetooth
Itifaki ya Bluetooth
Itifaki ya Bluetooth

Uunganisho wa DragonBoard na Arduino kwa njia ya Bluetooth

Moduli ya Bluetooth (HC-06) hapo awali iliunganishwa na Arduino Nano kulingana na mfano ufuatao:

Kutumia Linaro (Mfumo wa Uendeshaji Unayotumiwa katika mradi wa sasa katika DragonBoard) kielelezo cha picha, upande wa kulia wa mwamba wa chini bonyeza alama ya Bluetooth na kisha bonyeza "Sanidi Kifaa kipya" na usanidi na moduli yako ya Bluetooth na kuiacha ikiwa imeunganishwa. Thibitisha kuwa moduli yako imeunganishwa kwa kubonyeza ishara ya Bluetooth tena, bonyeza "Vifaa…" na uone ikiwa jina la kifaa chako limeorodheshwa na limeunganishwa. Sasa chagua kifaa chako kwenye skrini ya "Vifaa vya Bluetooth" na ubonyeze kulia juu yake na uone bandari ambayo moduli yako ya Bluetooth imeunganishwa nayo (mfano: "rfcomm0"). Kumbuka: Jina la bandari ambalo kifaa chako kimeunganishwa litakuwa muhimu kwa hatua inayofuata kuwezesha ubadilishaji wa data.

Kuanzisha kubadilishana data ya DragonBoard na Bluetooth

Kimsingi tunafuata hatua kwa hatua ya kiunga: https://www.uugear.com/portfolio/bluetooth-communi ……. lakini hatukufanya sehemu ya kuoanisha tu utekelezaji wa nambari za chatu na Arduino. Katika chatu ilitumika maktaba ya serial ambayo imeanzishwa katika bandari iliyounganishwa na bluetooth, kwa hivyo nambari ya chatu ilisoma data ya sensorer ambazo zimeunganishwa na arduino kupitia moduli ya bluetooth.

Hatua ya 6: Kutumia Mezzanine kwenye DragonBoard 410c

Kutumia Mezzanine kwenye DragonBoard 410c
Kutumia Mezzanine kwenye DragonBoard 410c

Ili kufanya unganisho uwe kati ya ubao wa joka na viambatanisho, tunatumia aina ya ngao inayoitwa na Mezannine, iliyotengenezwa na bodi 96.

Kutumia ngao hii, unganisha pembezoni inakuwa rahisi zaidi.

Viunganishi hutumia kutoka kwa kitanda cha maendeleo cha msituni, kwa hivyo ni kutumia tu kebo ya especif inayounganisha njia zote mbili, Sehemu zote zinaweza kupatikana kwa urahisi kwenye wavuti hii:

Tunatumia vifaa hivi:

  • Kupitisha Grove
  • Sensor ya jua ya Grove
  • Tundu lililoongozwa na Grove
  • Grove temp & humi sensor
  • Grove Buzzer

Hatua ya 7: Programu ya DragonBoard 410c

Sehemu ya programu katika DragonBoard iliorodheshwa kwenye Python na programu iliyotumiwa kwenye Arduino ilitengenezwa katika C ++. Kila dakika 2 Arduino inasoma sensorer yote iliyoambatanishwa nayo. Kuliko Arduino tuma usomaji kwa DragonBoard kwa Bluetooth. DragonBoard inachanganya usomaji ulikuja kutoka Arduino na usomaji ambao hufanya na ngao ya Mezzanine na huduma kutoka kwa sauti na sampuli za video.

Kwa data hii, Bodi inajaribu kutabiri ikiwa inatokea hali ya dharura. Bodi hutuma kwa Huduma ya Wavuti ya Amazon kwa kutumia Phant data ghafi na utabiri ambao ilitoa. Ikiwa bodi inabashiri kuwa inatokea hali ya kushangaza inajaribu kuonya mtumiaji akipepesa mwangaza na buzzer katika Mezzanine na kuonyesha kwenye programu ya wavuti. Katika programu ya wavuti inawezekana pia kuona data mbichi kuelewa kinachotokea katika eneo hili.

Ilipendekeza: