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

Κάμερα οπισθοπορείας για ηλεκτρική αναπηρική καρέκλα: 10 βήματα (με εικόνες)
Κάμερα οπισθοπορείας για ηλεκτρική αναπηρική καρέκλα: 10 βήματα (με εικόνες)

Βίντεο: Κάμερα οπισθοπορείας για ηλεκτρική αναπηρική καρέκλα: 10 βήματα (με εικόνες)

Βίντεο: Κάμερα οπισθοπορείας για ηλεκτρική αναπηρική καρέκλα: 10 βήματα (με εικόνες)
Βίντεο: The World of Wayne Thursday LIVE Stream 2024, Ιούλιος
Anonim
Image
Image
Απαιτούμενα ανταλλακτικά
Απαιτούμενα ανταλλακτικά

Ο αδελφός μου χρησιμοποιεί ένα ηλεκτρικό αναπηρικό αμαξίδιο Invacare TDX, το οποίο είναι εύκολο να χειριστεί προς όλες τις κατευθύνσεις, αλλά λόγω της περιορισμένης ορατότητας προς τα πίσω είναι δύσκολο να οδηγήσει προς τα πίσω σε περιορισμένους χώρους. Ο στόχος του έργου είναι να κατασκευάσει μια κάμερα οπισθοπορείας χρησιμοποιώντας ροή IP σε ένα κινητό τηλέφωνο, η οποία είναι τοποθετημένη κοντά στο χειριστήριο του.

Απαιτούμενα συστατικά:

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

Η τροφοδοσία παρέχεται από το ίδιο το αναπηρικό αμαξίδιο, το οποίο χρησιμοποιεί μπαταρίες μολύβδου 24V. Η θύρα φόρτισης χρησιμοποιείται κατά λάθος για να συνδέσετε έναν μετατροπέα ισχύος σε USB, ο οποίος τροφοδοτεί το Raspberry που είναι υπεύθυνο για τη ροή και τροφοδοτεί επίσης το κινητό τηλέφωνο εάν χρειάζεται.

Η ροή γίνεται από ένα Raspberry Pi Zero W, το οποίο χρησιμεύει ως ασύρματο σημείο πρόσβασης και μεταδίδει το βίντεο σε οποιαδήποτε συσκευή είναι συνδεδεμένη στο ασύρματο δίκτυο.

Το κινητό τηλέφωνο για την εμφάνιση της εικόνας είναι τοποθετημένο με τρισδιάστατο τυπωμένο προσαρμογέα στη μονάδα ελέγχου αναπηρικής πολυθρόνας.

Για να ακολουθήσετε αυτό το έργο θα χρειαστείτε κάποιες βασικές γνώσεις Debian/Linux, καθώς η διαμόρφωση απαιτεί κάποια χειρωνακτική εργασία. Ωστόσο, δεν είναι πολύ δύσκολο, οπότε δοκιμάστε το - αν δεν είστε σίγουροι ότι υπάρχουν εκατοντάδες σεμινάρια στο Linux που μπορούν να σας βοηθήσουν.

Βήμα 1: Απαιτούνται εξαρτήματα

Raspberry Pi Zero W: Κύριο στοιχείο για ροή βίντεο

Φακοί SainSmart Wide Angle Fish-Eye Camera for Raspberry Pi: Ευρυγώνια κάμερα συμβατή με κάμερα Arduino (170 ° FOV)

2 × Πλαστικά περιβλήματα: Ένα μικρότερο περίβλημα για το βατόμουρο και την κάμερα, ένα μεγαλύτερο περίβλημα για τη διανομή ισχύος

XLR Plug: Για σύνδεση στη θύρα φόρτισης του αναπηρικού αμαξιδίου

Θύρα USB αυτοκινήτου (π.χ. TurnRaise 12-24V 3.1A): Μετατροπέας 24V σε USB σε μικρό περίβλημα για χρήση αυτοκινήτου και μοτοσικλέτας. Μπορεί να είναι οτιδήποτε χρησιμοποιεί είσοδο 24V και παρέχει έξοδο USB.

Διάφορα καλώδια:

  • Καλώδιο τροφοδοσίας για διαδρομή από τη θύρα XLR στην πίσω πλευρά του αναπηρικού αμαξιδίου,
  • Καλώδιο USB για τροφοδοσία Raspberry

Τρισδιάστατος εκτυπωτής προσαρμογέας για τηλέφωνο Ένας τρισδιάστατος τυπωμένος προσαρμογέας στη μονάδα ελέγχου αναπηρικής πολυθρόνας, ο οποίος χρησιμεύει ως βάση για μια τυπική θήκη κινητού τηλεφώνου αυτοκινήτου:

Κάτοχος κινητού τηλεφώνου αυτοκινήτου: Θήκη κινητού τηλεφώνου που μπορεί να στερεωθεί σε επίπεδη επιφάνεια (π.χ. θήκη τηλεφώνου ταμπλό). Χρησιμοποίησα ένα από τη γερμανική εταιρεία Hama.

Βήμα 2: Ρύθμιση της κάμερας βατόμουρου

Ρύθμιση της κάμερας βατόμουρου
Ρύθμιση της κάμερας βατόμουρου

Εγκαταστήστε το Raspbian από τη διεύθυνση https://www.raspberrypi.org/downloads/raspbian/ ακολουθώντας τις οδηγίες από τη διεύθυνση

Εγκαταστήστε όλες τις ενημερώσεις εκτελώντας τις ακόλουθες δύο εντολές από ένα τερματικό:

sudo apt-get ενημέρωση

sudo apt-get dist-upgrade

Κλείστε, συνδέστε την κάμερα. Ξεκινήστε ξανά το βατόμουρο.

Στον πίνακα Raspberry Setup ενεργοποιήστε την κάμερα και ενεργοποιήστε την πρόσβαση SSH στο βατόμουρο. Η κάμερα sainsmart λειτουργεί ως η επίσημη κάμερα Pi, μπορείτε να ακολουθήσετε τις οδηγίες που βρίσκονται εδώ: https://www.raspberrypi.org/learning/addons-guide… Δυστυχώς δεν έχετε τελειώσει ακόμα. Χρειαζόμαστε ένα πρόγραμμα οδήγησης v4l για το raspi-cam, το οποίο δεν είναι ενεργοποιημένο έξω από το κουτί. Πρώτα πρέπει να κάνετε μια ενημέρωση υλικολογισμικού για το βατόμουρό σας για να λάβετε το πιο πρόσφατο πρόγραμμα οδήγησης υλικολογισμικού και πυρήνα - εκτελέστε τα ακόλουθα σε ένα τερματικό:

sudo raspi-ενημέρωση

Πρέπει να φορτώσετε το πρόγραμμα οδήγησης πυρήνα v4l πληκτρολογώντας τώρα ένα τερματικό:

sudo modprobe bcm2835-v4l2

Εάν αυτό λειτούργησε χωρίς μηνύματα σφάλματος, θα πρέπει τώρα να έχετε μια συσκευή /dev /video0, ελέγξτε με

ls - l /dev /vid*

Εάν αυτό λειτούργησε, προσθέστε bcm2835-v4l2 στο /etc /modules για να ενεργοποιήσετε τη μονάδα σε κάθε εκκίνηση.

Μπορείτε να ελέγξετε ότι η κάμερα λειτουργεί με την εντολή:

raspistill -o cam.jpg

Βήμα 3: Εγκαταστήστε τον V4l2rtspserver

Εγκαταστήστε τον V4l2rtspserver
Εγκαταστήστε τον V4l2rtspserver

Πρώτον, πρέπει να εγκαταστήσετε το cmake, καθώς θα μεταγλωττίσουμε μόνοι μας το πρόγραμμα ροής βίντεο:

sudo apt-get install cmake

Για ροή χρησιμοποιούμε το v4l2rtspserver καθώς έδειξε τη χαμηλότερη καθυστέρηση στις δοκιμές μας. Μπορείτε να λάβετε τον κωδικό από τη διεύθυνση

Εγκαταστήστε το με:

git clone

cd h264v4l2rtspserver

cmake.

κάντε εγκατάσταση

Όλα πρέπει να τελειώσουν χωρίς σφάλματα και μπορείτε να το δοκιμάσετε τώρα ξεκινώντας τον διακομιστή ροής από ένα τερματικό:

v4l2rtspserver -W 352 -H 288 -F 10 /dev /video0

Συνδεθείτε με VLC σε υπολογιστή στο ίδιο δίκτυο με το βατόμουρο: rtsp: //: 8554/unicast για να ελέγξετε αν η ροή λειτουργεί.

Δημιουργήστε ένα σενάριο που ονομάζεται launcher.sh στον αρχικό σας κατάλογο χρησιμοποιώντας τον αγαπημένο σας επεξεργαστή (ο οποίος θα πρέπει να είναι vi):

!#/bin/bashsleep 20 v4l2rtspserver -W 352 -H 288 -F 10/dev/video0

Η εντολή ύπνου είναι απαραίτητη για να επιτρέψει στο πρόγραμμα οδήγησης βίντεο να είναι έτοιμο. Πιθανώς μπορεί να ρυθμιστεί σε λιγότερο από 20 δευτερόλεπτα….

Προσθέστε αυτό το σενάριο στο crontab με το "crontab -e" και προσθέτοντας:

@reboot sh /home/pi/bbt/launcher.sh>/home/pi/logs/cronlog 2> & 1

Αυτό θα πρέπει να ξεκινά αυτόματα τη ροή σε κάθε εκκίνηση.

Εναλλακτικές λύσεις για ροή:

Υπάρχουν μερικές εναλλακτικές για χρήση για ροή βίντεο, δοκίμασα κίνηση και vlc. Το Motion είναι ένα εργαλείο κάμερας web που ανιχνεύει κίνηση, επομένως εκτελεί επιπλέον ανάλυση εικόνας στις εικόνες και πιθανότατα είναι λίγο πιο αργό από τη ροή.

Το VLC λειτουργεί χωρίς καμία πρόσθετη συλλογή:

cvlc v4l2: /// dev/video0 --v4l2-πλάτος 320 --v4l2-ύψος 200 --v4l2-chroma h264 --sout '#standard {access = http, mux = ts, dst = 0.0.0.0: 12345} '

Αυτή η εντολή μεταδίδει ένα βίντεο με κωδικοποίηση h264 μέσω http στη θύρα 12345. Η καθυστέρηση είναι κάπως περίπου 2 δευτερόλεπτα στη δοκιμαστική μας ρύθμιση.

Βήμα 4: Ρυθμίστε το Βατόμουρο ως Σημείο Πρόσβασης WiFi: Μέρος 1 - Hostapd

Ρυθμίστε το Raspberry ως σημείο πρόσβασης WiFi: Μέρος 1 - Hostapd
Ρυθμίστε το Raspberry ως σημείο πρόσβασης WiFi: Μέρος 1 - Hostapd

Αυτό το βήμα ορίζει το Raspberry ως σημείο πρόσβασης. Μετά από αυτό, δεν είστε πλέον συνδεδεμένοι στο δίκτυό σας, αλλά το Raspberry ανοίγει το δικό του δίκτυο WiFi. Σε περίπτωση λαθών, πρέπει να έχετε πρόσβαση στο Raspberry με πληκτρολόγιο και οθόνη, γι 'αυτό κάντε το πριν θάψετε το βατόμουρο σε ένα περίβλημα κάπου…

Ακολουθώ τη μέθοδο που περιγράφεται εδώ:

Εγκατάσταση hostapd και dnsmasq:

sudo apt-get install dnsmasq hostapd

Απενεργοποιήστε το dhcp στη διεπαφή wlan0 προσθέτοντας την ακόλουθη γραμμή στο /etc/dhcpd.conf (κατά προτίμηση στο επάνω μέρος)

denyinterfaces wlan0

Διαμορφώστε μια στατική IP για τη διεπαφή wlan0 επεξεργαζόμενη/etc/network/interfaces για να περιλαμβάνει τα ακόλουθα:

allow-hotplug wlan0 iface wlan0 inet στατική διεύθυνση 172.24.1.1 μάσκα δικτύου 255.255.255.0 δίκτυο 172.24.1.0 μετάδοση 172.24.1.255

Επανεκκινήστε τον δαίμονα dhcp με την υπηρεσία sudo dhcpcd επανεκκίνηση και, στη συνέχεια, φορτώστε ξανά τη ρύθμιση wlan0 με

sudo ifdown wlan0; sudo ifup wlan0

Αποθηκεύστε το συνημμένο hostapd.conf στο /etc/hostapd/hostapd.conf (αφού ελέγξετε το περιεχόμενο και το προσαρμόσετε στις προτιμήσεις σας - θα πρέπει τουλάχιστον να αλλάξετε το SSID και τη φράση πρόσβασης σε κάτι πιο ασφαλές).

Τώρα μπορείτε να ελέγξετε αν λειτουργεί εκτελώντας:

sudo/usr/sbin/hostapd /etc/hostapd/hostapd.conf

Θα πρέπει να μπορείτε να συνδεθείτε στο νέο δίκτυο, αλλά δεν θα λάβετε ακόμη διεύθυνση IP. Σταματήστε το hostapd πατώντας CTRL-C. Ενεργοποιήστε την αυτόματη εκκίνηση του hostapd με την επεξεργασία του/etc/default/hostapd και προσθέτοντας τη θέση του αρχείου διαμόρφωσης αλλάζοντας την αντίστοιχη γραμμή σε

DAEMON_CONF = "/etc/hostapd/hostapd.conf"

Βήμα 5: Ρυθμίστε το Βατόμουρο ως Σημείο Πρόσβασης WiFi: Μέρος 2 - Dnsmasq

Ρυθμίστε το Raspberry ως WiFi Access Point: Μέρος 2 - Dnsmasq
Ρυθμίστε το Raspberry ως WiFi Access Point: Μέρος 2 - Dnsmasq

Μετακινήστε την παρεχόμενη διαμόρφωση dnsmasq σε ένα εφεδρικό αρχείο (καθώς περιέχει πολλά σχόλια, μπορείτε ακόμα να το χρησιμοποιήσετε για αναφορά):

sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig

Στη συνέχεια, δημιουργήστε ένα νέο /etc/dnsmasq.conf με το ακόλουθο περιεχόμενο:

διακομιστής = 8.8.8.8 # Προώθηση αιτημάτων DNS στο Google DNS domain-need # Μην προωθείτε σύντομα ονόματα πλαστά-ιδιωτικά # Ποτέ μην προωθείτε διευθύνσεις σε χώρους διευθύνσεων που δεν δρομολογούνται. dhcp-range = 172.24.1.50, 172.24.1.150, 12h # Εκχωρήστε διευθύνσεις IP μεταξύ 172.24.1.50 και 172.24.1.150 με 12 ώρες μίσθωσης

Η σύνδεση της υπηρεσίας dnsmasq σε μια συγκεκριμένη διεύθυνση οδηγεί σε ορισμένα προβλήματα στην εγκατάστασή μας, οπότε την αφήνουμε να τρέχει σε όλες τις διεπαφές. Καθώς το raspberry Pi Zero W διαθέτει μόνο WiFi, αυτό δεν είναι πρόβλημα αν δεν συνδέσετε μια διεπαφή USB Ethernet… Το

Δεν χρειάζεται να κάνετε επιπλέον βήματα για να εκτελέσετε το dnsmasq κατά την εκκίνηση, ξεκινά αυτόματα. Ωστόσο, θα πρέπει να δοκιμάσετε τα πάντα πριν κάνετε επανεκκίνηση ξεκινώντας και τις δύο υπηρεσίες χειροκίνητα και ελέγξτε ότι μπορείτε να συνδεθείτε στο WiFi και να λάβετε μια διεύθυνση IP (μπορείτε επίσης να πείτε στο κινητό σας τηλέφωνο ότι αυτό το WiFi δεν έχει internet και ότι είναι εντάξει):

sudo service hostapd start sudo service dnsmasq start

Βήμα 6: Ελέγξτε το Λογισμικό

Ελέγξτε το Λογισμικό
Ελέγξτε το Λογισμικό

Τώρα που έχετε ρυθμίσει τα πάντα, ήρθε η ώρα να κάνετε έναν σύντομο έλεγχο (πριν από όλα είναι πιο δύσκολο να έχετε πρόσβαση). Επανεκκινήστε το βατόμουρο.

Συνδεθείτε στο WiFi εάν το βατόμουρο με το κινητό σας τηλέφωνο. Συνδέστε ένα πρόγραμμα -πελάτη ροής βίντεο (π.χ. VLC που υπάρχει για όλα τα λειτουργικά συστήματα) στη ροή του βατόμουρου επιλέγοντας "Ρεύμα δικτύου" και συνδεθείτε στο rtsp: //: 8554/unicast (είναι η IP της συσκευής σας, αν δεν το κάνατε αλλάξτε το είναι 172.24.1.1).

Θα πρέπει να δείτε κάποιο ζωντανό βίντεο από την κάμερα τώρα… (Είχα κάποια προβλήματα με το VLC για το android, αλλά το VLC για iOS λειτούργησε ομαλά - δεν ερεύνησα περαιτέρω την έκδοση του android καθώς ο αδελφός μου χρησιμοποιεί iOS).

Βήμα 7: Δημιουργία του τροφοδοτικού

Κάνοντας το τροφοδοτικό
Κάνοντας το τροφοδοτικό
Κάνοντας το τροφοδοτικό
Κάνοντας το τροφοδοτικό
Κάνοντας το τροφοδοτικό
Κάνοντας το τροφοδοτικό

Το χειριστήριο invacare χρησιμοποιεί αυτό που φαίνεται να είναι ένα πρότυπο για αναπηρικά αμαξίδια με κινητήρα. Η υποδοχή είναι μια τυπική υποδοχή XLR όπως χρησιμοποιείται για μικρόφωνα. Η καρφίτσα 1 είναι θετική, η καρφίτσα 2 αρνητική. Το Invacare διαθέτει δύο επιπλέον καρφίτσες για επικοινωνία, αλλά δεν πρόκειται να μπλέξουμε με αυτά…

Συνδέστε την υποδοχή XLR στον προσαρμογέα τροφοδοσίας USB και τοποθετήστε τα όλα σε ένα κουτί. Για να τροφοδοτήσετε το καλώδιο στο κουτί, είναι καλή ιδέα η τροφοδοσία. Βεβαιωθείτε ότι το καλώδιο είναι αρκετά μεγάλο για να μεταφερθεί από τη μονάδα ελέγχου αναπηρικού αμαξιδίου στο πίσω μέρος, όπου θα τοποθετήσετε το κουτί τροφοδοσίας. Μπορείτε να δρομολογήσετε τα καλώδια ακολουθώντας τα καλώδια της μονάδας ελέγχου για να διασφαλίσετε ότι δεν έχουν πιαστεί πουθενά σε ένα κινητό τμήμα.

Βήμα 8: Χτίζοντας το κουτί για την κάμερα

Χτίζοντας το κουτί για την κάμερα
Χτίζοντας το κουτί για την κάμερα
Χτίζοντας το κουτί για την κάμερα
Χτίζοντας το κουτί για την κάμερα
Χτίζοντας το κουτί για την κάμερα
Χτίζοντας το κουτί για την κάμερα
Χτίζοντας το κουτί για την κάμερα
Χτίζοντας το κουτί για την κάμερα

Φτιάξτε ένα κουτί που ταιριάζει στο raspberry pi και την κάμερα. Το κουτί χρειάζεται μια τρύπα στο πλάι για να περάσει το καλώδιο τροφοδοσίας USB και μια τρύπα για την κάμερα που είναι αρκετά μεγάλη ώστε να μην εμποδίζει την προβολή. Τοποθέτησα την κάμερα σε γωνία περίπου 45 °, έτσι ώστε να δείχνει προς τα κάτω για να μπορώ να δω τους πίσω τροχούς της αναπηρικής πολυθρόνας. Χρησιμοποίησα ένα τυπικό πλαστικό κουτί στο οποίο έκοψα μερικές τρύπες, αλλά μπορείτε επίσης να εκτυπώσετε 3D μια πιο φανταστική έκδοση (ίσως για την έκδοση 2)

Βήμα 9: Κάντε τη θήκη τηλεφώνου

Κάντε τη θήκη τηλεφώνου
Κάντε τη θήκη τηλεφώνου
Κάντε τη θήκη τηλεφώνου
Κάντε τη θήκη τηλεφώνου
Κάντε τη θήκη τηλεφώνου
Κάντε τη θήκη τηλεφώνου

Για να συνδέσετε το κινητό τηλέφωνο στην αναπηρική καρέκλα τύπωσα τρισδιάστατα μια πλάκα προσαρμογέα που μπορείτε να βρείτε εδώ: https://www.thingiverse.com/thing:2742683 (επισυνάπτεται και το αρχείο STL). Είναι προσαρτημένο στη μονάδα ελέγχου αναπηρικής πολυθρόνας. Σε αυτό το πιάτο μπορείτε να κολλήσετε οποιαδήποτε θήκη τηλεφώνου αυτοκινήτου, την οποία μπορείτε να προμηθευτείτε φθηνά οπουδήποτε.

Βήμα 10: Συγκεντρώστε τα πάντα και δοκιμάστε το

Συγκεντρώστε τα πάντα και δοκιμάστε τα
Συγκεντρώστε τα πάντα και δοκιμάστε τα
Συγκεντρώστε τα πάντα και δοκιμάστε τα
Συγκεντρώστε τα πάντα και δοκιμάστε τα
Συγκεντρώστε τα πάντα και δοκιμάστε τα
Συγκεντρώστε τα πάντα και δοκιμάστε τα

Τώρα ήρθε η ώρα να συγκεντρώσουμε τα πάντα:

Τοποθετήστε το κουτί κάμερας κάπου στο πίσω μέρος του αναπηρικού αμαξιδίου όπου η θέα δεν εμποδίζεται και η κάμερα δείχνει προς τα πίσω. Συνδέστε το κιβώτιο τροφοδοσίας κάπου στο πίσω μέρος όπου δεν είναι εμπόδιο. Συνδέστε το καλώδιο USB από το Raspberry στο κουτί τροφοδοσίας. Συνδέστε το κουτί τροφοδοσίας με το βύσμα XLR στη θύρα φόρτισης στη μονάδα ελέγχου αναπηρικού αμαξιδίου. Όλα πρέπει να ξεκινήσουν τώρα.

Εγκαταστήστε το VLC στο κινητό σας τηλέφωνο (αν δεν το έχετε κάνει ακόμα…) και συνδεθείτε στο Raspberry μέσω rtsp: //: 8554/unicast

Θα πρέπει τώρα να δείτε την εικόνα της κάμερας στο κινητό σας τηλέφωνο:-)

Τοποθετήστε τη θήκη κινητού τηλεφώνου στη μονάδα ελέγχου αναπηρικού αμαξιδίου και ασφαλίστε το τηλέφωνο σε αυτήν. Και αυτό είναι, τελειώσατε!

Διαγωνισμός Raspberry Pi 2017
Διαγωνισμός Raspberry Pi 2017
Διαγωνισμός Raspberry Pi 2017
Διαγωνισμός Raspberry Pi 2017

Δεύτερο βραβείο στο Raspberry Pi Contest 2017

Συνιστάται: