Πίνακας περιεχομένων:

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 βήματα
Βίντεο: How out-of-body experiences could transform yourself and society | Nanci Trivellato | TEDxPassoFundo 2024, Ιούλιος
Anonim
DIY Digital Out of Body Experience
DIY Digital Out of Body Experience

Σε αυτό το σεμινάριο, θα μάθετε πώς να δημιουργήσετε ένα σύστημα που σας επιτρέπει να βλέπετε σαν να βρίσκεστε κάπου αλλού. Αποκάλεσα αυτήν την ψηφιακή εμπειρία εκτός σώματος επειδή η πρώτη φορά που σκέφτηκα αυτό το σύστημα ήταν όταν έκανα γιόγκα και σκέφτηκα ότι θα ήταν πολύ ενδιαφέρον να εξασκηθώ ενώ βλέπω τον εαυτό μου με θέαση 3d ατόμων, όπως σε ορισμένα βιντεοπαιχνίδια. Τελικά σκέφτηκα επίσης ότι θα μπορούσε να είναι μια ενδιαφέρουσα συσκευή για να διαλογιστώ τον μη εαυτό, παρακολουθώντας τον εαυτό μου από έξω, ως ένα εργαλείο που θα με βοηθήσει να κρατήσω κάποια απόσταση και απλά να παρατηρήσω τις σκέψεις, τα συναισθήματα και τα συναισθήματά μου. Αλλά ο αρχάριος γιόγκι και ο διαλογιστής μέσα μου δεν ήταν οι κατάλληλοι άνθρωποι για να με παρασύρουν σε αυτό το έργο. Τελικά, είμαι ο παίκτης/παίκτης που σκέφτηκα ότι αυτό το έργο θα ήταν ένα ωραίο πρόσθετο βήμα προς την κατασκευή ενός κινητού ρομπότ που θα ελέγχεται μέσω προβολής πρώτου προσώπου και θα κάνει κάποιους αγώνες πρώτης προβολής κινητών ρομπότ!

Βήμα 1: Πράγματα που θα χρειαστείτε

Πράγματα που θα χρειαστείτε
Πράγματα που θα χρειαστείτε
Πράγματα που θα χρειαστείτε
Πράγματα που θα χρειαστείτε
Πράγματα που θα χρειαστείτε
Πράγματα που θα χρειαστείτε
  1. 2xRaspberry Pi 3 μοντέλο Β το καθένα εξοπλισμένο με κάμερα και καλώδιο διαστάσεων (15cm και 30cm)
  2. Μια ασπίδα μπαταρίας, 2 μπαταρίες και καλώδιο USB 2xmini-USB για σύνδεση στο Raspberry's (χρησιμοποίησα διπλή ασπίδα μπαταρίας 10650 με έξοδο USB, 2xLiitoKala Lii-35A 18650 μπαταρίες και αυτό το καλώδιο)
  3. Τεμάχιο ξύλου MDF 240x140x5mm (ή οποιοδήποτε άλλο ξύλο συμβατό με κόφτη λέιζερ)
  4. Πρόσβαση σε λέιζερ
  5. Βίδες και μπουλόνια Μ2
  6. Υπολογιστής με python
  7. Ένα smartphone με χρώμιο
  8. Ένα χαρτόνι google ή οποιοδήποτε σύστημα που σας επιτρέπει να απολαμβάνετε εμπειρία VR από το τηλέφωνό σας (πήρα το ednet Virtual Reality Brille που είναι συμβατό με τηλέφωνο διαστάσεων έως 159,2 mm x 75,2 mm από αυτό που διάβασα)

Βήμα 2: Αποκτήστε το Rapsberry Pi για να τραβήξετε ένα ζωντανό βίντεο και να το μοιραστείτε

Αρχικά ας βεβαιωθούμε ότι η κάμερα Pi μας συνδέθηκε με το βατόμουρο Pi. Εγινε ? Αυτό ήταν το κομμάτι του υλικού για αυτό το βήμα. Ας συνεχίσουμε με το κομμάτι του λογισμικού.

Όσον αφορά το soft, εάν βρίσκεστε στην περίπτωσή μου και δεν έχετε εγκατεστημένο λειτουργικό σύστημα στο 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.

Τώρα αυτό είναι για ένα από τα δύο "μάτια" μας. Τι γίνεται με το άλλο; Είτε επαναλαμβάνουμε την ίδια διαδικασία, είτε κλωνοποιούμε ό, τι υπάρχει στο raspberry pi σε μια άλλη κάρτα SD. Για να μάθετε περισσότερα για τη δεύτερη επιλογή, μπορείτε να ελέγξετε αυτό το github:

Και εκεί, θα πρέπει τώρα να έχετε τα δύο raspberry pi να μοιράζονται τη ζωντανή ροή βίντεο στο τοπικό δίκτυο! Βγήκαμε στα μάτια, τώρα ας λύσουμε αυτό το μικρό πρόβλημα στραβισμού και ας κάνουμε το μικρό μας φορητό σύστημα!

Βήμα 3: Κάντε το φορητό: Laser Cut and Mount

Κάντε το φορητό: Laser Cut and Mount
Κάντε το φορητό: Laser Cut and Mount
Κάντε το φορητό: Laser Cut and Mount
Κάντε το φορητό: Laser Cut and Mount
Κάντε το φορητό: Laser Cut and Mount
Κάντε το φορητό: Laser Cut and Mount

Για να καταστήσω το σύστημα κάμερας φορητό, σχεδίασα μια ξύλινη κατασκευή πάνω στην οποία μπορώ να βιδώσω το βατόμουρο Pis τις κάμερες και την ασπίδα της μπαταρίας. Το σχεδιασμένο επισυνάπτεται εδώ ως αρχείο svg. Mightσως χρειαστεί να τροποποιήσετε τις θέσεις βιδών για την ασπίδα μπαταρίας ανάλογα με την ασπίδα σας και/ή το σχέδιο ανάλογα με το πάχος του ξύλου σας.

Μόλις κόψατε τα πάντα:

  1. Τοποθετήστε τις κάμερες στο αριστερό μέρος του σχεδίου (8 βίδες M2 5 mm, 8 βίδες M2 8 mm και 8 μπουλόνια 8 mm)
  2. Τοποθετήστε το προστατευτικό της μπαταρίας (4 βίδες M2 5 mm, 4 βίδες M2 8 mm και 4 μπουλόνια 8 mm)
  3. Τοποθετήστε το «σύμπλεγμα» βατόμουρου pi όπως φαίνεται στην παραπάνω εικόνα (4 βίδες M2 5 mm, 4 βίδες M2 8 mm, 4 μπουλόνια αρσενικού θηλυκού 5 mm ή περισσότερο, 4 μπουλόνια 21 mm). Σημείωση: Δεν είχα μπουλόνια 21mm οπότε το δικό μου το έκανα με 16 μπουλόνια και 5 μπουλόνια θηλυκού άνδρα.

Προσοχή: τα μήκη των μπουλονιών που ορίζονται εδώ μπορούν να αλλάξουν, το μόνο που χρειάζεται είναι να βεβαιωθείτε ότι η απόσταση μεταξύ του Pis βατόμουρου είναι αρκετά μεγάλη ώστε να μην υπάρχει βραχυκύκλωμα…

Φορτίστε τις μπαταρίες λιθίου σας χρησιμοποιώντας τη θύρα mini-usb της ασπίδας μπαταρίας και τοποθετήστε το ξύλινο κομμάτι μαζί όπως φαίνεται στην παραπάνω εικόνα. Είστε έτοιμοι να συνδέσετε την ασπίδα της μπαταρίας σας με τα σμέουρα! Και δεν απαιτείται άλλο ssh-ing, μόλις ενεργοποιήσουμε το raspberry pi, τώρα μοιράζεται τη ροή βίντεο στο διαδίκτυο μόλις ξεκινήσει χάρη στο UV4L. Ολοκληρώθηκε η μετάδοση!

Βήμα 4: Οπτικοποιήστε τη στερεοφωνική εικόνα

Οπτικοποιήστε τη στερεοφωνική εικόνα
Οπτικοποιήστε τη στερεοφωνική εικόνα

Τώρα έχουμε δύο ροές εικόνας που είναι προσβάσιμες μέσω του τοπικού δικτύου, είδαμε ότι μπορούμε να τις δούμε ξεχωριστά χρησιμοποιώντας τη διεύθυνση https:// raspberryip {1, 2}/stream/σε ένα πρόγραμμα περιήγησης. Μπορούμε επομένως να προσπαθήσουμε να ανοίξουμε δύο σελίδες στο πρόγραμμα περιήγησής μας; Όχι δεν θα το κάνουμε! 1. Αυτό θα ήταν πολύ άσχημο αν έρθει 2. δεν θα λειτουργούσε καθώς η οθόνη θα κοιμόταν μετά από κάποιο χρονικό διάστημα! Αυτό το βήμα θα σας δείξει πώς να λύσετε αυτά τα προβλήματα.

Αρχικά ας δούμε τι κρύβεται πίσω από τη διεύθυνση που χρησιμοποιήθηκε πριν. Εάν ελέγξετε τον κώδικα html της σελίδας που ανοίγει, θα δείτε ότι η ροή που εμφανίζεται στη σελίδα αποτελείται από

ετικέτα με την πηγή που ορίζεται ως https://raspberryip/stream/video.mjpeg. Ως αποτέλεσμα, το τελευταίο βήμα μπορεί να είναι αρκετά απλό. Ένας τρόπος θα μπορούσε να είναι ο προγραμματισμός μιας εφαρμογής Android με δύο προβολές Web για την εμφάνιση της ροής εικόνας, ένας πολύ απλούστερος είναι η εκτέλεση ενός τοπικού διακομιστή στον υπολογιστή μας που θα εξυπηρετεί μια σελίδα html παρόμοια με το "https:// raspberryip/stream/" εκτός ότι θα σας επιτρέψει να δείτε και τις δύο ροές αντί για μία και να διατηρήσετε τη συσκευή σε εγρήγορση.

Πώς δημιουργούμε έναν τέτοιο διακομιστή; Τίποτα πιο απλό με τον python. Δημιουργήστε έναν φάκελο στον οποίο τοποθετείτε τα αρχεία index.txt και NoSleep.txt που θα μετονομάσετε σε index.html και NoSleep.js. Στο index.html, αναζητήστε τα δύο

ετικέτες και αντικαταστήστε το raspberry ips με το δικό σας. Αυτή θα είναι η σελίδα html που εμφανίζει τις δύο ροές εικόνων μας με το javascript να του επιτρέπει να παραμένει ξύπνιος. Τώρα θέλετε να κάνετε αυτήν τη σελίδα προσβάσιμη στο κινητό σας τηλέφωνο, όπου η python είναι βολική: τοποθετήστε το αρχείο server.py στον ίδιο φάκελο και ξεκινήστε το σενάριο χρησιμοποιώντας την εντολή python server.py (Σημειώστε ότι αυτό το σενάριο είναι συμβατό με το python 3, εάν χρησιμοποιείτε python 2, θα πρέπει να επεξεργαστείτε το server.py και να αντικαταστήσετε τον διακομιστή socketserver από τον SocketServer).

Αυτό είναι που μπορείτε να αποκτήσετε πρόσβαση στη στερεοφωνική ροή από οποιαδήποτε συσκευή με ένα πρόγραμμα περιήγησης συνδεδεμένο στο τοπικό σας δίκτυο. Δοκιμάστε το, λάβετε το ip του υπολογιστή σας και ανοίξτε το https:// computerip: 8080. Μπορείτε πιθανώς να παρατηρήσετε τρία πράγματα:

  • Είναι υπέροχο που είμαστε σχεδόν εκεί!
  • Δεν είναι σε πλήρη οθόνη,
  • Πηγαίνει για ύπνο τελικά.

Πώς κι έτσι ? Όπως μπορείτε να διαβάσετε εδώ, η λειτουργία για την ενεργοποίηση της λειτουργίας χωρίς ύπνο χρειάζεται μια εικονική ενέργεια για να κληθεί. Για να τηρήσω αυτήν την ανάγκη, ένωσα ένα κλικ στην πρώτη εικόνα σε αυτήν τη λειτουργία. Ως αποτέλεσμα, απλώς κάντε κλικ στην πρώτη εικόνα και θα δείτε μια ειδοποίηση που θα σας λέει ότι είναι ενεργοποιημένη η κατάσταση αδράνειας και ότι η σελίδα θα πρέπει να είναι πλέον σε πλήρη οθόνη.

Αυτό είναι! Θα πρέπει τώρα να μπορείτε να τοποθετήσετε το τηλέφωνό σας στο ακουστικό VR και να δείτε τι συμβαίνει μπροστά από τα Pi σας! Or αυτό είναι;

Βήμα 5: Ομαλά πράγματα επάνω

Στην πραγματικότητα, εάν το Pi και το δίκτυό σας είναι παρόμοια με το δικό μου, αυτό που βλέπετε στα ακουστικά σας μπορεί να είναι λίγο αμήχανο καθώς μπορεί να υπάρξουν μεγάλες καθυστερήσεις. Έτσι, για να τελειώσουμε πραγματικά με ένα ομαλό σύστημα, ας επιλύσουμε αυτό το τελευταίο ζήτημα. Πώς να λύσετε την καθυστέρηση; Απλώς υπέθεσα ότι το πρόβλημα μπορεί να προέλθει είτε από τη συμπίεση σε πραγματικό χρόνο από τα Pi's, η οποία είναι υπερβολικά υπολογιστική ένταση, είτε από την ασύρματη σύνδεση για την οποία θα αμφιβάλλω. Ούτως ή άλλως, για να το λύσετε μπορείτε να κάνετε κάτι πολύ απλό που είναι να μειώσετε την ανάλυση και το ρυθμό μετάδοσης bit με τα οποία οι εικόνες σας αποκτώνται και κωδικοποιούνται στα Pi.

Για να αλλάξετε αυτές τις παραμέτρους, επιστρέψτε στο τερματικό σας και συνδεθείτε στο Raspberry Pi's. Το UV4L χρησιμοποιεί ένα αρχείο διαμόρφωσης. Αυτό το αρχείο είναι /etc/uv4l/uv4l-raspicam.conf. Για να το επεξεργαστείτε πληκτρολογήστε την εντολή sudo nano /etc/uv4l/uv4l-raspicam.conf. Τώρα θα μπορείτε να ορίσετε το πλάτος, το ύψος και τον κβαντισμό όπως σας αρέσει. Χρησιμοποίησα τις τιμές πλάτος = 320, ύψος = 240 και κβαντισμός = 40 και πήρα μια ομαλή μετάδοση με αυτές.

Βήμα 6: Απολαύστε

Το μόνο που μένει να κάνετε τώρα είναι να ρυθμίσετε το σύστημα όπου θέλετε, να βάλετε το τηλέφωνό σας στο χαρτόνι σας και να κάνετε τη συνεδρία γιόγκα, τον διαλογισμό, το πονγκ μπύρας με τους φίλους σας ή οτιδήποτε άλλο! Mightσως χρειαστεί λίγος χρόνος (1 ή 2 λεπτά) για να συνηθίσετε την κατεύθυνση της κάμερας, η οποία θα σας φαίνεται αρχικά σαν να έχετε ξαφνικά πρόβλημα στραβισμού. Ένας τρόπος για να συνηθίσω γρήγορα είναι πρώτα να εστιάσω σε κοντινά αντικείμενα και μετά να προχωρήσω σε άλλα.

Σκέφτηκα μερικές επεκτάσεις που θα μπορούσαν να είναι ενδιαφέρουσες:

  • επιτρέψτε να βλέπετε έξω από το σπίτι σας, δηλαδή να κάνετε τη ροή προσβάσιμη εκτός του τοπικού σας δικτύου.
  • βάλτε το σε μια φορητή ρομποτική πλατφόρμα για να κάνετε αγώνες με drone!

Ως δάσκαλος πιστεύω ότι αυτό το έργο μπορεί να είναι ενδιαφέρον για να μάθετε περισσότερα σχετικά με:

  • Το raspberry Pi, ποια είναι τα βασικά στοιχεία ενός υπολογιστή, τι είναι ένα σύστημα λειτουργικού συστήματος,
  • Γενικές έννοιες δικτύου, με τοπική και εξωτερική IP, το πρωτόκολλο
  • HTML και javascript.

Ελπίζω ότι αυτό το διδακτικό που ήταν το πρώτο μου είναι αρκετά σαφές χωρίς να είναι πολύ βαρύ για ανάγνωση.

Συνιστάται: