สารบัญ:
- ขั้นตอนที่ 1: สิ่งที่คุณต้องการ
- ขั้นตอนที่ 2: รับ Rapsberry Pi เพื่อจับภาพวิดีโอสดและแชร์
- ขั้นตอนที่ 3: ทำให้พกพาสะดวก: Laser Cut and Mount
- ขั้นตอนที่ 4: เห็นภาพสเตอริโอ
- ขั้นตอนที่ 5: ราบรื่นขึ้น
- ขั้นตอนที่ 6: สนุก
วีดีโอ: DIY Digital Out of Body Experience: 6 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
ในบทช่วยสอนนี้ คุณจะได้เรียนรู้วิธีสร้างระบบที่ให้คุณดูราวกับว่าคุณอยู่ที่อื่น ฉันเรียกประสบการณ์ดิจิทัลออกจากร่างกายนี้ เพราะครั้งแรกที่ฉันนึกถึงระบบนี้คือตอนที่ฉันกำลังฝึกโยคะ และฉันคิดว่าการฝึกในขณะที่มองตัวเองด้วยมุมมองบุคคล 3 มิติ อย่างในวิดีโอเกมนั้นน่าสนใจมาก ในที่สุดฉันก็คิดว่ามันอาจเป็นอุปกรณ์ที่น่าสนใจในการนั่งสมาธิกับสิ่งที่ไม่ใช่ตัวตน ดูตัวเองจากภายนอกเป็นเครื่องมือที่จะช่วยให้ฉันเว้นระยะห่างและสังเกตความคิด อารมณ์ และความรู้สึกของฉัน แต่โยคีมือใหม่และผู้ทำสมาธิในตัวฉันไม่ใช่คนที่เหมาะสมที่จะทำให้ฉันดำเนินโครงการนี้ไปได้ ในที่สุดก็เป็นนักเล่นเกม/ผู้เล่น ฉันคิดว่าโปรเจ็กต์นี้จะเป็นก้าวที่เพิ่มขึ้นที่ดีในการสร้างหุ่นยนต์เคลื่อนที่ที่ควบคุมผ่านมุมมองบุคคลที่หนึ่ง เพื่อทำการแข่งขันหุ่นยนต์เคลื่อนที่ในมุมมองแรก!
ขั้นตอนที่ 1: สิ่งที่คุณต้องการ
- 2xRaspberry Pi 3 รุ่น B แต่ละตัวมีกล้องและสายวัด (15 ซม. และ 30 ซม.)
- ตัวป้องกันแบตเตอรี่, แบตเตอรี่ 2 ก้อนและสาย usb ถึง 2xmini-USB เพื่อเชื่อมต่อกับ Raspberry's (ฉันใช้ตัวป้องกันแบตเตอรี่ 10650 คู่พร้อมเอาต์พุต USB, แบตเตอรี่ 2xLiitoKala Lii-35A 18650 และสายนี้)
- ไม้ MDF ขนาด 240x140x5 มม. (หรือไม้อื่น ๆ ที่เข้ากันได้กับเครื่องตัดเลเซอร์)
- เข้าถึงเครื่องตัดเลเซอร์
- สกรูและสลักเกลียว M2
- คอมพิวเตอร์ที่มี python
- สมาร์ทโฟนที่มีโครเมียม
- กระดาษแข็งของ 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 คุณอาจต้องปรับเปลี่ยนตำแหน่งสกรูสำหรับแผงบังแบตเตอรี่ขึ้นอยู่กับโล่ของคุณและ/หรือการออกแบบขึ้นอยู่กับความหนาของไม้ของคุณ
เมื่อคุณได้ทุกอย่างแล้ว:
- ติดตั้งกล้องทางด้านซ้ายของการออกแบบ (8 M2 สกรู 5 มม., 8 M2 สกรู 8 มม. และ 8 สลักเกลียว 8 มม.)
- ติดตั้งแผงป้องกันแบตเตอรี่ (สกรู M2 ขนาด 5 มม. 4 ตัว สกรู M2 ขนาด 8 มม. 4 ตัว และสลักเกลียว 8 มม. 4 ตัว)
- ติดตั้ง "คลัสเตอร์" ราสเบอร์รี่ 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 และจาวาสคริปต์
ฉันหวังว่าคำแนะนำนี้ซึ่งเป็นครั้งแรกของฉันชัดเจนเพียงพอโดยไม่ต้องอ่านหนักเกินไป
แนะนำ:
Guitar Looper Fade Out และ Tremolo ฟรี!: 5 ขั้นตอน (พร้อมรูปภาพ)
Guitar Looper Fade Out และ Tremolo… ฟรี!: กาลครั้งหนึ่งเมื่อกีตาร์ไฟฟ้ามีเสียงเหมือนกีตาร์และการเบี่ยงเบนทุกอย่างเรียกว่าการบิดเบือนที่ไม่ต้องการ ไม่มีเอฟเฟกต์กีตาร์ยกเว้น… เพื่อนและโพเทนชิออมิเตอร์ของคุณ ทำงานร่วมกัน! ในทางปฏิบัติในขณะที่คุณกำลังเล่น
Easy Out of Band Management for IT: 4 ขั้นตอน
Easy Out of Band Management for IT: ไอคอนที่สร้างโดย Freepik จาก www.flaticon.comเรียนรู้วิธีกำหนดค่า Out of Band Management (OOBM) โดยการเชื่อมต่อ remote.it ที่กำหนดค่า Raspberry Pi และอุปกรณ์ Android หรือ iPhone โดยการปล่อยสัญญาณผ่าน USB ใช้งานได้กับ RPi2/RPi3/RPi4 ถ้าคุณไม่รู้ว่า
Combat Drones Quadcopters Aka a Real Dogfight Experience: 8 ขั้นตอน (พร้อมรูปภาพ)
Combat Drones Quadcopters Aka a Real Dogfight Experience: ยินดีต้อนรับสู่ "ible" ของฉัน #37เราต้องยอมรับว่าโดรนประจัญบานในตลาดปัจจุบันค่อนข้างยุ่งเหยิง มันยากมากที่จะเข้าใจว่าใครชนะและใครแพ้ เมื่อโดรนตัวหนึ่งลงมา อีกตัวหนึ่งจะตามมา (ชนกัน
Rock Buggy Body สำหรับ RedCat Gen7: 9 ขั้นตอน (พร้อมรูปภาพ)
Rock Buggy Body สำหรับ RedCat Gen7: อุปกรณ์เสริมสำหรับการพิมพ์ Inspiration3D และแม้แต่ร่างกายทั้งหมดก็เป็นที่นิยมอย่างมากในหมู่ชุมชน RC โดยเฉพาะอย่างยิ่งในประเภทของ RC Crawlers ตัวฉันและคนอื่นๆ ได้เปิดตัวโครงการฟรีทุกประเภท แต่สิ่งที่ไม่เคยได้ยินมาก่อนคือให้ผู้ผลิตปล่อย
3D Body Scanner โดยใช้กล้อง Raspberry Pi: 8 ขั้นตอน (พร้อมรูปภาพ)
เครื่องสแกนร่างกาย 3 มิติโดยใช้กล้อง Raspberry Pi: สแกนเนอร์ 3 มิตินี้เป็นโครงการความร่วมมือที่ BuildBrighton Makerspace โดยมีเป้าหมายเพื่อทำให้เทคโนโลยีดิจิทัลมีราคาไม่แพงสำหรับกลุ่มชุมชน มีการใช้เครื่องสแกนในอุตสาหกรรมแฟชั่น เพื่อปรับแต่งการออกแบบเสื้อผ้า ในอุตสาหกรรมเกมสำหรับ