Obsah:

DIY Digital Out of Body Experience: 6 kroků
DIY Digital Out of Body Experience: 6 kroků

Video: DIY Digital Out of Body Experience: 6 kroků

Video: DIY Digital Out of Body Experience: 6 kroků
Video: Jak odemknout fabii bez klíčů rukama za 2 vteřiny 2024, Listopad
Anonim
DIY Digital Out of Body Experience
DIY Digital Out of Body Experience

V tomto tutoriálu se naučíte, jak vytvořit systém, který vám umožní vidět, jako byste byli někde jinde. Říkal jsem tomu digitální zážitek mimo tělo, protože poprvé jsem o tomto systému přemýšlel, když jsem cvičil jógu a říkal jsem si, že by bylo velmi zajímavé cvičit a zároveň se vidět s 3D osobním pohledem, jako v některých videohrách. Nakonec mě také napadlo, že by to mohlo být zajímavé zařízení k meditaci nad ne-já, sledování sebe sama zvenčí, jako nástroj, který mi pomůže vzít si odstup a jednoduše pozorovat své myšlenky, emoce a pocity. Ale začínající jogíni a meditující ve mně nebyli těmi správnými lidmi, kteří by mě nechali unést tímto projektem. Nakonec jsem hráč/hráč, který jsem si myslel, že tento projekt by byl pěkným přírůstkovým krokem k vybudování mobilního robota ovládaného z pohledu první osoby, který by mohl udělat nějaký druh závodního závodění s mobilním robotem!

Krok 1: Věci, které budete potřebovat

Věci, které budete potřebovat
Věci, které budete potřebovat
Věci, které budete potřebovat
Věci, které budete potřebovat
Věci, které budete potřebovat
Věci, které budete potřebovat
  1. 2x Raspberry Pi 3 model B, každý vybaven kamerou a kabelem o rozměrech (15 cm a 30 cm)
  2. Štít baterie, 2 baterie a kabel USB na 2xmini-USB pro připojení k Raspberry's (použil jsem duální štít baterie 10650 s výstupem USB, 2xLiitoKala Lii-35A 18650 baterie a tento kabel)
  3. 240x140x5mm kus MDF dřeva (nebo jakéhokoli jiného dřeva kompatibilního s laserovou řezačkou)
  4. Přístup k laserovému cuteru
  5. Šrouby a šrouby M2
  6. Počítač s pythonem
  7. Smartphone s chromem
  8. Karton Google nebo jakýkoli systém, který vám umožní získat zážitek z VR z vašeho telefonu (dostal jsem ednet Virtual Reality Brille, který je kompatibilní s telefonem o rozměrech až 159,2 mm x 75,2 mm podle toho, co jsem četl)

Krok 2: Získejte Rapsberry Pi, abyste mohli pořizovat živé video a sdílet jej

Nejprve se ujistěte, že se naše kamera Pi připojila k malinovému Pi. Hotovo ? To byla hardwarová část tohoto kroku. Pokračujme v softwarové části.

Pokud jde o soft, pokud jste v mém případě a nemáte na svém PI nainstalovaný žádný OS a nemáte žádnou náhradní klávesnici, myš a obrazovku, stáhněte si zde raspbian lite a postupujte podle jednoduchých kroků popsaných zde: https://www.taygan.co/blog/2018/03/08/setup-a-rasp… Pokud vše proběhlo dobře, vaše Pi je nyní připojeno k vaší WIFI, znáte její IP adresu a jste k ní připojeni prostřednictvím ssh.

Pomocí ssh zajistíme, aby Pi sdílelo, co zobrazuje. K tomu použijeme UV4L. Postupujte podle pokynů na následující webové stránce: https://raspberry-valley.azurewebsites.net/UV4L/. Pokud jste s nastavením UV4L hotovi, jak je popsáno v odkazu, měli byste nyní mít možnost sledovat živé video vaší maliny na počítači. K tomu jednoduše přejděte do svého prohlížeče na adrese https:// raspberryip: 8080/stream a nahraďte „raspberryip“IP malinového pi, které jste našli prostřednictvím lanScan.

Nyní je to pro jedno z našich dvou „očí“hotové. A co ten druhý? Buď opakujeme stejný proces, nebo klonujeme to, co je na našem malinovém pi, na jinou SD kartu. Chcete-li vědět více o druhé možnosti, můžete zkontrolovat tento github:

A tady to máte, měli byste nyní nechat své dva malinové pi sdílet svůj živý video stream v místní síti! Nechali jsme oči pracovat, teď pojďme vyřešit tento malý problém se strabisme a udělejme náš malý systém přenosným!

Krok 3: Zajistěte, aby byl přenosný: Laserové řezání a montáž

Přizpůsobte jej: řezání a montáž laserem
Přizpůsobte jej: řezání a montáž laserem
Přizpůsobte jej: řezání a montáž laserem
Přizpůsobte jej: řezání a montáž laserem
Přizpůsobte jej: řezání a montáž laserem
Přizpůsobte jej: řezání a montáž laserem

Aby byl kamerový systém přenosný, navrhl jsem dřevěnou konstrukci, na kterou mohu přišroubovat kameru maliny Pis a kryt baterie. Navržený je zde připojen jako soubor svg. Možná budete muset upravit polohu šroubů pro kryt baterie v závislosti na štítu a/nebo designu v závislosti na tloušťce dřeva.

Jakmile máte všechno rozřezané:

  1. Namontujte kamery na levou část konstrukce (8 šroubů M2 5 mm, 8 šroubů M2 8 mm a 8 šroubů 8 mm)
  2. Namontujte kryt baterie (4 šrouby M2 5 mm, 4 šrouby M2 8 mm a 4 šrouby 8 mm)
  3. Namontujte „shluk“malinového pi podle obrázku výše (4 šrouby M2 5 mm, 4 šrouby M2 8 mm, 4 šrouby s vnitřním závitem 5 mm nebo více, 4 šrouby 21 mm). Poznámka: Neměl jsem 21 mm šrouby, takže jsem udělal můj se 16 šrouby a 5 šrouby s vnitřním závitem.

Varování: zde definované délky šroubů lze měnit, pouze se ujistěte, že vzdálenost mezi malinovým Pis je dostatečně velká, aby nedošlo ke zkratu…

Nabijte své lithiové baterie pomocí konektoru mini-USB stínění baterie a namontujte dřevěný kus dohromady, jak je znázorněno na obrázku výše. Jste připraveni připojit štít baterie k malinám! A již není vyžadováno žádné ssh-ing, jakmile raspberry pi zapne, nyní sdílí video stream online, jakmile začne díky UV4L. Přenos ukončen!

Krok 4: Vizualizace stereofonního obrazu

Vizualizujte stereofonní obraz
Vizualizujte stereofonní obraz

Nyní máme dva obrazové streamy, které jsou přístupné prostřednictvím místní sítě. Zjistili jsme, že je můžeme jednotlivě zobrazit pomocí adresy https:// raspberryip {1, 2}/stream/v prohlížeči. Můžeme se tedy pokusit otevřít dvě stránky v našem prohlížeči? Ne, nebudeme! 1. To by bylo příliš ošklivé, zapnuto 2. to by nefungovalo, protože displej by po nějaké době usnul! Tento krok vám ukáže, jak tyto problémy vyřešit.

Nejprve se podívejme, co je za dříve používanou adresou. Pokud zkontrolujete html kód stránky, která je otevřena, uvidíte, že stream zobrazený na stránce se skládá z

tag se zdrojem definovaným jako https://raspberryip/stream/video.mjpeg. Výsledkem je, že poslední krok může být docela jednoduchý. Jednou z cest by mohlo být naprogramování aplikace pro Android se dvěma Webviewy pro zobrazení proudu obrazu, mnohem jednodušší je spustit na našem počítači lokální server, který bude obsluhovat stránku html podobnou „https:// raspberryip/stream/“kromě že vám umožní zobrazit oba streamy místo jednoho a udržet zařízení v bdělém stavu.

Jak takový server nastavíme? S pythonem není nic jednoduššího. Vytvořte složku, do které vložíte soubory index.txt a NoSleep.txt, které přejmenujete na index.html a NoSleep.js. V index.html vyhledejte dva

tagy a nahradit malinové ips vašimi. Toto bude stránka html, která zobrazuje naše dva obrazové streamy s javascriptem, který mu umožňuje zůstat vzhůru. Nyní chcete tuto stránku zpřístupnit svému mobilnímu telefonu, kde se python hodí: vložte soubor server.py do stejné složky a spusťte skript pomocí příkazu python server.py (Všimněte si, že tento skript je kompatibilní s pythonem 3, pokud používáte python 2, budete muset upravit server.py a nahradit socketserver pomocí SocketServer).

To je to, ke kterému máte přístup ke stereo streamu z jakéhokoli zařízení s prohlížečem připojeným k vaší místní síti. Vyzkoušejte to, získejte IP svého počítače a otevřete https:// computerip: 8080. Pravděpodobně si můžete všimnout tří věcí:

  • Je skvělé, že jsme téměř tam!
  • Není to na celé obrazovce,
  • Nakonec to jde spát.

Jak to ? Jak si zde můžete přečíst, funkce pro aktivaci režimu bez spánku vyžaduje vyvolání fiktivní akce. Abych tuto potřebu respektoval, spojil jsem s touto funkcí kliknutí na první obrázek. V důsledku toho jednoduše klikněte na první obrázek a mělo by se vám zobrazit upozornění, že je aktivován režim bez spánku a stránka by nyní měla být také na celé obrazovce.

A je to! Nyní byste měli mít možnost umístit telefon do náhlavní soupravy VR a sledovat, co se děje před vašimi Pi! Nebo je to ono?

Krok 5: Vyhlaďte věci

Ve skutečnosti, pokud jsou vaše Pi a síť podobné mým, to, co vidíte na náhlavní soupravě, může být trochu nepříjemné, protože může dojít k výraznému zpoždění. Abychom tedy opravdu skončili s hladkým systémem, vyřešme tento poslední problém. Jak vyřešit zpoždění? Jednoduše jsem odhadl, že problém může pocházet buď z komprese v reálném čase pomocí Pi, která je příliš výpočetně náročná, buď z bezdrátového připojení, o kterém bych pochyboval. Každopádně, abyste to vyřešili, můžete udělat něco velmi jednoduchého, což je snížit rozlišení a přenosovou rychlost, s níž jsou vaše obrázky získávány a kódovány na Pi.

Chcete -li tyto parametry změnit, vraťte se na svůj terminál a přihlaste se na Raspberry Pi. UV4L používá konfigurační soubor. Tento soubor je /etc/uv4l/uv4l-raspicam.conf. Chcete-li jej upravit, zadejte příkaz sudo nano /etc/uv4l/uv4l-raspicam.conf. Nyní budete moci nastavit šířku, výšku a kvantování, jak chcete. Použil jsem hodnoty width = 320, height = 240 a quantisation = 40 a dosáhl jsem s nimi hladkého přenosu.

Krok 6: Užijte si to

Jediné, co nyní zbývá udělat, je nastavit systém tam, kde ho chcete mít, vložit telefon do kartonu a věnovat se cvičení jógy, meditaci, pivu s přáteli nebo cokoli jiného! Možná budete potřebovat nějaký čas (1 nebo 2 minuty), abyste si zvykli na směr kamery, který vám bude nejprve připadat, jako byste najednou měli problém se strabismem. Jedním ze způsobů, jak si na to rychle zvyknout, je nejprve se zaměřit na blízké objekty a poté přejít k dalším.

Napadlo mě několik rozšíření, která by mohla být zajímavá:

  • aby bylo možné vidět mimo váš domov, to znamená zpřístupnit stream mimo vaši místní síť.
  • dejte to na mobilní robotickou platformu, abyste mohli dělat závody dronů!

Jako učitel si myslím, že by tento projekt mohl být zajímavý, kdybyste se dozvěděli více o:

  • Raspberry Pi, jaké jsou základní součásti počítače, co je to systém OS,
  • Obecné koncepty sítě s lokální a externí IP, protokol
  • HTML a javascript.

Doufám, že tento instruktáž, který byl můj první, je dostatečně jasný, aniž by byl příliš těžký na čtení.

Doporučuje: