สารบัญ:

DIY Digital Out of Body Experience: 6 ขั้นตอน
DIY Digital Out of Body Experience: 6 ขั้นตอน

วีดีโอ: DIY Digital Out of Body Experience: 6 ขั้นตอน

วีดีโอ: DIY Digital Out of Body Experience: 6 ขั้นตอน
วีดีโอ: skibidi toilet multiverse 023 bloopers 2024, กรกฎาคม
Anonim
DIY Digital Out of Body Experience
DIY Digital Out of Body Experience

ในบทช่วยสอนนี้ คุณจะได้เรียนรู้วิธีสร้างระบบที่ให้คุณดูราวกับว่าคุณอยู่ที่อื่น ฉันเรียกประสบการณ์ดิจิทัลออกจากร่างกายนี้ เพราะครั้งแรกที่ฉันนึกถึงระบบนี้คือตอนที่ฉันกำลังฝึกโยคะ และฉันคิดว่าการฝึกในขณะที่มองตัวเองด้วยมุมมองบุคคล 3 มิติ อย่างในวิดีโอเกมนั้นน่าสนใจมาก ในที่สุดฉันก็คิดว่ามันอาจเป็นอุปกรณ์ที่น่าสนใจในการนั่งสมาธิกับสิ่งที่ไม่ใช่ตัวตน ดูตัวเองจากภายนอกเป็นเครื่องมือที่จะช่วยให้ฉันเว้นระยะห่างและสังเกตความคิด อารมณ์ และความรู้สึกของฉัน แต่โยคีมือใหม่และผู้ทำสมาธิในตัวฉันไม่ใช่คนที่เหมาะสมที่จะทำให้ฉันดำเนินโครงการนี้ไปได้ ในที่สุดก็เป็นนักเล่นเกม/ผู้เล่น ฉันคิดว่าโปรเจ็กต์นี้จะเป็นก้าวที่เพิ่มขึ้นที่ดีในการสร้างหุ่นยนต์เคลื่อนที่ที่ควบคุมผ่านมุมมองบุคคลที่หนึ่ง เพื่อทำการแข่งขันหุ่นยนต์เคลื่อนที่ในมุมมองแรก!

ขั้นตอนที่ 1: สิ่งที่คุณต้องการ

สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
  1. 2xRaspberry Pi 3 รุ่น B แต่ละตัวมีกล้องและสายวัด (15 ซม. และ 30 ซม.)
  2. ตัวป้องกันแบตเตอรี่, แบตเตอรี่ 2 ก้อนและสาย usb ถึง 2xmini-USB เพื่อเชื่อมต่อกับ Raspberry's (ฉันใช้ตัวป้องกันแบตเตอรี่ 10650 คู่พร้อมเอาต์พุต USB, แบตเตอรี่ 2xLiitoKala Lii-35A 18650 และสายนี้)
  3. ไม้ MDF ขนาด 240x140x5 มม. (หรือไม้อื่น ๆ ที่เข้ากันได้กับเครื่องตัดเลเซอร์)
  4. เข้าถึงเครื่องตัดเลเซอร์
  5. สกรูและสลักเกลียว M2
  6. คอมพิวเตอร์ที่มี python
  7. สมาร์ทโฟนที่มีโครเมียม
  8. กระดาษแข็งของ Google หรือระบบใด ๆ ที่อนุญาตให้คุณได้รับประสบการณ์ VR จากโทรศัพท์ของคุณ (ฉันได้รับ ednet Virtual Reality Brille ซึ่งเข้ากันได้กับโทรศัพท์ที่มีขนาดไม่เกิน 159.2 มม. x 75.2 มม. จากสิ่งที่ฉันอ่าน)

ขั้นตอนที่ 2: รับ Rapsberry Pi เพื่อจับภาพวิดีโอสดและแชร์

ก่อนอื่น ให้ตรวจสอบให้แน่ใจว่ากล้อง Pi ของเราเสียบอยู่กับ Raspberry Pi เสร็จแล้ว ? นั่นคือส่วนฮาร์ดแวร์สำหรับขั้นตอนนี้ มาต่อกันที่ส่วนซอฟต์แวร์กัน

เกี่ยวกับซอฟต์ หากคุณอยู่ในเคสของฉันและคุณไม่ได้ติดตั้งระบบปฏิบัติการบน PI และคุณไม่มีคีย์บอร์ด เมาส์ และหน้าจอสำรอง มาดาวน์โหลด 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" ด้วย ip ของ raspberry pi ที่คุณพบผ่าน lanScan

เท่านี้ก็เพียงพอแล้วสำหรับ "ดวงตา" ของเราสองคน แล้วคนอื่นล่ะ? ไม่ว่าเราจะทำซ้ำขั้นตอนเดียวกัน หรือเราจะโคลนสิ่งที่อยู่บนราสเบอร์รี่ pi ของเราไปยังการ์ด SD อื่น หากต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกที่สอง คุณสามารถตรวจสอบ GitHub นี้:

เท่านี้คุณก็ควรมีราสเบอร์รี่ pi สองตัวของคุณแบ่งปันสตรีมวิดีโอสดบนเครือข่ายท้องถิ่น! ตาทำงานแล้ว มาแก้ปัญหาตาเหล่น้อยๆ กันเถอะ มาทำให้ระบบเล็ก ๆ ของเราพกพาสะดวกกันเถอะ !

ขั้นตอนที่ 3: ทำให้พกพาสะดวก: Laser Cut and Mount

ทำให้พกพาได้: เลเซอร์คัทและติดตั้ง
ทำให้พกพาได้: เลเซอร์คัทและติดตั้ง
ทำให้พกพาได้: เลเซอร์คัทและติดตั้ง
ทำให้พกพาได้: เลเซอร์คัทและติดตั้ง
ทำให้พกพาได้: เลเซอร์คัทและติดตั้ง
ทำให้พกพาได้: เลเซอร์คัทและติดตั้ง

ในการทำให้ระบบกล้องพกพาได้ ฉันได้ออกแบบโครงสร้างไม้ซึ่งฉันสามารถขันสกรู Raspberry Pis ที่กล้องและแผงบังแบตเตอรี่ได้ การออกแบบที่แนบมานี้เป็นไฟล์ svg คุณอาจต้องปรับเปลี่ยนตำแหน่งสกรูสำหรับแผงบังแบตเตอรี่ขึ้นอยู่กับโล่ของคุณและ/หรือการออกแบบขึ้นอยู่กับความหนาของไม้ของคุณ

เมื่อคุณได้ทุกอย่างแล้ว:

  1. ติดตั้งกล้องทางด้านซ้ายของการออกแบบ (8 M2 สกรู 5 มม., 8 M2 สกรู 8 มม. และ 8 สลักเกลียว 8 มม.)
  2. ติดตั้งแผงป้องกันแบตเตอรี่ (สกรู M2 ขนาด 5 มม. 4 ตัว สกรู M2 ขนาด 8 มม. 4 ตัว และสลักเกลียว 8 มม. 4 ตัว)
  3. ติดตั้ง "คลัสเตอร์" ราสเบอร์รี่ pi ตามที่แสดงในภาพด้านบน (สกรู M2 ขนาด 5 มม. 4 ตัว, สกรู M2 ขนาด 8 มม. 4 ตัว, สลักเกลียวตัวผู้ 4 ตัวขนาด 5 มม. ขึ้นไป, สลักเกลียว 21 มม. 4 ตัว) หมายเหตุ: ฉันไม่มีสลักเกลียวขนาด 21 มม. ดังนั้นฉันจึงใช้สลักเกลียว 16 ตัวและสลักเกลียวตัวเมีย 5 ตัว

คำเตือน: ความยาวของสลักเกลียวที่กำหนดที่นี่สามารถเปลี่ยนแปลงได้ สิ่งเดียวที่ต้องแน่ใจว่าระยะห่างระหว่าง Raspberry Pis นั้นใหญ่พอที่จะไม่ให้ไฟฟ้าลัดวงจร…

ชาร์จแบตเตอรี่ลิเธียมของคุณโดยใช้ขั้วต่อ mini-usb ของตัวป้องกันแบตเตอรี่ และติดตั้งชิ้นไม้เข้าด้วยกันตามที่แสดงในภาพด้านบน คุณพร้อมที่จะเชื่อมต่อเกราะป้องกันแบตเตอรี่ของคุณกับราสเบอร์รี่แล้ว! และไม่จำเป็นต้องใช้ ssh-ing อีกต่อไป ทันทีที่เราเพิ่มพลังให้กับ Raspberry Pi ตอนนี้จะแชร์สตรีมวิดีโอออนไลน์ทันทีที่เริ่มทำงานด้วย UV4L โอนหมด !

ขั้นตอนที่ 4: เห็นภาพสเตอริโอ

เห็นภาพสเตอริโอ
เห็นภาพสเตอริโอ

ตอนนี้ เรามีสตรีมรูปภาพสองแบบที่เข้าถึงได้ผ่านเครือข่ายท้องถิ่น เราเห็นว่าสามารถดูทีละรายการโดยใช้ที่อยู่ https://raspberryip{1, 2}/stream/ บนเบราว์เซอร์ ดังนั้นเราจึงสามารถลองเปิดสองหน้าบนเบราว์เซอร์ของเราได้หรือไม่ ? ไม่เราจะไม่! 1. มันจะน่าเกลียดเกินไป 2. มันจะไม่ทำงานเพราะมันจะเข้าสู่โหมดสลีปหลังจากเวลาผ่านไป ! ขั้นตอนนี้จะแสดงให้คุณเห็นถึงวิธีแก้ปัญหาเหล่านั้น

อันดับแรกเรามาดูกันดีกว่าว่าที่อยู่ด้านหลังใช้อะไรมาก่อน หากคุณตรวจสอบโค้ด html ของหน้าเว็บที่เปิดขึ้น คุณจะเห็นว่าสตรีมที่แสดงบนหน้าเว็บประกอบด้วย

แท็กที่มีแหล่งที่มาที่กำหนดเป็น https://raspberryip/stream/video.mjpeg เป็นผลให้ขั้นตอนสุดท้ายสามารถทำได้ค่อนข้างง่าย วิธีหนึ่งอาจเป็นการตั้งโปรแกรมแอป Android ที่มี Webviews สองรายการเพื่อแสดงสตรีมรูปภาพ วิธีหนึ่งที่ง่ายกว่ามากคือเรียกใช้เซิร์ฟเวอร์ในพื้นที่บนคอมพิวเตอร์ของเราซึ่งจะให้บริการหน้า html ที่คล้ายกับ "https://raspberryip/stream/" ยกเว้น ที่จะช่วยให้คุณดูสตรีมทั้งสองแบบแทนที่จะเป็นหนึ่งสตรีม และทำให้อุปกรณ์ทำงานตลอดเวลา

เราจะตั้งค่าเซิร์ฟเวอร์ดังกล่าวได้อย่างไร ? ไม่มีอะไรง่ายกว่านี้ด้วย python สร้างโฟลเดอร์ที่คุณใส่ไฟล์ index.txt และ NoSleep.txt ที่คุณจะเปลี่ยนชื่อเป็น index.html และ NoSleep.js ใน index.html ค้นหา two

แท็กและแทนที่ราสเบอร์รี่ ips ด้วยของคุณ นี่จะเป็นหน้า html ที่แสดงสตรีมรูปภาพทั้งสองของเราด้วยจาวาสคริปต์ที่อนุญาตให้มันทำงานต่อไป ตอนนี้คุณต้องการให้โทรศัพท์มือถือของคุณสามารถเข้าถึงหน้านี้ได้ ซึ่งเป็นจุดที่ python มีประโยชน์: วางไฟล์ 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 ตอนนี้คุณสามารถกำหนดความกว้าง ความสูง และ quantization ได้ตามที่คุณต้องการ ฉันใช้ค่า width = 320, height = 240 และ quantization = 40 และได้รับการส่งสัญญาณที่ราบรื่นกับสิ่งเหล่านั้น

ขั้นตอนที่ 6: สนุก

สิ่งเดียวที่ต้องทำตอนนี้คือตั้งค่าระบบที่คุณต้องการวางโทรศัพท์ไว้ในกระดาษแข็งและทำเซสชั่นโยคะ ทำสมาธิ เล่นเบียร์ปองกับเพื่อน ๆ หรืออะไรก็ตาม ! คุณอาจต้องใช้เวลา (1 หรือ 2 นาที) เพื่อทำความคุ้นเคยกับทิศทางของกล้องซึ่งจะรู้สึกเหมือนคุณมีปัญหาตาเหล่ในทันที วิธีหนึ่งที่ฉันจะชินกับมันอย่างรวดเร็วคือโฟกัสที่วัตถุที่อยู่ใกล้ก่อนแล้วค่อยไปต่อ

ฉันนึกถึงส่วนขยายบางอย่างที่น่าสนใจ:

  • ทำให้สามารถมองเห็นนอกบ้านได้ ทำให้สามารถเข้าถึงสตรีมได้จากภายนอกเครือข่ายท้องถิ่นของคุณ
  • วางบนแพลตฟอร์มหุ่นยนต์เคลื่อนที่เพื่อแข่งโดรน !

ในฐานะครู ฉันคิดว่าโครงงานนี้น่าสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ:

  • Raspberry Pi, อะไรคือองค์ประกอบพื้นฐานของคอมพิวเตอร์, ระบบปฏิบัติการคืออะไร,
  • แนวคิดเครือข่ายทั่วไป ด้วย IP ท้องถิ่นและภายนอก โปรโตคอล
  • HTML และจาวาสคริปต์

ฉันหวังว่าคำแนะนำนี้ซึ่งเป็นครั้งแรกของฉันชัดเจนเพียงพอโดยไม่ต้องอ่านหนักเกินไป

แนะนำ: