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

DIY Digital Out of Body Experience: 6 քայլ
DIY Digital Out of Body Experience: 6 քայլ

Video: DIY Digital Out of Body Experience: 6 քայլ

Video: DIY Digital Out of Body Experience: 6 քայլ
Video: Introducing Meta Quest 3 | Coming This Fall 2024, Նոյեմբեր
Anonim
DIY Digital Out of Body Experience
DIY Digital Out of Body Experience

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

Քայլ 1: Այն, ինչ ձեզ հարկավոր կլինի

Իրեր, որոնք ձեզ պետք կգան
Իրեր, որոնք ձեզ պետք կգան
Իրեր, որոնք ձեզ պետք կգան
Իրեր, որոնք ձեզ պետք կգան
Իրեր, որոնք ձեզ պետք կգան
Իրեր, որոնք ձեզ պետք կգան
  1. 2xRaspberry Pi 3 մոդել B յուրաքանչյուրը հագեցած է տեսախցիկով և մալուխով (15 սմ և 30 սմ)
  2. Մարտկոցի վահան, 2 մարտկոց և USB 2xmini-USB մալուխ ՝ ազնվամորիին միանալու համար (ես օգտագործել եմ 10650 մարտկոցի վահանի USB ելքով, 2xLiitoKala Lii-35A 18650 մարտկոց և այս մալուխը)
  3. 240x140x5 մմ MDF փայտ (կամ ցանկացած այլ փայտ, որը համատեղելի է լազերային դանակի հետ)
  4. Լազերային սարքի հասանելիություն
  5. M2 պտուտակներ և պտուտակներ
  6. Համակարգիչ պիթոնով
  7. Քրոմով սմարթֆոն
  8. Google ստվարաթուղթ կամ որևէ համակարգ, որը թույլ է տալիս ստանալ ձեր հեռախոսից VR փորձ (ես ստացել եմ ednet Virtual Reality Brille- ը, որը համատեղելի է իմ կարդացածից մինչև 159.2 մմ x 75.2 մմ չափսերի հեռախոսի հետ)

Քայլ 2. Ստացեք Rapsberry Pi- ն ՝ կենդանի տեսանյութ նկարահանելու և տարածելու համար

Նախ համոզվենք, որ մեր Pi տեսախցիկը միացրել է ազնվամորի Pi- ն: Կատարած ? Դա այս քայլի ապարատային մասն էր: Շարունակենք ծրագրային մասով:

Ինչ վերաբերում է փափուկին, եթե դուք իմ դեպքում եք և ձեր PI- ում չունեք OS և չունեք պահեստային ստեղնաշար, մկնիկ և էկրան, ապա եկեք ներբեռնենք raspbian lite այստեղ և հետևենք այստեղ նկարագրված պարզ քայլերին ՝ https://www.taygan.co/blog/2018/03/08/setup-a-rasp… Եթե ամեն ինչ լավ է ընթանում, ձեր Pi- ն այժմ միացված է ձեր WIFI- ին, գիտեք դրա IP հասցեն և միացված եք ssh- ի միջոցով:

Ssh- ի միջոցով եկեք ստիպենք Pi- ին կիսվել իր դիտածի հետ: Դրա համար մենք կօգտագործենք UV4L: Դրա համար հետևեք հետևյալ վեբ էջի քայլերին ՝ https://raspberry-valley.azurewebsites.net/UV4L/: Եթե ավարտել եք UV4L- ի կարգավորումը, ինչպես նկարագրված է հղման մեջ, այժմ պետք է կարողանաք դիտել ձեր ազնվամորու կենդանի տեսանյութը ձեր համակարգչում: Դրա համար պարզապես գնացեք ձեր դիտարկիչ https:// raspberryip: 8080/stream հասցեով ՝ փոխարինելով «raspberryip» - ը ազնվամորու pi- ի ip- ով, որը գտել եք lanScan- ի միջոցով:

Հիմա դա մեր երկու «աչքերից» մեկի համար է: Իսկ մյուսը? Կամ մենք կրկնում ենք նույն գործընթացը, կամ այն, ինչ կա մեր ազնվամորի pi- ի վրա, կլոնավորենք մեկ այլ SD քարտի: Երկրորդ տարբերակի մասին ավելին իմանալու համար կարող եք ստուգել այս github- ը ՝

Եվ ահա, այժմ դուք պետք է ձեր երկու ազնվամորու պիին կիսեք իրենց կենդանի տեսահոսքը տեղական ցանցում: Մենք դուրս եկանք աչքերից, հիմա եկեք լուծենք այս փոքրիկ ստրաբիզմի խնդիրը և դյուրակիր դարձնենք մեր փոքրիկ համակարգը:

Քայլ 3. Դարձրեք դյուրակիր. Լազերային կտրում և ամրացում

Դարձրեք դյուրակիր. Լազերային կտրում և ամրացում
Դարձրեք դյուրակիր. Լազերային կտրում և ամրացում
Դարձրեք դյուրակիր. Լազերային կտրում և ամրացում
Դարձրեք դյուրակիր. Լազերային կտրում և ամրացում
Դարձրեք դյուրակիր ՝ լազերային կտրում և ամրացում
Դարձրեք դյուրակիր ՝ լազերային կտրում և ամրացում

Տեսախցիկի համակարգը դյուրակիր դարձնելու համար ես նախագծեցի փայտե կառույց, որի վրա կարող եմ պտուտակել ազնվամորի Pis տեսախցիկները և մարտկոցի վահանը: Նախագծվածը կցված է այստեղ որպես svg ֆայլ: Գուցե ստիպված լինեք փոփոխել մարտկոցի վահանի պտուտակի դիրքերը ՝ կախված ձեր վահանից և (կամ) դիզայնից ՝ կախված ձեր փայտի հաստությունից:

Երբ ամեն ինչ կտրված լինի.

  1. Տեղադրեք տեսախցիկները դիզայնի ձախ մասում (8 մմ տրամաչափի 5 մմ, 8 մմ տրամաչափի 8 մմ և 8 մմ պտուտակներ)
  2. Տեղադրեք մարտկոցի վահանը (5 մմ մմ 4 պտուտակ, 8 մմ տրամաչափի 4 պտուտակ և 8 մմ պտուտակ)
  3. Տեղադրեք ազնվամորու պի «կլաստերը», ինչպես ցույց է տրված վերևում նկարում (4 մմ տրամաչափի M2 պտուտակ, 5 մմ տրամաչափի 4 պտուտակ, 8 մմ տրամաչափի 4 պտուտակ, 5 մմ և ավելի 4 պտուտակ-արական պտուտակ, 4 հատ 21 մմ պտուտակ): Նշում. Ես չունեի 21 մմ պտուտակներ, այնպես որ ես իմն էի 16 պտուտակով և 5 կին-տղամարդ պտուտակներով:

Wգուշացում. Այստեղ սահմանված պտուտակների երկարությունները կարող են փոխվել, մնում է միայն համոզվել, որ ազնվամորի Pis- ի միջև հեռավորությունը բավական մեծ է, որպեսզի կարճ միացում չստանա…

Լիցքավորեք ձեր լիթիումի մարտկոցները `օգտագործելով մարտկոցի վահանի մինի-USB միակցիչը և միացրեք փայտե կտորը միասին, ինչպես ցույց է տրված վերևում նկարում: Դուք պատրաստ եք մարտկոցի վահանը միացնել ազնվամորիին: Եվ այլևս ssh-ing չի պահանջվում, հենց որ մենք ազնվամորի պին միացնենք, այն այժմ կիսում է տեսանյութերի հոսքը առցանց, հենց որ այն սկսվի UV4L- ի շնորհիվ: Փոխանցումն ավարտված է:

Քայլ 4: Պատկերացրեք ստերեո պատկերը

Պատկերացրեք ստերեո պատկերը
Պատկերացրեք ստերեո պատկերը

Այժմ մենք ունենք պատկերի երկու հոսք, որոնք հասանելի են տեղական ցանցի միջոցով, մենք տեսանք, որ դրանք կարող ենք դիտել առանձին ՝ օգտագործելով դիտարկիչում https:// raspberryip {1, 2}/stream/: Արդյո՞ք մենք կարող ենք փորձել բացել երկու էջ մեր դիտարկիչում: Ոչ, մենք չենք! 1. Դա չափազանց տգեղ կլիներ, եթե 2 -ը չաշխատեր, քանի որ էկրանը որոշ ժամանակ անց քնելու էր: Այս քայլը ցույց կտա ձեզ, թե ինչպես լուծել այդ խնդիրները:

Նախ եկեք տեսնենք, թե ինչ է նախկինում օգտագործված հասցեի հետևում: Եթե ստուգեք բացված էջի html կոդը, կտեսնեք, որ էջում ցուցադրվող հոսքը բաղկացած է

պիտակ ՝ https://raspberryip/stream/video.mjpeg աղբյուրով: Արդյունքում վերջին քայլը կարող է լինել բավականին պարզ: Մեկ ճանապարհ կարող է լինել ծրագրավորման android ծրագիրը երկու Webview- ով ՝ պատկերի հոսքը ցուցադրելու համար, շատ ավելի պարզ ՝ մեր համակարգչում գործարկել տեղական սերվեր, որը կծառայի html էջին, որը նման է «https:// raspberryip/stream/» - ին, բացառությամբ որ դա թույլ կտա մեկ հոսքի փոխարեն դիտել երկու հոսքերը և արթուն պահել սարքը:

Ինչպես ենք մենք ստեղծում նման սերվեր: Պիթոնի հետ ավելի պարզ բան չկա: Ստեղծեք մի թղթապանակ, որում տեղադրեք index.txt և NoSleep.txt ֆայլերը, որոնք կվերանվանեք որպես index.html և NoSleep.js: Index.html- ում փնտրեք երկուսը

նշեք և փոխարինեք ազնվամորու ips- ը ձերով: Սա կլինի html էջը, որը ցույց կտա մեր պատկերների երկու հոսքերը javascript- ով, որը թույլ է տալիս նրան արթուն մնալ: Այժմ ցանկանում եք այս էջը հասանելի դարձնել ձեր բջջային հեռախոսի համար, որտեղ պիթոնը հարմար է դառնում. Տեղադրեք ֆայլը server.py նույն թղթապանակում և սկսեք սցենարը ՝ օգտագործելով python server.py հրամանը (նկատի ունեցեք, որ այս սցենարը համատեղելի է python 3 -ի հետ, եթե օգտագործում եք python 2 -ը, դուք պետք է խմբագրեք server.py- ն և socketserver- ը փոխարինեք SocketServer- ով):

Դա այն է, ինչ դուք կարող եք մուտք գործել ստերեո հոսք ցանկացած սարքից `ձեր տեղական ցանցին միացված դիտարկիչով: Փորձեք այն, ստացեք ձեր համակարգչի ip- ը և բացեք https:// computerip: 8080: Դուք հավանաբար կարող եք նկատել երեք բան.

  • Հիանալի է, որ մենք գրեթե այնտեղ ենք:
  • Այն ամբողջ էկրանով չէ,
  • Ի վերջո, այն քնում է:

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

Վերջ! Այժմ դուք պետք է կարողանաք տեղադրել ձեր հեռախոսը ձեր VR ականջակալում և տեսնել, թե ինչ է կատարվում ձեր Pi- ի դիմաց: Թե՞ դա այն է:

Քայլ 5: Հարթեցրեք իրերը

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

Այդ պարամետրերը փոխելու համար վերադարձեք ձեր տերմինալ և մուտք գործեք ձեր Raspberry Pi- ի: UV4L- ն օգտագործում է կազմաձևման ֆայլ: Այս ֆայլը /etc/uv4l/uv4l-raspicam.conf է: Այն խմբագրելու համար մուտքագրեք sudo nano /etc/uv4l/uv4l-raspicam.conf հրամանը: Այժմ դուք կկարողանաք սահմանել լայնությունը, բարձրությունը և քվանտիզացիան, ինչպես ցանկանում եք: Ես օգտագործեցի լայնություն = 320, բարձրություն = 240 և քվանտացում = 40 արժեքները և դրանցով սահուն փոխանցում ստացա:

Քայլ 6: Վայելեք

Միակ բանը, որ այժմ պետք է անեք, այն է, որ համակարգը տեղադրեք այնտեղ, որտեղ ցանկանում եք, հեռախոսը դրեք ստվարաթղթի մեջ և ձեր յոգայի սեանսը, մեդիտացիան, գարեջրի պոնգը ձեր ընկերների հետ կամ որևէ այլ բան: Ձեզ կարող է անհրաժեշտ լինել որոշ ժամանակ (1 կամ 2 րոպե) ՝ տեսախցիկի ուղղությանը ընտելանալու համար, որն ի սկզբանե կզգա, որ հանկարծակի դուք ունեք ստրաբիզմի խնդիր: Ինձ համար արագ ընտելանալու տարբերակներից մեկն այն է, որ առաջին հերթին կենտրոնանամ մոտակա օբյեկտների վրա, այնուհետև անցնեմ հետագա օբյեկտների վրա:

Ես մտածեցի մի քանի ընդարձակումների մասին, որոնք կարող էին հետաքրքիր լինել.

  • հնարավոր դարձրեք տեսնել ձեր տնից դուրս, այսինքն ՝ հոսքը հասանելի դարձնել ձեր տեղական ցանցից դուրս:
  • տեղադրել այն շարժական ռոբոտային հարթակի վրա ՝ անօդաչու թռչող սարքերի մրցումներ կատարելու համար:

Որպես ուսուցիչ, կարծում եմ, որ այս նախագիծը կարող է հետաքրքիր լինել ՝ ավելին իմանալու համար.

  • Ազնվամորու Pi, որոնք են համակարգչի հիմնական բաղադրիչները, ինչ է OS համակարգը,
  • Ընդհանուր ցանցային հասկացություններ ՝ տեղական և արտաքին IP- ով, HTTP արձանագրությամբ,
  • HTML և javascript.

Հուսով եմ, որ այս ուսանելիը, որն իմ առաջինն էր, բավականաչափ պարզ է ՝ առանց չափազանց ծանր ընթերցելու:

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