Inhaltsverzeichnis:

Rückfahrkamera für einen Elektrorollstuhl - Gunook
Rückfahrkamera für einen Elektrorollstuhl - Gunook

Video: Rückfahrkamera für einen Elektrorollstuhl - Gunook

Video: Rückfahrkamera für einen Elektrorollstuhl - Gunook
Video: Stay Back! Quantum Backup Camera 2024, Juli
Anonim
Image
Image
Benötigte Teile
Benötigte Teile

Mein Bruder benutzt einen Invacare TDX Elektrorollstuhl, der in alle Richtungen leicht zu manövrieren ist, aber aufgrund der eingeschränkten Sicht nach hinten ist es schwierig, auf engstem Raum rückwärts zu fahren. Ziel des Projekts ist es, eine Rückfahrkamera zu bauen, die IP-Streaming zu einem Mobiltelefon nutzt, das in der Nähe seines Steuer-Joysticks montiert wird.

Benötigte Komponenten:

  • Stromversorgung und -verteilung über den Rollstuhlstrom
  • Rückfahrkamera und Videostreamer
  • Handyhalterung für das Kontrollpad.

Die Stromversorgung erfolgt durch den Rollstuhl selbst, der mit 24V-Bleibatterien betrieben wird. Der Ladeanschluss wird missbraucht, um einen Stromwandler an USB anzuschließen, der den für das Streaming zuständigen Raspberry und bei Bedarf auch das Mobiltelefon mit Strom versorgt.

Das Streaming erfolgt über einen Raspberry Pi Zero W, der als drahtloser Zugangspunkt dient und das Video an jedes mit dem drahtlosen Netzwerk verbundene Gerät streamt.

Das Handy zur Anzeige des Bildes wird mit einem 3D-gedruckten Adapter an der Rollstuhlsteuereinheit befestigt.

Um diesem Projekt zu folgen, benötigen Sie einige Grundkenntnisse von Debian/Linux, da die Konfiguration einige manuelle Arbeiten erfordert. Es ist jedoch nicht allzu schwierig, also probieren Sie es aus - wenn Sie sich nicht sicher sind, gibt es Hunderte von Tutorials zu Linux, die Ihnen helfen können.

Schritt 1: Benötigte Teile

Raspberry Pi Zero W: Hauptkomponente für das Streaming von Videos

SainSmart Weitwinkel-Fish-Eye-Kameraobjektive für Raspberry Pi: Arduino-Kamera-kompatible Weitwinkelkamera (170° FOV)

2 × Kunststoffgehäuse: Ein kleineres Gehäuse für die Himbeere und die Kamera, ein größeres Gehäuse für die Stromverteilung

XLR-Stecker: Zum Anschließen an den Ladeanschluss des Rollstuhls

Car USB Port (zB TurnRaise 12-24V 3.1A): Ein 24V zu USB Konverter in einem kleinen Gehäuse für den Auto- und Motorradeinsatz. Kann alles sein, was einen 24-V-Eingang verwendet und einen USB-Ausgang bietet.

Verschiedene Kabel:

  • Netzkabel zum Verlegen vom XLR-Anschluss zur Rückseite des Rollstuhls,
  • USB-Kabel zur Versorgung von Raspberry

3D-gedruckter Adapter für Telefon Ein 3D-gedruckter Adapter zur Rollstuhlsteuerung, der als Basis für eine handelsübliche Auto-Handyhalterung dient:

Auto-Handyhalter: Ein Handyhalter, der auf einer ebenen Fläche befestigt werden kann (z. B. einem Handyhalter am Armaturenbrett). Ich habe eine von Hama, einem deutschen Hersteller, verwendet.

Schritt 2: Einrichten der Raspberry-Kamera

Einrichten der Raspberry-Kamera
Einrichten der Raspberry-Kamera

Installieren Sie Raspbian von https://www.raspberrypi.org/downloads/raspbian/ und folgen Sie den Anweisungen von

Installieren Sie alle Updates, indem Sie die folgenden beiden Befehle von einem Terminal aus ausführen:

sudo apt-get update

sudo apt-get dist-upgrade

Herunterfahren, Kamera anschließen. Starten Sie die Himbeere erneut.

Aktivieren Sie im Raspberry Setup-Panel die Kamera und aktivieren Sie den SSH-Zugriff auf die Himbeere. Die sainsmart-Kamera funktioniert als offizielle Pi-Kamera, Sie können der Anleitung hier folgen: https://www.raspberrypi.org/learning/addons-guide… Leider sind Sie noch nicht fertig. Wir benötigen einen v4l-Treiber für die raspi-cam, der nicht standardmäßig aktiviert ist. Zuerst sollten Sie ein Firmware-Update Ihrer Himbeere durchführen, um die neueste Firmware und den neuesten Kernel-Treiber zu erhalten - führen Sie Folgendes in einem Terminal aus:

sudo raspi-update

Sie müssen jetzt den v4l-Kernel-Treiber laden, indem Sie in ein Terminal eingeben:

sudo modprobe bcm2835-v4l2

Wenn dies ohne Fehlermeldungen funktioniert hat, sollten Sie jetzt ein Gerät /dev/video0 haben, überprüfen Sie mit

ls - l /dev/vid*

Wenn dies funktioniert hat, fügen Sie bcm2835-v4l2 zu /etc/modules hinzu, um das Modul bei jedem Start zu aktivieren.

Sie können überprüfen, ob die Kamera mit dem Befehl funktioniert:

raspistill -o cam.jpg

Schritt 3: V4l2rtspserver installieren

V4l2rtspserver installieren
V4l2rtspserver installieren

Zuerst müssen Sie cmake installieren, da wir das Videostreaming-Programm selbst kompilieren:

sudo apt-get install cmake

Für das Streaming verwenden wir v4l2rtspserver, da es in unseren Tests die niedrigste Latenz zeigte. Sie erhalten den Code von

Installieren Sie es mit:

git-Klon

cd h264v4l2rtspserver

cmake.

installieren

Alles sollte ohne Fehler enden und Sie können es jetzt testen, indem Sie den Streaming-Server von einem Terminal aus starten:

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

Verbinden Sie sich mit VLC auf einem Computer im selben Netzwerk mit der Himbeere: rtsp://:8554/unicast, um zu überprüfen, ob das Streaming funktioniert.

Erstellen Sie ein Skript namens launcher.sh in Ihrem Home-Verzeichnis mit Ihrem bevorzugten Editor (der vi sein sollte):

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

Der Befehl sleep wird benötigt, damit der Grafiktreiber bereit ist. Wahrscheinlich kann es auf weniger als 20 Sekunden eingestellt werden….

Fügen Sie dieses Skript mit "crontab -e" zu Ihrer crontab hinzu und fügen Sie Folgendes hinzu:

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

Dadurch sollte das Streaming bei jedem Start automatisch starten.

Alternativen zum Streamen:

Es gibt ein paar Alternativen zum Streamen von Videos, ich habe Motion und VLC ausprobiert. Motion ist ein Webcam-Tool, das Bewegungen erkennt, also eine zusätzliche Bildanalyse der Bilder durchführt und wahrscheinlich etwas langsamer ist als nur das Streamen.

VLC funktioniert out-of-the-box ohne zusätzliche Zusammenstellungen:

cvlc v4l2:///dev/video0 --v4l2-width 320 --v4l2-height 200 --v4l2-chroma h264 --sout '#standard{access=http, mux=ts, dst=0.0.0.0:12345} '

Dieser Befehl streamt ein h264-codiertes Video über http auf Port 12345. Die Latenz beträgt in unserem Testaufbau etwa 2 Sekunden.

Schritt 4: Raspberry als WiFi Access Point einrichten: Teil 1 - Hostapd

Raspberry als WiFi Access Point einrichten: Teil 1 - Hostapd
Raspberry als WiFi Access Point einrichten: Teil 1 - Hostapd

Dieser Schritt stellt Ihren Raspberry als Access Point ein. Danach sind Sie nicht mehr mit Ihrem Netzwerk verbunden, sondern der Raspberry öffnet sein eigenes WiFi-Netzwerk. Im Falle von Fehlern müssen Sie mit einer Tastatur und einem Display auf den Raspberry zugreifen können, also tun Sie dies, bevor Sie die Himbeere irgendwo in einem Gehäuse vergraben…

Ich folge der hier beschriebenen Methode:

Installieren Sie hostapd und dnsmasq:

sudo apt-get install dnsmasq hostapd

Deaktivieren Sie dhcp auf der Schnittstelle wlan0, indem Sie die folgende Zeile zu /etc/dhcpd.conf hinzufügen (am besten ganz oben)

denyinterfaces wlan0

Konfigurieren Sie eine statische IP für die wlan0-Schnittstelle, indem Sie /etc/network/interfaces bearbeiten, um Folgendes einzuschließen:

allow-hotplug wlan0 iface wlan0 inet statische Adresse 172.24.1.1 Netzmaske 255.255.255.0 Netzwerk 172.24.1.0 Broadcast 172.24.1.255

Starten Sie den dhcp-Daemon mit sudo service dhcpcd restart neu und laden Sie dann die wlan0-Konfiguration neu mit

sudo ifdown wlan0; sudo ifup wlan0

Speichern Sie die angehängte hostapd.conf unter /etc/hostapd/hostapd.conf (nachdem Sie den Inhalt überprüft und nach Ihren Wünschen angepasst haben - sollten Sie zumindest die SSID und die Passphrase auf etwas Sichereres ändern).

Sie können jetzt überprüfen, ob es funktioniert, indem Sie Folgendes ausführen:

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

Sie sollten sich mit dem neuen Netzwerk verbinden können, aber Sie erhalten noch keine IP-Adresse. Stoppen Sie hostapd, indem Sie STRG-C drücken. Aktivieren Sie den automatischen Start von hostapd, indem Sie /etc/default/hostapd bearbeiten und den Speicherort der Konfigurationsdatei hinzufügen, indem Sie die entsprechende Zeile in ändern

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

Schritt 5: Einrichten des Raspberry als WLAN-Zugangspunkt: Teil 2 - Dnsmasq

Einrichten des Raspberry als WLAN-Zugangspunkt: Teil 2 - Dnsmasq
Einrichten des Raspberry als WLAN-Zugangspunkt: Teil 2 - Dnsmasq

Verschieben Sie die bereitgestellte dnsmasq-Konfiguration in eine Sicherungsdatei (da sie viele Kommentare enthält, können Sie sie dennoch als Referenz verwenden):

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

Erstellen Sie dann eine neue /etc/dnsmasq.conf mit folgendem Inhalt:

server=8.8.8.8 # DNS-Anfragen an Google weiterleiten DNS-Domain-needed # Keine Kurznamen weiterleiten bogus-priv # Niemals Adressen in den nicht gerouteten Adressräumen weiterleiten. dhcp-range=172.24.1.50, 172.24.1.150, 12h # Weisen Sie IP-Adressen zwischen 172.24.1.50 und 172.24.1.150 mit einer Lease-Zeit von 12 Stunden zu

Das Binden des dnsmasq-Dienstes an eine bestimmte Adresse führte zu einigen Problemen in unserer Installation, daher lassen wir ihn einfach auf allen Schnittstellen laufen. Da der Raspberry Pi Zero W nur über WLAN verfügt, ist dies kein Problem, es sei denn, Sie schließen eine USB-Ethernet-Schnittstelle an … (in diesem Fall hätten Sie auch einen DHCP-Server an dieser Schnittstelle, sodass dies das Netzwerk, mit dem Sie sich mit einem Kabel verbinden, durcheinander bringen könnte).

Sie müssen keine zusätzlichen Schritte ausführen, um dnsmasq beim Start auszuführen, es wird automatisch gestartet. Sie sollten jedoch alles testen, bevor Sie einen Neustart durchführen, indem Sie beide Dienste manuell starten und überprüfen, ob Sie sich mit dem WLAN verbinden und eine IP-Adresse erhalten können (Sie können Ihrem Mobiltelefon auch mitteilen, dass dieses WLAN kein Internet hat und dies in Ordnung ist).:

sudo service hostapd start sudo service dnsmasq start

Schritt 6: Überprüfen Sie die Software

Überprüfen Sie die Software
Überprüfen Sie die Software

Nachdem Sie nun alles konfiguriert haben, ist es Zeit für einen kurzen Check (bevor alles schwerer zugänglich ist). Starten Sie die Himbeere neu.

Verbinden Sie sich mit Ihrem Mobiltelefon mit dem WLAN, wenn die Himbeere. Verbinden Sie einen Streaming-Video-Client (zB VLC, der für alle Betriebssysteme existiert) mit dem Stream der Himbeere, indem Sie "Netzwerk-Stream" auswählen und eine Verbindung zu rtsp://:8554/unicast herstellen (ist die IP Ihres Geräts, wenn nicht ändern Sie es, es ist 172.24.1.1).

Sie sollten jetzt ein Live-Video von der Kamera sehen … (Ich hatte einige Probleme mit VLC für Android, aber VLC für iOS funktionierte reibungslos - ich habe die Android-Version nicht weiter untersucht, da mein Bruder iOS verwendet).

Schritt 7: Herstellen der Stromversorgung

Herstellen der Stromversorgung
Herstellen der Stromversorgung
Herstellen der Stromversorgung
Herstellen der Stromversorgung
Herstellen der Stromversorgung
Herstellen der Stromversorgung

Die invacare-Steuerung verwendet einen scheinbaren Standard für Elektrorollstühle. Der Anschluss ist ein Standard-XLR-Anschluss, wie er für Mikrofone verwendet wird. Pin 1 ist positiv, Pin 2 negativ. Invacare hat zwei zusätzliche Pins für die Kommunikation, aber wir werden nicht mit diesen herumspielen…

Verbinden Sie den XLR-Stecker mit dem USB-Netzteil und passen Sie alles in eine Box. Um das Kabel zur Box zu führen, bietet sich eine Durchführung an. Stellen Sie sicher, dass das Kabel lang genug ist, um vom Rollstuhlsteuermodul zur Rückenlehne geführt zu werden, wo Sie die Stromversorgungsbox befestigen. Sie können die Kabel den Kabeln des Steuermoduls folgend verlegen, um sicherzustellen, dass sie nirgendwo in einem beweglichen Teil hängen bleiben.

Schritt 8: Aufbau der Box für die Kamera

Bau der Box für die Kamera
Bau der Box für die Kamera
Bau der Box für die Kamera
Bau der Box für die Kamera
Bau der Box für die Kamera
Bau der Box für die Kamera
Bau der Box für die Kamera
Bau der Box für die Kamera

Baue eine Box, die zum Himbeer-Pi und zur Kamera passt. Die Box benötigt an der Seite ein Loch zum Durchführen des USB-Stromkabels und ein Loch für die Kamera, das groß genug ist, um die Sicht nicht zu behindern. Ich habe die Kamera in einem Winkel von ca. 45° montiert, so dass sie nach unten zeigt, um die Hinterräder des Rollstuhls sehen zu können. Ich habe eine Standard-Kunststoffbox verwendet, in die ich einige Löcher geschnitten habe, aber Sie können auch eine schickere Version in 3D drucken (vielleicht für Version 2)

Schritt 9: Machen Sie den Telefonhalter

Machen Sie den Telefonhalter
Machen Sie den Telefonhalter
Machen Sie den Telefonhalter
Machen Sie den Telefonhalter
Machen Sie den Telefonhalter
Machen Sie den Telefonhalter

Um das Handy am Rollstuhl zu befestigen, habe ich eine Adapterplatte in 3D gedruckt, die hier zu finden ist: https://www.thingiverse.com/thing:2742683 (die STL-Datei ist auch beigefügt). Es wird an der Rollstuhlsteuereinheit befestigt. Auf diese Platte können Sie jeden Autotelefonhalter kleben, den Sie überall günstig bekommen können.

Schritt 10: Alles zusammenbauen und ausprobieren

Alles zusammenbauen und ausprobieren
Alles zusammenbauen und ausprobieren
Alles zusammenbauen und ausprobieren
Alles zusammenbauen und ausprobieren
Alles zusammenbauen und ausprobieren
Alles zusammenbauen und ausprobieren

Jetzt ist es Zeit, alles zusammenzubauen:

Bringen Sie die Kamerabox irgendwo hinten am Rollstuhl an, wo die Sicht nicht behindert wird und die Kamera nach hinten zeigt. Bringen Sie die Netzteilbox irgendwo hinten an, wo sie nicht im Weg ist. Verbinden Sie das USB-Kabel vom Raspberry mit der Powerbox. Verbinden Sie die Powerbox mit dem XLR-Stecker mit dem Ladeanschluss der Rollstuhlsteuereinheit. Jetzt sollte alles starten.

Installiere VLC auf deinem Handy (falls du es noch nicht gemacht hast…) und verbinde dich mit dem Raspberry über rtsp://:8554/unicast

Sie sollten jetzt das Kamerabild auf Ihrem Handy sehen:-)

Setzen Sie die Handyhalterung auf die Rollstuhlsteuereinheit und sichern Sie das Handy darauf. Und das ist es, Sie sind fertig!

Raspberry Pi Wettbewerb 2017
Raspberry Pi Wettbewerb 2017
Raspberry Pi Wettbewerb 2017
Raspberry Pi Wettbewerb 2017

Zweiter Preis beim Raspberry Pi Contest 2017

Empfohlen: