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

HackerBox 0024: Vision Quest: 11 Steps
HackerBox 0024: Vision Quest: 11 Steps

Video: HackerBox 0024: Vision Quest: 11 Steps

Video: HackerBox 0024: Vision Quest: 11 Steps
Video: vision quest part1 2024, Նոյեմբեր
Anonim
HackerBox 0024: Vision Quest
HackerBox 0024: Vision Quest

Vision Quest - Այս ամիս HackerBox ցանցահենները փորձարկում են Computer Vision և Servo Motion Tracking ծառայությունները: Այս հրահանգը պարունակում է տեղեկատվություն HackerBox #0024- ի հետ աշխատելու համար, որը կարող եք վերցնել այստեղ, քանի դեռ մատակարարումները վերջանում են: Բացի այդ, եթե ցանկանում եք ամեն ամիս ստանալ ձեր փոստարկղում այսպիսի HackerBox, խնդրում ենք բաժանորդագրվել HackerBoxes.com կայքում և միանալ հեղափոխությանը:

Թեմաներ և ուսուցման նպատակներ HackerBox 0024- ի համար.

  • Փորձեր համակարգչային տեսողության հետ
  • OpenCV (Համակարգչային տեսլական) տեղադրում
  • Arduino Nano- ի ծրագրավորում Arduino IDE- ից
  • Servo Motors- ի կառավարում Arduino Nano- ի միջոցով
  • Մեխանիկական թավայի և թեքության ժողովի հավաքում
  • Pan և Tilt Motion- ի կառավարում միկրոկառավարիչի միջոցով
  • Կատարել դեմքի հետևում OpenCV- ի միջոցով

HackerBoxes- ը DIY էլեկտրոնիկայի և համակարգչային տեխնիկայի ամենամսյա բաժանորդագրության տուփի ծառայություն է: Մենք հոբբիիստներ ենք, ստեղծողներ և փորձարկողներ: Մենք երազանքների երազողներն ենք: ՀԱACԿԵՔ ՄՈԼՈԱԿԸ:

Քայլ 1: HackerBox 0024: Տուփի բովանդակություն

HackerBox 0024: Տուփի բովանդակություն
HackerBox 0024: Տուփի բովանդակություն
  • HackerBoxes #0024 Հավաքածու տեղեկատու քարտ
  • Three Bracket Pan and Tilt Assembly
  • Երկու MG996R ծառայություն ՝ աքսեսուարներով
  • Երկու ալյումինե շրջանաձև սերվերի կցորդիչներ
  • Arduino Nano V3 - 5V, 16MHz, MicroUSB
  • Թվային ֆոտոխցիկի հավաքում USB մալուխով
  • Երեք ոսպնյակ ունիվերսալ ամրակապով
  • Բժշկական զննում Գրիչ լույս
  • Dupont արական/իգական ցատկողներ
  • MicroUSB մալուխ
  • Բացառիկ OpenCV դեկալ
  • Բացառիկ Dia de Muertos Decal

Որոշ այլ բաներ, որոնք օգտակար կլինեն.

  • Փոքր փայտե գրատախտակ ֆոտոխցիկի հիմքի համար
  • Sոդման երկաթ, զոդման և զոդման հիմնական գործիքներ
  • Համակարգիչ `ծրագրային գործիքների գործարկման համար

Ամենակարևորը, ձեզ հարկավոր կլինի արկածախնդրության, DIY ոգու և հաքերային հետաքրքրասիրության զգացում: Hardcore DIY էլեկտրոնիկան մանրուք չէ, և մենք դա չենք ջրում ձեզ համար: Նպատակը առաջընթացն է, ոչ թե կատարելությունը: Երբ համառ եք և վայելում եք արկածախնդրությունը, մեծ գոհունակություն կարող է առաջանալ նոր տեխնոլոգիաներ սովորելուց և, հուսով եմ, որոշ նախագծեր կյանքի կոչելուց: Մենք առաջարկում ենք յուրաքանչյուր քայլ անել դանդաղ, հաշվի չառնելով մանրուքները և երբեք չկապվել օգնություն խնդրելուց:

Հաճախակի տրվող հարցեր. Մենք սիրում ենք HackerBox- ի բոլոր անդամներին իսկապես մեծ շնորհք խնդրել: Խնդրում ենք մի քանի րոպե տրամադրել HackerBoxes կայքում Հաճախ տրվող Հաճախ տրվող ՀՏՀ -ին ծանոթանալու համար ՝ նախքան աջակցությանը դիմելը: Թեև մենք ակնհայտորեն ցանկանում ենք օգնել բոլոր անդամներին այնքանով, որքանով անհրաժեշտ է, մեր աջակցության էլ. Նամակների մեծ մասը ներառում է պարզ հարցեր, որոնք շատ հստակ տրված են ՀՏՀ -ում: Շնորհակալություն եմ հայտնում ձեզ, հասկանալու համար!

Քայլ 2: Համակարգչային տեսլական

Համակարգչային տեսողություն
Համակարգչային տեսողություն

Համակարգչային տեսլականը միջառարկայական ոլորտ է, որը վերաբերում է այն բանին, թե ինչպես են համակարգիչները ձեռք բերում բարձր մակարդակի պատկերացում թվային պատկերներից կամ տեսանյութերից: Engineeringարտարագիտության տեսանկյունից համակարգչային տեսլականը ձգտում է ավտոմատացնել այն խնդիրները, որոնք մարդկային տեսողական համակարգը կարող է անել: Որպես գիտական դիսցիպլինա, համակարգչային տեսլականն առնչվում է արհեստական համակարգերի հիմքում ընկած տեսությանը, որը տեղեկատվություն է քաղում պատկերներից: Պատկերի տվյալները կարող են ունենալ տարբեր ձևեր, օրինակ ՝ տեսահոլովակների հաջորդականություն, բազմաթիվ տեսախցիկներից դիտումներ կամ բժշկական սկաների բազմաչափ տվյալներ: Որպես տեխնոլոգիական կարգապահություն, համակարգչային տեսլականը ձգտում է կիրառել իր տեսություններն ու մոդելները համակարգչային տեսողության համակարգերի կառուցման համար: Համակարգչային տեսողության ենթաոլորտները ներառում են տեսարանի վերակառուցում, իրադարձությունների հայտնաբերում, տեսահսկում, օբյեկտների ճանաչում, 3D պոզայի գնահատում, ուսուցում, ինդեքսավորում, շարժման գնահատում և պատկերի վերականգնում:

Հետաքրքիր է նշել, որ համակարգչային տեսլականը կարելի է համարել համակարգչային գրաֆիկայի հակադարձ:

Քայլ 3. Մշակում և OpenCV

Մշակում և OpenCV
Մշակում և OpenCV

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

OpenCV (Open Source Computer Vision Library) բաց կոդով համակարգչային տեսողության և մեքենայական ուսուցման ծրագրային գրադարան է: OpenCV- ն ստեղծվել է համակարգչային տեսողության ծրագրերի համար ընդհանուր ենթակառուցվածք ապահովելու և առևտրային արտադրանքներում մեքենաների ընկալման արագացման համար: OpenCV գրադարանը ունի ավելի քան 2500 օպտիմիզացված ալգորիթմ, որոնք ներառում են ինչպես դասական, այնպես էլ գերժամանակակից համակարգչային տեսողության և մեքենայական ուսուցման ալգորիթմների համապարփակ փաթեթ: Այս ալգորիթմները կարող են օգտագործվել դեմքերը հայտնաբերելու և ճանաչելու, օբյեկտները նույնականացնելու, տեսանյութերում մարդկանց գործողությունները դասակարգելու, տեսախցիկի շարժումները հետևելու, շարժվող օբյեկտներին հետևելու և այլն:

Տեղադրեք OpenCV- ն Processing- ում Ֆայլ> Օրինակներ ընտրացանկից ՝ ընտրելով «Ավելացնել օրինակներ», այնուհետև «Գրադարաններ» ներդիրում տեղադրելով ինչպես Տեսահոլովակը, այնպես էլ OpenCV գրադարանները: Բացեք LiveCamTest- ի օրինակը դեմքի հիմնական հետևման համար: Ստուգեք մի քանի այլ OpenCV մշակման օրինակներ այստեղ:

Լրացուցիչ ռեսուրսներ

Համակարգչային տեսլականով սկսելը գրքի նախագիծ է, որն ապահովում է համակարգչային տեսլականի ստեղծագործական փորձերի հեշտ մուտք: Այն ներկայացնում է համակարգչային տեսլականի նախագծեր կառուցելու համար անհրաժեշտ ծածկագիրն ու հասկացությունները:

Համակարգչային տեսլականի ծրագրավորումը Python- ով O'Reilly գիրքն է PCV- ի վրա, բաց կոդով Python մոդուլը համակարգչային տեսողության համար:

Սովորում ենք OpenCV

Համակարգչային տեսլական. Ալգորիթմներ և ծրագրեր

OpenCV- ի յուրացում

Ստենֆորդի դասընթաց CS231n Կոնվոլյուցիոն նյարդային ցանցեր ՝ տեսողական ճանաչման համար (16 տեսանյութ)

Chris Urmson TED Talk Ինչպես է առանց վարորդի մեքենան տեսնում ճանապարհը

Քայլ 4. Arduino Nano միկրոկառավարիչների հարթակ

Arduino Nano միկրոկառավարիչների հարթակ
Arduino Nano միկրոկառավարիչների հարթակ

Մենք կարող ենք օգտագործել ցանկացած սովորական միկրոտրոլերի հարթակ `մեր թավայի և թեքության տեսախցիկի սպասարկիչները սպասարկելու համար: Arduino Nano- ն մակերեսային, հացահատիկի համար հարմար, փոքրածավալ Arduino տախտակ է `ինտեգրված USB- ով: Այն զարմանալիորեն լիարժեք է և հեշտ է կոտրել:

Հատկություններ:

  • Միկրոկոնտրոլեր ՝ Atmel ATmega328P
  • Լարման: 5V
  • Թվային մուտքի/ելքի կապում ՝ 14 (6 PWM)
  • Անալոգային մուտքագրման կապում. 8
  • DC ընթացիկ մեկ մուտքի/ելքի համար ՝ 40 մԱ
  • Ֆլեշ հիշողություն ՝ 32 ԿԲ (2 ԿԲ ՝ բեռնման համար)
  • SRAM` 2 ԿԲ
  • EEPROM: 1 ԿԲ
  • Clամացույցի արագություն `16 ՄՀց
  • Չափերը ՝ 17 մմ x 43 մմ

Arduino Nano- ի այս յուրահատուկ տարբերակը սև Robotdyn դիզայնն է: Ինտերֆեյսը ներկառուցված MicroUSB պորտի միջոցով է, որը համատեղելի է նույն բջջային հեռախոսների և պլանշետների հետ օգտագործվող նույն MicroUSB մալուխների հետ:

Arduino Nanos- ն ունի ներկառուցված USB/Serial Bridge չիպ: Այս տարբերակի վրա կամրջի չիպը CH340G է: Նկատի ունեցեք, որ կան տարբեր այլ տեսակի USB/Serial Bridge չիպսեր, որոնք օգտագործվում են Arduino տախտակների տարբեր տեսակների վրա: Այս չիպերը թույլ են տալիս համակարգչի USB պորտին հաղորդակցվել Arduino- ի պրոցեսորային չիպի սերիական ինտերֆեյսի հետ:

Համակարգչի օպերացիոն համակարգը պահանջում է Device Driver ՝ USB/Serial chip- ի հետ հաղորդակցվելու համար: Վարորդը թույլ է տալիս IDE- ին հաղորդակցվել Arduino տախտակի հետ: Սարքի հատուկ վարորդը, որը անհրաժեշտ է, կախված է ինչպես OS տարբերակից, այնպես էլ USB/Serial chip- ի տեսակից: CH340 USB/Serial չիպերի համար կան բազմաթիվ օպերացիոն համակարգերի համար նախատեսված վարորդներ (UNIX, Mac OS X կամ Windows): CH340- ի արտադրողը այստեղ մատակարարում է այդ վարորդներին:

Երբ դուք առաջին անգամ միացնում եք Arduino Nano- ն ձեր համակարգչի USB պորտին, կանաչ էներգիայի լույսը պետք է վառվի, և կարճ ժամանակ անց կապույտ LED- ը պետք է սկսի դանդաղ թարթել: Դա տեղի է ունենում, քանի որ Nano- ն նախապես բեռնված է BLINK ծրագրով, որն աշխատում է բոլորովին նոր Arduino Nano- ի վրա:

Քայլ 5. Arduino ինտեգրված զարգացման միջավայր (IDE)

Arduino ինտեգրված զարգացման միջավայր (IDE)
Arduino ինտեգրված զարգացման միջավայր (IDE)

Եթե դեռ չեք տեղադրել Arduino IDE- ն, կարող եք ներբեռնել այն Arduino.cc- ից

Եթե ցանկանում եք լրացուցիչ ներածական տեղեկատվություն Arduino էկոհամակարգում աշխատելու համար, առաջարկում ենք ծանոթանալ HackerBoxes Starter Workshop- ի հրահանգներին:

Միացրեք Nano- ն MicroUSB մալուխին և մալուխի մյուս ծայրը համակարգչի USB պորտին, գործարկեք Arduino IDE ծրագիրը, ընտրեք համապատասխան USB պորտը IDE- ում գործիքներ> պորտ (հավանաբար անուն ՝ «wchusb»)): Նաև ընտրեք «Arduino Nano» IDE- ում գործիքներ> տախտակ:

Վերջապես, բեռնեք օրինակ կոդի մի կտոր.

Ֆայլ-> Օրինակներ-> Հիմունքներ-> Թարթել

Սա իրականում այն ծածկագիրն է, որը նախապես բեռնված էր Nano- ի վրա և պետք է գործարկվեր հենց հիմա `դանդաղ թարթելու համար կապույտ LED- ը: Ըստ այդմ, եթե մենք բեռնենք այս օրինակի կոդը, ոչինչ չի փոխվի: Փոխարենը, եկեք մի փոքր փոփոխենք կոդը:

Ուշադիր նայելով ՝ կարող եք տեսնել, որ ծրագիրը միացնում է LED- ը, սպասում 1000 միլիվայրկյան (մեկ վայրկյան), անջատում է LED- ը, սպասում մեկ վայրկյան և հետո նորից անում ամեն ինչ `ընդմիշտ:

Փոփոխեք ծածկագիրը ՝ փոխելով «հետաձգման (1000)» երկու հայտարարությունները «հետաձգման (100)»: Այս փոփոխությունը կհանգեցնի LED- ի թարթմանը տասն անգամ ավելի արագ, այնպես չէ՞:

Եկեք բեռնենք փոփոխված կոդը Nano- ում ՝ կտտացնելով UPLOAD կոճակին (սլաքի պատկերակը) հենց ձեր փոփոխված կոդի վերևում: Ստորև դիտեք ծածկագրի կարգավիճակի մասին տեղեկությունները ՝ «կազմել», այնուհետև «վերբեռնել»: Ի վերջո, IDE- ն պետք է նշի «Վերբեռնումն ավարտված է», և ձեր LED- ը պետք է ավելի արագ թարթվի:

Եթե այո, ապա շնորհավորում եմ: Դուք պարզապես կոտրել եք ներկառուցված կոդի ձեր առաջին կտորը:

Երբ ձեր արագ թարթման տարբերակը բեռնված է և աշխատում է, ինչու՞ չտեսնեք, արդյոք կարող եք նորից փոխել ծածկագիրը ՝ առաջացնելով LED- ի արագ թարթումը երկու անգամ և սպասել մի քանի վայրկյան ՝ նախքան կրկնելը: Փորձի՛ր: Ի՞նչ կասեք որոշ այլ օրինաչափությունների մասին: Երբ ձեզ հաջողվի պատկերացնել ցանկալի արդյունքը, ծածկագրել այն և դիտել, որ այն գործի ըստ նախատեսվածի, դուք ահռելի քայլ եք կատարել ապարատային իրավասու հաքեր դառնալու ուղղությամբ:

Քայլ 6: Servo Motors

Servo Motors
Servo Motors

Servo շարժիչները հիմնականում վերահսկվում են մի շարք կրկնվող էլեկտրական իմպուլսների միջոցով, որտեղ իմպուլսների լայնությունը ցույց է տալիս սերվոյի դիրքը: Իմպուլսի լայնության մոդուլացված (PWM) կառավարման ազդանշանը հաճախ ստեղծվում է սովորական միկրոկոնտրոլերի կողմից, ինչպիսին է Arduino- ն:

Փոքր հոբբի սերվերը, ինչպիսին է MG996R- ը, միացված են ստանդարտ եռալարի միացման միջոցով `երկու լար DC հոսանքի աղբյուրի համար և մեկ մետաղալար` կառավարման իմպուլսները կրելու համար: MG996R սերվոները ունեն աշխատանքային լարման կատաղություն 4.8-7.2 VDC:

Քայլ 7. Թավայի և թեքության մեխանիզմի հավաքում

Թավայի և թեքության մեխանիզմի հավաքում
Թավայի և թեքության մեխանիզմի հավաքում
  1. Երկու MG996R սերվոները հանեք պայուսակներից և առայժմ մի կողմ դրեք ներառված պարագաները:
  2. Յուրաքանչյուր սերվոյին ամրացրեք ալյումինե, շրջանաձև սերվերի կցորդիչ: Նկատի ունեցեք, որ կցորդիչները գալիս են սերվոզներից առանձին պայուսակներով: Ամրացուցիչը շատ ամուր տեղավորվում է: Սկսեք ՝ կցորդիչը սեղմելով սերվոյի ելքի ծայրին, այնուհետև պտուտակ ամրացրեք կենտրոնական անցքի մեջ: Ամրացրեք շարանը ՝ կցորդիչը դեպի սերվո ելքի վրա քաշելու համար:
  3. Նկատի ունեցեք, որ թեքման հավաքման համար կա երեք փակագիծ `երկու տուփ-փակագծեր և մեկ U- փակագիծ:
  4. Տեղադրեք արկղերի փակագծերից մեկը ալյումինե շրջանակի վրա `մատուցողներից մեկի համար: Մենք այս սերվոն կանվանենք համասեռվո: Ուղղեք արկղ-փակագիծը իր կենտրոնական պատով ալյումինե շրջանակի դեմ այնպես, որ արկղի փակագծի մյուս երկու պատերը նայեն թավայի սերվոյից: Օգտագործեք արկղի փակագծի միջին պատի կենտրոնական անցքերը: Այս դասավորությունը պետք է թույլ տա, որ թավայի սպասքը գործի գցելուց հետո պտտվի կցված արկղը:
  5. Տեղադրեք մյուս servo- ն (tilt servo) տուփի փակագծի մեջ, որը ամրացված է թավայի servo- ի ալյումինե շրջանակին: Օգտագործեք առնվազն երկու ընկույզ և պտուտակներ `թեքման սերվոն ամրացնելու համար` մեկը յուրաքանչյուր կողմում:
  6. U- փակագիծը պահելով ՝ U- ի ներսից տեղադրեք արույրե «կրողը» ՝ առանցքի ամրացման խոշոր անցքերից մեկի միջոցով:
  7. Տեղադրեք U- փակագիծը ՝ առանցքակալով, տուփի փակագծի ներսում գտնվող թեքման servo- ի վրա այնպես, որ մյուս առանցքային առանցքի ամրացման անցքը (առանց առանցքակալի) համընկնի թեքման servo- ի ալյումինե շրջանակի հետ:
  8. Օգտագործեք պտուտակներ ՝ U- բրա ամրացնելու համար U- փակագծի մի կողմում գտնվող ալյումինե շրջանակի վրա:
  9. U- փակագծի մյուս կողմում մի պտուտակ ամրացրեք առանցքակալից և ներսում գտնվող արկղ-փակագծի փոքր անցքի մեջ: Սա պետք է թույլ տա, որ U- փակագիծը պտտվի տուփի փակագծի շուրջը ավելի ուշ, երբ թեքման սերվոն գործարկվի:

Քայլ 8: Տեղադրեք թավայի և թեքության ժողովը

Տեղադրելով Pan և Tilt ժողովը
Տեղադրելով Pan և Tilt ժողովը
Տեղադրելով Pan և Tilt ժողովը
Տեղադրելով Pan և Tilt ժողովը

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

Քայլ 9. Հաղորդալար և փորձարկեք թավայի և թեքության հավաքումը

Հաղորդալար և փորձարկեք Pan և Tilt ժողովը
Հաղորդալար և փորձարկեք Pan և Tilt ժողովը

Սերվոները սխեմատիկորեն համաձայնեցնելու համար ամենաարագն է ուղղակի կտրել սերվերից օրիգինալ իգական միակցիչները, այնուհետև օգտագործել որոշ կանացի DuPont թռիչքի ծայրեր `Նանո կապումներին ամրացված ազդանշանի և գրունտի գծերի համար:

Nano- ն բավարար հոսանք չունի 5 Վ լարման վրա `սերվոները USB- ից սնուցելու համար, ուստի առաջարկվում է լրացուցիչ սնուցում: Սա կարող է լինել ամեն ինչ 4.8-7.2 Վոլտ տիրույթում: Օրինակ, չորս AA մարտկոցներ (շարքով) լավ կաշխատեն: Նաև լավ ընտրություն է նստարանների մատակարարումը կամ պատի գորտնուկը:

Arduino կոդի պարզ օրինակը, որը կցված է այստեղ որպես PanTiltTest.ino, կարող է օգտագործվել Arduino IDE- ի սերիական մոնիտորի երկու սերվերի վերահսկողությունը ստուգելու համար: Կարգավորեք մոնիտորի բաուդ արագությունը, որպեսզի համապատասխանի օրինակի կոդի մեջ սահմանված 9600 բիթ / վրկ: 0 -ից 180 աստիճանի անկյունների արժեքների մուտքագրումը համապատասխանաբար տեղադրում է սերվերը:

Ի վերջո, USB Camera մոդուլը (կամ այլ սենսոր) կարող է տեղադրվել Pan-Tilt հավաքի U-Bracket- ում ՝ ծրագրերին հետևելու համար օգտագործելու համար:

Քայլ 10. Դեմքի հետևում OpenCV- ով

Image
Image
Hack the Planet
Hack the Planet

Մեքենայական տեսողության դեմքի հետևման համակարգը կարող է ներդրվել ենթահամակարգերի համադրությամբ, ինչպես ցույց է տրված բլոկ-դիագրամում: Arduino- ի SerialServoControl էսքիզը կարելի է գտնել Sparkfun- ի հետևյալ ձեռնարկում, ինչպես նաև համապատասխան ցուցադրման միջոցով OpenCV, Processing, Arduino, USB Camera և Pan/Tilt Assembly հավաքածու ՝ մարդու դեմքին հետևելու համար: Դեմոն օգտագործում է երկու սերվո ՝ տեսախցիկը տեղակայելու համար, որպեսզի դեմքը կենտրոնացած պահի տեսանյութի շրջանակում, նույնիսկ երբ օգտվողը շարժվում է սենյակում: Օրինակ ՝ C#կոդը, ստուգեք CamBot տեսանյութի GitHub պահոցը:

Քայլ 11: Հաք մոլորակը

Եթե ձեզ դուր եկավ այս Instrucable- ը և կցանկանայիք, որ այսպիսի տուփ էլեկտրոնիկայի և համակարգչային տեխնիկայի նախագծեր ամեն ամիս առաքվեին ձեր փոստարկղին, խնդրում ենք միանալ մեզ ՝ Բաժանորդագրվելով ԱՅՍՏԵ:

Շփվեք և կիսվեք ձեր հաջողությամբ ստորև բերված մեկնաբանություններում կամ HackerBoxes ֆեյսբուքյան էջում: Անշուշտ, մեզ տեղեկացրեք, եթե ունեք որևէ հարց կամ ինչ -որ բանում օգնության կարիք ունեք: Շնորհակալություն HackerBoxes- ի մաս լինելու համար: Խնդրում ենք պահել ձեր առաջարկություններն ու արձագանքները: HackerBoxes- ը ՁԵՐ արկղերն են: Եկեք հիանալի բան պատրաստենք:

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