Բովանդակություն:

Արտակարգ իրավիճակների հայտնաբերում - Qualcomm Dragonboard 410c: 7 քայլ
Արտակարգ իրավիճակների հայտնաբերում - Qualcomm Dragonboard 410c: 7 քայլ

Video: Արտակարգ իրավիճակների հայտնաբերում - Qualcomm Dragonboard 410c: 7 քայլ

Video: Արտակարգ իրավիճակների հայտնաբերում - Qualcomm Dragonboard 410c: 7 քայլ
Video: Մասնագիտությունը՝ փրկարար 2024, Նոյեմբեր
Anonim
Արտակարգ իրավիճակների հայտնաբերում - Qualcomm Dragonboard 410c
Արտակարգ իրավիճակների հայտնաբերում - Qualcomm Dragonboard 410c
Արտակարգ իրավիճակների հայտնաբերում - Qualcomm Dragonboard 410c
Արտակարգ իրավիճակների հայտնաբերում - Qualcomm Dragonboard 410c
Արտակարգ իրավիճակների հայտնաբերում - Qualcomm Dragonboard 410c
Արտակարգ իրավիճակների հայտնաբերում - Qualcomm Dragonboard 410c

Փնտրելով անվտանգության համակարգեր, որոնք աշխատում են արտակարգ իրավիճակների մոնիթորինգի համար, հնարավոր է նկատել, որ չափազանց դժվար է գրանցված ամբողջ տեղեկատվությունը մշակել: Մտածելով այդ մասին ՝ մենք որոշեցինք օգտագործել մեր գիտելիքները աուդիո/պատկերի մշակման, սենսորների և գործարկիչների մեջ `ստեղծելու մեկ ամբողջական համակարգ, որը հնարավորություն է տալիս կանխատեսել իրավիճակներ, որտեղ մարդկանց կյանքը վտանգված է:

Այս նախագիծն ունի տեղական տվիչներ և հեռակառավարվող սարքեր ՝ տվյալներ հավաքելու և ուղարկելու վիշապախտակին, որն ունի մշակման հզորություն, որն ունակ է ստացված տվյալներից կարևոր տեղեկություններ քաղել:

Հեռակա սարքը Arduino- ի տախտակ է, որի մոդուլը HC-06- ն հնարավոր է դարձնում բոլոր տեղեկությունները փոխանցելու համար, և էժան լայն ցանց, որը կարող է մեծ քանակությամբ տվյալներ մշակել:

Քայլ 1: Պահանջվող բաղադրիչներ

Առաջին հերթին, դուք պետք է որոշեք, թե որ տվիչներից և շարժիչներից եք պատրաստվում օգտվել, և կազմել ճարտարապետության ուրվագիծը:

Մեր դեպքում մենք օգտագործում ենք ARDUINO Pro Mini- ում միացված այս սենսորները ՝ թվարկված ստորև.

  • PIR (Պասիվ ինֆրակարմիր-ներկայության ցուցիչ)
  • DHT 11 (Խոնավության և ջերմաստիճանի տվիչ)
  • CO սենսոր (Ածխածնի երկօքսիդի սենսոր)
  • Աղմուկի տվիչ

Գործարկիչներ

  • շարժիչի սերվո
  • բզզոց

Հաղորդակցություն

Bluetooth մոդուլ HC-06

Dragonboard 410c- ի համար մենք կունենանք որոշ տվիչներ և ծրագրակազմ ՝ տվյալների բոլոր մուտքերը մշակելու համար.

Սենսորներ:

  • DHT 11
  • Արևի սենսոր

Գործարկիչներ

  • Ռելե
  • Առաջնորդի կարգավիճակ
  • Բզզոց

Քայլ 2: Հեռակա սարքի պատրաստում

Հեռակա սարքի պատրաստում
Հեռակա սարքի պատրաստում

Այժմ ժամանակն է միացնել հետևյալ բոլոր բաղադրիչները Arduino Board- ին ՝ ստեղծելով մի սարք, որը կստանա տվյալները շրջապատից (աղմուկ, խոնավություն, ջերմաստիճան և այլն) և կուղարկի Dragonboard- ին bluetooth HC-06 մոդուլով:

Անհրաժեշտ է ուշադրություն դարձնել կոնակցությունների վրա, քանի որ բոլոր տվիչներն ունեն միացման հատուկ վայրեր:

Համակարգում հնարավոր է ունենալ մեկից ավելի սարք ՝ տվյալներ հավաքելու համար: Որքան շատ սարքեր եք տեղադրել միջավայրում, այնքան ավելի ճշգրիտ է տվյալների մշակման արդյունքում առաջացած ախտորոշումը: Քանի որ հնարավոր կլինի կորզել տեղեկատվության ավելի լայն շրջանակ, որը կարող է օգտակար լինել:

Մենք որոշեցինք օգտագործել arduino տախտակը, քանի որ ունի ավելի համատեղելի տվիչներ, և հնարավոր է տեղադրել այս հեռավոր սարքերը տարբեր վայրերում ՝ հավաքելով ավելի շատ տեղեկատվություն:

Տեղական սարքը DragonBoard 410c- ն է, որը մշակում է աուդիո, վիդեո, թվային և անալոգային տեղեկատվություն ձեր հզոր SnapDragon 410 պրոցեսորով:

Բաղադրիչների տեղադրում (հեռավոր բաժանում)

Մի կտորն ունի մի քանի կապում, որոնք պետք է միացված լինեն arduino pro մինի տախտակի աջ կապում:

Bluetooth մոդուլ HC-06- ն ունի 4 կապում

  • TX (հաղորդիչ) -> միացված է RX Arduino- ի քորոցին
  • RX (ընդունիչ) -> միացված է TX Arduino- ի քորոցին
  • VCC -> միացված է 5 վ
  • GND

DHT 11 ցուցիչն ունի 4 կապ (բայց օգտագործվում է ընդամենը 3):

  • Ազդանշան -> միացված է թվային կապի վրա
  • VCC -> միացված է 5 վ
  • GND

PIR ցուցիչն ունի 3 կապ:

  • Ազդանշան -> միացված է թվային կապի վրա
  • VCC -> միացված է 5 վ
  • GND

Գազի տվիչը (MQ) ունի 4 կապում

  • Digital OUT -> միացված է թվային կապի վրա (եթե ցանկանում եք թվային տեղեկատվություն)
  • Analog OUT -> մեր դեպքում մենք օգտագործում ենք սա միացված անալոգային կապում
  • VCC -> միացված է 5 վ
  • GND

Աղմուկի տվիչը (KY-038) ունի 3 կապում

  • Ազդանշան -> միացված է անալոգային քորոցին
  • VCC -> միացված է 5 վ
  • GND

Arduino հեռակա սարքի կոդ

/ * * Arduino- ն տվյալներ է ուղարկում Blutooth- ի միջոցով * * Սենսորների արժեքը կարդացվում է, համակցված է * String- ի վրա և ուղարկվում է սերիական նավահանգստի միջոցով: */ #ներառել «DHT.h» #սահմանել DHTPIN 3 #սահմանել DHTTYPE DHT22 #սահմանել PIRPIN 9 #սահմանել COPIN A6 DHT dht (DHTPIN, DHTTYPE); բոց խոնավ, ջերմաստիճան; բուլյան պիր = 0; int co, խոսափող; Լարային msg = ""; char nome [40]; void setup () {Serial.begin (9600); dht.begin (); } void loop () {humidaty = dht.readHumidity (); ջերմաստիճան = dht.readTemperature (); pir = digitalRead (PIRPIN); co = analogRead (COPIN); խոսափող = analogRead (A0); msg = "#;" + Լար (խոնավ) + ";" Լար (ջերմաստիճան)+ ";"+ Լար (միկրո)+ ";"+ Լար (պիր)+ ";" + Լար (co) + ";#" + "\ n"; Serial.print (msg); ուշացում (2000); }

Կոդի բացատրություն

Arduino- ում օգտագործվող բոլոր կապերը մեջբերված են կոդի սկզբում, իսկ սենսորների աշխատանքի համար անհրաժեշտ համապատասխան գրադարանները նախաստորագրվում են: Բոլոր տվյալները կփոխանցվեն համապատասխան փոփոխականներին, որոնք կստանան յուրաքանչյուր սենսորից յուրաքանչյուր 2000 միլիվայրկյան ընթերցված արժեքները, այնուհետև բոլորը միավորված են տողում, այնուհետև գրված է Սերիալում: Այնտեղից DragonBoard- ում առկա պիտոնի ծածկագիրը շատ հեշտ է նման տվյալներ գրավել:

Քայլ 3: wրագրեր և գրադարաններ

Ստացված բոլոր տվյալները մշակելու և անվտանգության համակարգը վերահսկելու համար անհրաժեշտ է օգտագործել Qualcomm DragonBoard 410c- ի որոշ ծրագրեր և գրադարաններ:

Այս հատուկ նախագծում մենք օգտագործում ենք.

Ծրագրակազմ

  • Պիթոն
  • Արդուինո

Պլատֆորմներ

  • Amazon AWS -> առցանց սերվեր
  • Phant -> Հոսթերի տվյալների ծառայություն

Գրադարաններ:

  • OpenCV-Տեսամշակում (https://opencv-python-tutroals.readthedocs.io/hy/latest/)
  • PyAudio - Աուդիո մշակում (https://people.csail.mit.edu/hubert/pyaudio/)
  • Ալիք (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 - Վերապատրաստեք և կանխատեսեք մեքենայական ուսումը (https://scikit-learn.org/stable/install.html)
  • cPickle - Պահեք մեքենայի ուսուցման պարամետրերը (https://pymotw.com/2/pickle/)
  • MRAA - Օգտագործեք GPIO- ները (https://iotdk.intel.com/docs/master/mraa/python/)
  • UPM-Օգտագործեք GPIO- ները (https://github.com/intel-iot-devkit/upm)
  • PySerial - Օգտագործեք Bluetooth սարքի հետ սերիական հաղորդակցության համար (https://pythonhosted.org/pyserial/)

Քայլ 4: SSH- ի օգտագործումը և Libs- ի տեղադրումը

Նախևառաջ անհրաժեշտ է ստանալ IP հասցեն Dragonboard- ից, դրա համար անհրաժեշտ է միացնել մկնիկի, ստեղնաշարի և HDMI մոնիտորի հետ կապված DragonBoard- ը: Երբ խորհուրդը միացված է, դուք պետք է միանաք ցանցին, ապա գնացեք տերմինալ և գործարկեք հրամանը.

sudo ifconfig

դրանից հետո կարող եք ստանալ IP հասցեն:

IP հասցեով կարող եք մուտք գործել Dragonboard SHH- ի միջոցով, դրա համար անհրաժեշտ է տերմինալ բացել տախտակի հետ նույն ցանցում միացված համակարգչում: Տերմինալում կարող եք գործարկել հրամանը.

ssh linaro@{IP}

(դուք պետք է փոխարինեք {IP} - ը այն վիդեո վահանակում ստացած IP հասցեով):

Առաջին lib- ը, որը դուք պետք է տեղադրեք, mraa lib- ն է: Դա անելու համար դուք պետք է տերմինալում գործարկեք հետևյալ հրամանը.

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

Python- ի համար opencv տեղադրելու համար անհրաժեշտ է միայն գործարկել հրամանը.

sudo apt-get տեղադրել python-opencv

PyAudio- ն տեղադրելու համար հարկավոր է գործարկել հրամանը.

sudo apt-get տեղադրել python-pyaudio python3-pyaudio

The libs WAVE և AudioOp արդեն տեղադրված են տախտակում: Numpy տեղադրելու համար հարկավոր է գործարկել հրամանը.

sudo apt-get տեղադրել python-numpy python-scipy

Վերջին lib- ը, որը դուք պետք է տեղադրեք, scikit- ն է, այն տեղադրելու համար պետք է տեղադրել pip: Դրանից հետո միայն պետք է գործարկել հրամանը.

pip տեղադրել scikit-lear

Քայլ 5: Bluetooth արձանագրություն

Bluetooth արձանագրություն
Bluetooth արձանագրություն
Bluetooth արձանագրություն
Bluetooth արձանագրություն
Bluetooth արձանագրություն
Bluetooth արձանագրություն

DragonBoard- ի կապ Arduino- ի հետ `Bluetooth- ի միջոցով

Bluetooth մոդուլը (HC-06) սկզբում միացված էր Arduino Nano- ին ՝ հետևյալ օրինակի համաձայն.

Օգտագործելով Linaro (Օպերացիոն համակարգը, որն օգտագործվում է DragonBoard- ում ընթացիկ նախագծում) գրաֆիկական ինտերֆեյսի ներքևի ներքևի սանդղակի աջ մասում կտտացրեք Bluetooth խորհրդանիշին, այնուհետև կտտացրեք «Նոր սարքի տեղադրում» և կազմաձևեք ձեր Bluetooth մոդուլով ՝ այն զուգակցելով: Հաստատեք, որ ձեր մոդուլն իրականում միացված է ՝ կրկին սեղմելով Bluetooth խորհրդանիշի վրա, կտտացրեք «Սարքեր…» և տեսեք, թե արդյոք ձեր սարքի անունը նշված է և միացված է: Այժմ ընտրեք ձեր սարքը «Bluetooth սարքեր» էկրանին և աջ սեղմեք դրա վրա և նշեք այն նավահանգիստը, որին միացված է ձեր Bluetooth մոդուլը (օրինակ ՝ «rfcomm0»): Նշում. Տվյալների փոխանակումը միացնելու համար հաջորդ քայլի համար կարևոր կլինի նավահանգստի անունը, որին միացված է ձեր սարքը:

DragonBoard- ի տվյալների փոխանակման և Bluetooth- ի ստեղծում

Հիմնականում մենք քայլ առ քայլ հետևում ենք հղմանը ՝ https://www.uugear.com/portfolio/bluetooth-communi…, բայց զուգավորման մասը չենք կատարել միայն պիթոնի ծածկագրերի և Arduino- ի կատարումը: Python- ում օգտագործվել է սերիական գրադարանը, որը նախաստորագրված է bluetooth- ի հետ կապված նավահանգստում, ուստի պիթոնի կոդը կարդում է bluetooth մոդուլի միջոցով arduino- ին միացված տվիչների տվյալները:

Քայլ 6: Օգտագործելով Mezzanine- ը DragonBoard 410c- ում

Օգտագործելով Mezzanine- ը DragonBoard 410c- ում
Օգտագործելով Mezzanine- ը DragonBoard 410c- ում

Վիշապի և բաղադրամասերի միջև կապերը հաստատելու համար մենք օգտագործում ենք Mezannine կոչվող վահանի մի տեսակ, որը մշակվել է 96 տախտակի կողմից:

Օգտագործելով այս վահանը, ծայրամասային սարքերը միացնելը շատ ավելի հեշտ է դառնում:

Միակցիչների օգտագործումը պուրակի զարգացման հավաքածուից է, ուստի այն օգտագործում է էսպես հատուկ մալուխ, որը միացնում է երկու եղանակները, Բոլոր մասերը կարելի է հեշտությամբ գտնել այս կայքում ՝

Մենք օգտագործում ենք այս հավաքածուները ստորև.

  • Grove ռելե
  • Grove Sunlight ցուցիչ
  • Grove led վարդակից
  • Grove ջերմաստիճանի և հումիի ցուցիչ
  • Grove Buzzer

Քայլ 7: DragonBoard 410c ծրագրակազմ

Gonրագրի մի մասը DragonBoard- ում ծածկագրված է եղել Python- ում, իսկ Arduino- ում օգտագործվող ծրագիրը մշակվել է C ++ - ում: 2 րոպեն մեկ Arduino- ն կարդում է դրան ամրացված բոլոր տվիչները: Ավելի քան Arduino- ն ընթերցումը Bluetooth- ով ուղարկեք DragonBoard- ին: DragonBoard- ը համատեղում է Arduino- ից եկած ընթերցումը և Mezzanine վահանի կողմից կատարված ընթերցումը `ձայնային և տեսաերիզային նմուշների հատկություններով:

Այս տվյալներով Խորհուրդը փորձում է կանխատեսել, թե արդյոք դա տեղի է ունենում արտակարգ իրավիճակում: Խորհուրդը Amazon- ի վեբ ծառայություն է ուղարկում Phant- ի միջոցով չմշակված տվյալները և դրա կատարած կանխատեսումը: Եթե խորհուրդը կանխատեսում է, որ դա տեղի է ունենում տարօրինակ իրավիճակում, այն փորձում է զգուշացնել օգտագործողին, որը միջմեկույցում թարթում է led և buzzer և ցույց է տալիս վեբ հավելվածում: Վեբ հավելվածում հնարավոր է նաև տեսնել չմշակված տվյալները `հասկանալու, թե ինչ է կատարվում այս ոլորտում:

Խորհուրդ ենք տալիս: