İçindekiler:

DIY Dijital Vücut Dışı Deneyimi: 6 Adım
DIY Dijital Vücut Dışı Deneyimi: 6 Adım

Video: DIY Dijital Vücut Dışı Deneyimi: 6 Adım

Video: DIY Dijital Vücut Dışı Deneyimi: 6 Adım
Video: Üç tür fizik isteyen kız vardır✨ 2024, Kasım
Anonim
DIY Dijital Vücut Dışı Deneyimi
DIY Dijital Vücut Dışı Deneyimi

Bu eğitimde, başka bir yerdeymişsiniz gibi görmenizi sağlayan bir sistemin nasıl oluşturulacağını öğreneceksiniz. Bu dijital beden dışı deneyim adını verdim çünkü bu sistemi ilk kez yoga yaparken düşündüm ve bazı video oyunlarında olduğu gibi kendimi 3d kişi görünümüyle görmenin çok ilginç olacağını düşündüm. Sonunda, biraz mesafe almama ve sadece düşüncelerimi, duygularımı ve hislerimi gözlemlememe yardımcı olacak bir araç olarak, kendimi dışarıdan izleyerek benlik-olmayan üzerine meditasyon yapmanın ilginç bir araç olabileceğini düşündüm. Ama içimdeki acemi yogi ve meditasyoncu beni bu projeye kaptırmak için doğru insanlar değildi. Sonunda, bu projenin, bir tür mobil robot ilk görüş yarışı yapmak için birinci şahıs bakış açısıyla kontrol edilen bir mobil robot oluşturmaya yönelik güzel bir adım olacağını düşünen oyuncu/oyuncuyum!

Adım 1: İhtiyacınız Olan Şeyler

İhtiyacınız Olan Şeyler
İhtiyacınız Olan Şeyler
İhtiyacınız Olan Şeyler
İhtiyacınız Olan Şeyler
İhtiyacınız Olan Şeyler
İhtiyacınız Olan Şeyler
  1. 2xRaspberry Pi 3 model B, her biri bir kamera ve kablo ölçümü (15cm ve 30cm) ile donatılmıştır
  2. Raspberry'lere bağlanmak için bir pil kalkanı, 2 pil ve usb'den 2xmini-USB kablosuna (USB çıkışlı çift 10650 pil kalkanı, 2xLiitoKala Lii-35A 18650 pil ve bu kabloyu kullandım)
  3. 240x140x5mm MDF ahşap parçası (veya lazer kesici ile uyumlu başka herhangi bir ahşap)
  4. Bir lazer kesiciye erişim
  5. M2 vidalar ve cıvatalar
  6. Python ile bir bilgisayar
  7. Kromlu akıllı telefon
  8. Telefonunuzdan VR deneyimi yaşamanızı sağlayan bir google karton veya herhangi bir sistem (okuduğumdan 159,2 mm x 75,2 mm boyutuna kadar telefonla uyumlu ednet Virtual Reality Brille aldım)

Adım 2: Canlı Video Yakalamak ve Paylaşmak için Rapsberry Pi'yi Alın

Öncelikle Pi kameramızın ahududu Pi'ye takılı olduğundan emin olalım. Tamamlandı ? Bu adımın donanım kısmı buydu. Yazılım kısmıyla devam edelim.

Yazılımla ilgili olarak, benim durumumdaysanız ve PI'nizde kurulu bir işletim sisteminiz yoksa ve yedek klavyeniz, fareniz ve ekranınız yoksa, o zaman raspbian lite'ı buradan indirelim ve burada açıklanan basit adımları izleyelim: https://www.taygan.co/blog/2018/03/08/setup-a-rasp… Eğer her şey yolunda gittiyse Pi'niz artık WIFI'nıza bağlı, onun ip adresini biliyorsunuz ve ona ssh ile bağlısınız.

Ssh kullanarak Pi'nin gördüklerini paylaşmasını sağlayalım. Bunun için UV4L kullanacağız. Bunun için şu web sayfasındaki adımları izleyin: https://raspberry-valley.azurewebsites.net/UV4L/. UV4L kurulumunu linkte anlatıldığı gibi yaptıysanız artık ahududunuzun canlı videosunu bilgisayarınızda görüntüleyebilmelisiniz. Bunun için tarayıcınıza https://raspberryip:8080/stream adresinden gidin ve "raspberryip" yerine lanScan aracılığıyla bulduğunuz ahududu pi'nin ipini yazın.

Şimdi iki "gözümüzden" biri için bu kadar. Peki diğeri? Ya aynı işlemi tekrarlarız ya da ahududu pi'mizde olanı başka bir SD karta klonlarız. İkinci seçenek hakkında daha fazla bilgi edinmek için şu github'u kontrol edebilirsiniz:

Ve işte gidiyorsunuz, şimdi iki ahududu pi'nizin canlı video akışını yerel ağda paylaşmasını sağlamalısınız! Gözümüz çalışmaya başladı, şimdi bu küçük şaşılık problemini çözelim ve küçük sistemimizi taşınabilir hale getirelim!

Adım 3: Taşınabilir Hale Getirin: Lazer Kesim ve Montaj

Taşınabilir Yapın: Lazer Kesim ve Montaj
Taşınabilir Yapın: Lazer Kesim ve Montaj
Taşınabilir Yapın: Lazer Kesim ve Montaj
Taşınabilir Yapın: Lazer Kesim ve Montaj
Taşınabilir Yapın: Lazer Kesim ve Montaj
Taşınabilir Yapın: Lazer Kesim ve Montaj

Kamera sistemini taşınabilir hale getirmek için üzerine ahududu Pis'i kameraları ve pil kalkanını vidalayabileceğim ahşap bir yapı tasarladım. Tasarlanan buraya bir svg dosyası olarak eklenmiştir. Kalkanınıza ve/veya ahşabınızın kalınlığına bağlı olarak tasarıma bağlı olarak pil kalkanının vida konumlarını değiştirmeniz gerekebilir.

Her şeyi kestikten sonra:

  1. Kameraları tasarımın sol tarafına monte edin (5 mm'lik 8 M2 vida, 8 mm'lik 8 M2 vida ve 8 mm'lik 8 cıvata)
  2. Pil kalkanını monte edin (5 mm'lik 4 M2 vida, 8 mm'lik 4 M2 vida ve 8 mm'lik 4 cıvata)
  3. Raspberry pi "kümesini" yukarıdaki resimde gösterildiği gibi monte edin (4 M2 5 mm vida, 8 mm 4 M2 vida, 5 mm veya daha fazla 4 erkek-dişi cıvata, 4 21 mm cıvata). Not: 21 mm civatalarım olmadığı için benimkini 16 civata ve 5 dişi-erkek civata ile yaptım.

Uyarı: Burada tanımlanan cıvata uzunlukları değiştirilebilir, sadece ahududu Pis arasındaki mesafenin kısa devre yapmayacak kadar büyük olduğundan emin olun…

Lityum pillerinizi pil kalkanı mini-usb konektörünü kullanarak şarj edin ve ahşap parçayı yukarıdaki resimde gösterildiği gibi birbirine monte edin. Pil kalkanınızı ahududulara bağlamaya hazırsınız! Ahududu pi'yi açar açmaz UV4L sayesinde video akışını başlar başlamaz çevrimiçi olarak paylaşıyor. İletim bitti!

Adım 4: Stereo Görüntüyü Görselleştirin

Stereo Görüntüyü Görselleştirin
Stereo Görüntüyü Görselleştirin

Artık yerel ağ üzerinden erişilebilen iki görüntü akışımız var, bunları bir tarayıcıda https://raspberryip{1, 2}/stream/ adresini kullanarak ayrı ayrı görüntüleyebileceğimizi gördük. Bu nedenle tarayıcımızda iki sayfa açmayı deneyebilir miyiz? Hayır, yapmayacağız! 1. Bu çok çirkin olurdu, hadi 2. bu işe yaramaz, çünkü ekran bir süre sonra uyku moduna geçer! Bu adım size bu sorunları nasıl çözeceğinizi gösterecektir.

Önce daha önce kullanılan adresin arkasında ne olduğuna bir bakalım. Açılan sayfanın html kodunu kontrol ederseniz, sayfada gösterilen akımın aşağıdakilerden oluştuğunu göreceksiniz.

raspberryip/stream/video.mjpeg olarak tanımlanan kaynağa sahip etiket. Sonuç olarak, son adım oldukça basit olabilir. Bunun bir yolu, görüntü akışını göstermek için iki Web görünümüne sahip bir android uygulamasını programlamak olabilir, çok daha basit olanı, bilgisayarımızda "https://raspberryip/stream/" benzeri bir html sayfası sunacak yerel bir sunucu çalıştırmaktır. biri yerine her iki akışı da görüntülemenize ve cihazı uyanık tutmanıza olanak tanır.

Böyle bir sunucuyu nasıl kurarız? Python ile daha basit bir şey yok. index.html ve NoSleep.js olarak yeniden adlandıracağınız index.txt ve NoSleep.txt dosyalarını koyduğunuz bir klasör oluşturun. index.html'de ikisini arayın

etiketler ve ahududu ips'lerini sizinkiyle değiştirin. Bu, javascript'in uyanık kalmasına izin veren iki görüntü akışımızı gösteren html sayfası olacaktır. Şimdi bu sayfayı cep telefonunuz için erişilebilir hale getirmek istiyorsunuz, python'un kullanışlı olduğu yerde: server.py dosyasını aynı klasöre koyun ve python server.py komutunu kullanarak betiği başlatın (Bu betiğin python 3 ile uyumlu olduğunu unutmayın), python 2 kullanıyorsanız server.py dosyasını düzenlemeniz ve socketserver'ı SocketServer ile değiştirmeniz gerekir).

Yerel ağınıza bağlı bir tarayıcı ile herhangi bir cihazdan stereo akışına erişebilirsiniz. Deneyin, bilgisayarınızın IP'sini alın ve https://computerip:8080'i açın. Muhtemelen üç şeyi fark edebilirsiniz:

  • Neredeyse orada olmamız harika!
  • Tam ekranda değil,
  • Eninde sonunda uyumaya gider.

Nasıl olur ? Burada okuyabileceğiniz gibi, uyku yok modunu etkinleştirme işlevinin çağrılması için sahte bir eylem gerekir. Bu gerekliliğe saygı duymak için ilk görüntüye tıklamayı bu işleve bağladım. Sonuç olarak, sadece ilk resme tıklayın ve size uykusuzluğun etkinleştirildiğini ve sayfanın artık tam ekran olması gerektiğini söyleyen bir uyarı görmelisiniz.

Bu kadar! Artık telefonunuzu VR kulaklığınıza koyabilmeli ve Pi'nizin önünde neler olup bittiğini görebilmelisiniz! Yoksa bu mu?

Adım 5: İşleri Pürüzsüzleştirin

Aslında, Pi'niz ve ağınız benimkine benziyorsa, bazı güçlü gecikmeler olabileceğinden, kulaklığınızda gördükleriniz biraz garip olabilir. Bu yüzden gerçekten sorunsuz bir sistemle bitirmek için bu son sorunu çözelim. Gecikme nasıl çözülür? Sorunun, hesaplama açısından çok yoğun olan Pi'ler tarafından gerçek zamanlı olarak sıkıştırılmasından ya da şüphe duyacağım kablosuz bağlantıdan gelebileceğini tahmin ettim. Her neyse, bunu çözmek için çok basit bir şey yapabilirsiniz; bu, görüntülerinizin Pi'lerde elde edildiği ve kodlandığı çözünürlüğü ve bit hızını azaltmaktır.

Bu parametreleri değiştirmek için terminalinize geri dönün ve Raspberry Pi'nizde oturum açın. UV4L bir yapılandırma dosyası kullanır. Bu dosya /etc/uv4l/uv4l-raspicam.conf'dur. Düzenlemek için sudo nano /etc/uv4l/uv4l-raspicam.conf komutunu yazın. Artık genişliği, yüksekliği ve nicelemeyi istediğiniz gibi ayarlayabileceksiniz. Genişlik = 320, yükseklik = 240 ve niceleme = 40 değerlerini kullandım ve bunlarla sorunsuz bir aktarım elde ettim.

6. Adım: Keyfini çıkarın

Artık yapmanız gereken tek şey, sistemi istediğiniz yere kurmak, telefonunuzu kartonunuza koymak ve arkadaşlarınızla yoga, meditasyon, bira pong veya her neyse yapmak! İlk başta aniden şaşılık sorununuz varmış gibi hissedeceğiniz kamera yönüne alışmak için biraz zamana (1 veya 2 dakika) ihtiyacınız olabilir. Buna çabucak alışmamın bir yolu, önce yakındaki nesnelere odaklanmak ve daha sonra diğerlerine geçmek.

İlginç olabilecek birkaç uzantı düşündüm:

  • evinizin dışını görmeyi mümkün kılmak, yani akışı yerel ağınızın dışından erişilebilir kılmak.
  • drone yarışları yapmak için mobil robotik bir platforma koyun!

Bir öğretmen olarak, bu projenin aşağıdakiler hakkında daha fazla bilgi edinmek için ilginç olabileceğini düşünüyorum:

  • Raspberry Pi, bilgisayarın temel bileşenleri nelerdir, işletim sistemi nedir,
  • Yerel ve harici IP ile genel ağ kavramları, HTTP protokolü,
  • HTML ve javascript.

Umarım ilkim olan bu talimat, okumak için çok ağır olmadan yeterince açıktır.

Önerilen: