Spisu treści:
- Krok 1: Potrzebne części
- Krok 2: Konfiguracja kamery Raspberry
- Krok 3: Zainstaluj V4l2rtspserver
- Krok 4: Skonfiguruj Raspberry jako punkt dostępu WiFi: część 1 - Hostapd
- Krok 5: Skonfiguruj Raspberry jako punkt dostępu WiFi: część 2 - Dnsmasq
- Krok 6: Sprawdź oprogramowanie
- Krok 7: Dokonywanie zasilania
- Krok 8: Budowanie pudełka na kamerę
- Krok 9: Zrób uchwyt telefonu
- Krok 10: Złóż wszystko i wypróbuj
Wideo: Kamera cofania do elektrycznego wózka inwalidzkiego: 10 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
Mój brat korzysta z elektrycznego wózka inwalidzkiego Invacare TDX, którym łatwo manewrować we wszystkich kierunkach, ale ze względu na ograniczoną widoczność do tyłu trudno jest jechać tyłem w ograniczonej przestrzeni. Celem projektu jest zbudowanie kamery cofania wykorzystującej transmisję IP do telefonu komórkowego, która jest zamontowana blisko joysticka sterującego.
Potrzebne komponenty:
- zasilanie i dystrybucja za pomocą wózków inwalidzkich
- kamera cofania i streamer wideo
- uchwyt na telefon komórkowy do konsoli sterującej.
Zasilanie zapewnia sam wózek inwalidzki, który wykorzystuje akumulatory ołowiowe 24 V. Port ładowania jest niewłaściwie używany do podłączenia konwertera zasilania do USB, który zasila Raspberry odpowiedzialne za przesyłanie strumieniowe, a także w razie potrzeby zasila telefon komórkowy.
Streaming jest realizowany przez Raspberry Pi Zero W, który służy jako bezprzewodowy punkt dostępowy i przesyła wideo do dowolnego urządzenia podłączonego do sieci bezprzewodowej.
Telefon komórkowy do wyświetlania obrazu jest montowany z wydrukowanym w 3D adapterem do jednostki sterującej wózka inwalidzkiego.
Aby śledzić ten projekt, będziesz potrzebować podstawowej wiedzy o Debianie/Linuksie, ponieważ konfiguracja wymaga trochę pracy ręcznej. Nie jest to jednak zbyt trudne, więc spróbuj - jeśli nie masz pewności, istnieją setki samouczków na temat Linuksa, które mogą ci pomóc.
Krok 1: Potrzebne części
Raspberry Pi Zero W: Główny komponent do strumieniowego przesyłania wideo
Obiektywy szerokokątne SainSmart Fish-Eye dla Raspberry Pi: kamera szerokokątna kompatybilna z Arduino (170° FOV)
2 × Plastikowe obudowy: jedna mniejsza obudowa dla maliny i kamery, jedna większa obudowa do dystrybucji zasilania
Wtyczka XLR: do podłączenia do portu ładowania wózka inwalidzkiego
Samochodowy port USB (np. TurnRaise 12-24V 3.1A): Konwerter 24V na USB w małej obudowie do użytku samochodowego i motocyklowego. Może to być wszystko, co korzysta z wejścia 24 V i zapewnia wyjście USB.
Różne kable:
- Kabel zasilający do prowadzenia z portu XLR do tyłu wózka inwalidzkiego,
- Kabel USB do zasilania Raspberry
Drukowany w 3D adapter do telefonu Drukowany w 3D adapter do jednostki sterującej wózka inwalidzkiego, który służy jako podstawa do standardowego samochodowego uchwytu na telefon komórkowy:
Samochodowy uchwyt na telefon komórkowy: uchwyt na telefon komórkowy, który można przymocować do płaskiej powierzchni (np. uchwyt na telefon w desce rozdzielczej). Użyłem jednego z Hama, niemieckiego producenta.
Krok 2: Konfiguracja kamery Raspberry
Zainstaluj Raspbian z https://www.raspberrypi.org/downloads/raspbian/ postępując zgodnie z instrukcjami z
Zainstaluj wszystkie aktualizacje, uruchamiając następujące dwa polecenia z terminala:
aktualizacja sudo apt-get
sudo apt-get dist-upgrade
Wyłącz, podłącz kamerę. Ponownie uruchom malinę.
W panelu Raspberry Setup włącz kamerę i włącz dostęp SSH do maliny. Kamera sainsmart działa jako oficjalna kamera Pi, możesz postępować zgodnie z instrukcjami znajdującymi się tutaj: https://www.raspberrypi.org/learning/addons-guide… Niestety jeszcze nie skończyłeś. Potrzebujemy sterownika v4l dla raspi-cam, który nie jest włączony po wyjęciu z pudełka. Najpierw powinieneś zaktualizować oprogramowanie układowe swojej maliny, aby uzyskać najnowsze oprogramowanie układowe i sterownik jądra - uruchom następujące polecenie w terminalu:
sudo raspi-aktualizacja
Musisz teraz załadować sterownik jądra v4l, wpisując w terminalu:
sudo modprobe bcm2835-v4l2
Jeśli to zadziałało bez komunikatów o błędach, powinieneś mieć teraz urządzenie /dev/video0, sprawdź za pomocą
ls - l /dev/vid*
Jeśli to zadziałało, dodaj bcm2835-v4l2 do /etc/modules, aby włączyć moduł przy każdym uruchomieniu.
Możesz sprawdzić, czy kamera działa za pomocą polecenia:
raspistill -o cam.jpg
Krok 3: Zainstaluj V4l2rtspserver
Najpierw musisz zainstalować cmake, ponieważ sami skompilujemy program do strumieniowego przesyłania wideo:
sudo apt-get install cmake
Do przesyłania strumieniowego używamy v4l2rtspserver, ponieważ w naszych próbach wykazał najmniejsze opóźnienie. Możesz pobrać kod z
Zainstaluj go za pomocą:
klon git
cd h264v4l2rtspserver
cmake.
zainstaluj
Wszystko powinno zakończyć się bez błędów i możesz to teraz przetestować, uruchamiając serwer strumieniowy z terminala:
v4l2rtspserver -W 352 -H 288 -F 10 /dev/video0
Połącz się z VLC na komputerze w tej samej sieci z raspberry: rtsp://:8554/unicast, aby sprawdzić, czy transmisja działa.
Utwórz skrypt o nazwie launcher.sh w swoim katalogu domowym za pomocą ulubionego edytora (którym powinien być vi):
!#/bin/bashsleep 20 v4l2rtspserver -W 352 -H 288 -F 10 /dev/video0
Polecenie uśpienia jest potrzebne, aby sterownik wideo był gotowy. Prawdopodobnie można go ustawić na mniej niż 20 sekund….
Dodaj ten skrypt do swojego crontab za pomocą "crontab -e" i dodając:
@reboot sh /home/pi/bbt/launcher.sh >/home/pi/logs/cronlog 2>&1
Powinno to automatycznie uruchamiać transmisję strumieniową przy każdym starcie.
Alternatywy dla przesyłania strumieniowego:
Istnieje kilka alternatyw do przesyłania strumieniowego wideo, próbowałem ruchu i vlc. Motion to narzędzie kamery internetowej, które wykrywa ruch, więc wykonuje dodatkową analizę obrazu na obrazach i prawdopodobnie jest nieco wolniejsze niż zwykłe przesyłanie strumieniowe.
VLC działa po wyjęciu z pudełka bez żadnych dodatkowych kompilacji:
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} '
To polecenie przesyła strumieniowo wideo zakodowane w h264 przez http na porcie 12345. W naszej konfiguracji testowej opóźnienie wynosi około 2 sekund.
Krok 4: Skonfiguruj Raspberry jako punkt dostępu WiFi: część 1 - Hostapd
Ten krok ustawia Raspberry jako punkt dostępowy. Po tym nie jesteś już połączony z siecią, ale Raspberry otwiera własną sieć Wi-Fi. W razie pomyłek musisz mieć dostęp do Raspberry z klawiaturą i wyświetlaczem, więc zrób to zanim zakopiesz malinę gdzieś w obudowie…
Postępuję zgodnie z metodą opisaną tutaj:
Zainstaluj hostapd i dnsmasq:
sudo apt-get zainstaluj dnsmasq hostapd
Wyłącz dhcp na interfejsie wlan0, dodając następujący wiersz do /etc/dhcpd.conf (najlepiej u góry)
denyinterfaces wlan0
Skonfiguruj statyczny adres IP dla interfejsu wlan0, edytując /etc/network/interfaces tak, aby zawierał następujące elementy:
allow-hotplug wlan0 iface wlan0 inet adres statyczny 172.24.1.1 maska sieci 255.255.255.0 sieć 172.24.1.0 rozgłaszanie 172.24.1.255
Uruchom ponownie demona dhcp za pomocą usługi sudo dhcpcd restart, a następnie ponownie załaduj konfigurację wlan0 za pomocą
sudo ifdown wlan0; sudo ifup wlan0
Zapisz załączony plik hostapd.conf w /etc/hostapd/hostapd.conf (po sprawdzeniu zawartości i dostosowaniu do własnych upodobań - powinieneś przynajmniej zmienić SSID i hasło na coś bardziej bezpiecznego).
Możesz teraz sprawdzić, czy to działa, uruchamiając:
sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf
Powinieneś być w stanie połączyć się z nową siecią, ale nie otrzymasz jeszcze adresu IP. Zatrzymaj hostapd, naciskając CTRL-C. Włącz automatyczne uruchamianie hostapd, edytując /etc/default/hostapd i dodając lokalizację pliku konfiguracyjnego, zmieniając odpowiednią linię na
DAEMON_CONF="/etc/hostapd/hostapd.conf"
Krok 5: Skonfiguruj Raspberry jako punkt dostępu WiFi: część 2 - Dnsmasq
Przenieś dostarczoną konfigurację dnsmasq do pliku kopii zapasowej (ponieważ zawiera wiele komentarzy, nadal możesz jej użyć w celach informacyjnych):
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
Następnie utwórz nowy /etc/dnsmasq.conf z następującą zawartością:
server=8.8.8.8 # Prześlij żądania DNS do domeny DNS Google-needed # Nie przesyłaj krótkich nazw bogus-priv # Nigdy nie przesyłaj adresów z nieroutowanych przestrzeni adresowych. dhcp-range=172.24.1.150, 172.24.1.150, 12h # Przypisz adresy IP z zakresu od 172.24.1.150 do 172.24.1.150 z 12-godzinnym czasem dzierżawy
Powiązanie usługi dnsmasq z określonym adresem prowadzi do pewnych problemów w naszej instalacji, więc po prostu pozwalamy jej działać na wszystkich interfejsach. Ponieważ raspberry Pi Zero W ma tylko WiFi, nie stanowi to problemu, chyba że podłączysz interfejs USB Ethernet… (w tym przypadku miałbyś również serwer dhcp na tym interfejsie, więc może to zepsuć sieć, z którą łączysz się za pomocą kabla).
Nie musisz wykonywać żadnych dodatkowych kroków, aby uruchomić dnsmasq podczas uruchamiania, uruchamia się automatycznie. Jednak powinieneś przetestować wszystko przed ponownym uruchomieniem, uruchamiając obie usługi ręcznie i sprawdź, czy możesz połączyć się z Wi-Fi i uzyskać adres IP (możesz również powiedzieć swojemu telefonowi komórkowemu, że to Wi-Fi nie ma internetu i że to jest w porządku):
usługa sudo hostapd start usługa sudo dnsmasq start
Krok 6: Sprawdź oprogramowanie
Teraz, gdy już wszystko skonfigurowałeś, nadszedł czas na krótką kontrolę (zanim wszystko będzie trudniej dostępne). Zrestartuj malinę.
Połącz się z Wi-Fi, jeśli malina z telefonem komórkowym. Połącz klienta strumieniowego przesyłania wideo (np. VLC, który istnieje dla wszystkich systemów operacyjnych) do strumienia maliny, wybierając „Strumień sieciowy” i łącząc się z rtsp://:8554/unicast (jest to adres IP twojego urządzenia, jeśli nie zmień to jest 172.24.1.1).
Powinieneś teraz zobaczyć jakiś obraz na żywo z kamery… (Miałem pewne problemy z VLC dla Androida, ale VLC dla iOS działał bezproblemowo - nie badałem dalej wersji Androida, ponieważ mój brat używa iOS).
Krok 7: Dokonywanie zasilania
Sterowanie invacare wykorzystuje to, co wydaje się być standardem dla wózków z napędem. Złącze to standardowe złącze XLR używane do mikrofonów. Pin 1 jest dodatni, Pin 2 ujemny. Invacare ma dwa dodatkowe piny do komunikacji, ale nie będziemy się z nimi bawić…
Podłącz złącze XLR do zasilacza USB i zmieść wszystko w pudełku. Aby doprowadzić kabel do skrzynki, dobrym pomysłem jest przepust. Upewnij się, że kabel jest wystarczająco długi, aby można go było poprowadzić z modułu sterującego wózka inwalidzkiego do oparcia, gdzie przymocujesz skrzynkę zasilającą. Kable można poprowadzić wzdłuż kabli modułu sterującego, aby nie zaplątały się w części ruchomej.
Krok 8: Budowanie pudełka na kamerę
Zbuduj pudełko pasujące do Raspberry Pi i aparatu. Pudełko wymaga otworu z boku, aby poprowadzić kabel zasilający USB oraz otworu na kamerę, który jest wystarczająco duży, aby nie zasłaniał widoku. Zamontowałem kamerę pod kątem około 45° tak, aby była skierowana w dół, aby móc widzieć tylne koła wózka inwalidzkiego. Użyłem standardowego plastikowego pudełka, w którym wyciąłem kilka otworów, ale można też wydrukować 3D bardziej wymyślną wersję (może do wersji 2)
Krok 9: Zrób uchwyt telefonu
Aby przymocować telefon komórkowy do wózka, wydrukowałem w 3D płytkę adaptera, którą można znaleźć tutaj: https://www.thingiverse.com/thing:2742683 (plik STL jest również załączony). Jest przymocowany do jednostki sterującej wózka inwalidzkiego. Na tej tabliczce możesz przykleić dowolny uchwyt samochodowy, który możesz dostać tanio gdziekolwiek.
Krok 10: Złóż wszystko i wypróbuj
Teraz nadszedł czas, aby wszystko złożyć:
Przymocuj skrzynkę z kamerą gdzieś z tyłu wózka inwalidzkiego, gdzie widok nie jest zasłonięty, a kamera jest skierowana do tyłu. Przymocuj skrzynkę zasilacza gdzieś z tyłu, gdzie nie przeszkadza. Podłącz kabel USB z Raspberry do skrzynki zasilającej. Podłącz skrzynkę zasilającą z wtyczką XLR do portu ładowania w jednostce sterującej wózka inwalidzkiego. Wszystko powinno zacząć się teraz.
Zainstaluj VLC na swoim telefonie komórkowym (jeśli jeszcze tego nie zrobiłeś…) i połącz się z Raspberry przez rtsp://:8554/unicast
Powinieneś teraz zobaczyć obraz z kamery w telefonie komórkowym:-)
Umieść uchwyt na telefon komórkowy na sterowniku wózka inwalidzkiego i przymocuj do niego telefon. I to wszystko, gotowe!
II nagroda w konkursie Raspberry Pi 2017
Zalecana:
System wsparcia Kierowca dźwigni wózka inwalidzkiego: 16 kroków
System wsparcia Kierowca dźwigni wózka inwalidzkiego: Zwykły wózek inwalidzki ma wiele wad dla osób z osłabieniem kończyn górnych lub ograniczonymi zasobami. Nasz zespół otrzymał zadanie zaprojektowania dźwigni do wózków inwalidzkich z misji Free Wheelchair Mission, która pozwoliłaby użytkownikom jechać dalej
Zagłówek wózka inwalidzkiego: 17 kroków
Zagłówek wózka inwalidzkiego: wprowadzenie Osoba w Seven Hills ma problemy z zagłówkiem wózka inwalidzkiego. W okresach dużego niepokoju i stresu miewa konwulsje spastyczne. Podczas tych epizodów jej głowę można opchnąć wokół boku i dołu zagłówka. Ta pozycja
Trzecia kamera cofania światła hamowania (bezprzewodowa): 6 kroków (ze zdjęciami)
Trzecia kamera cofania światła hamowania (bezprzewodowa): Witam wszystkich! W dzisiejszym projekcie zainstaluję kamerę cofania w moim trzecim świetle hamowania. Do tego projektu będę używał własnego samochodu, którym jest Mitsubishi Lancer GTS 2010. Ta technika będzie działać z każdym Mitsubishi Lancer / Lanc
Podświetlenie wózka inwalidzkiego: 9 kroków (ze zdjęciami)
Podświetlenie wózka inwalidzkiego: Po pierwsze, zgłosiłem ten Instruktaż do kilku konkursów. Będę wdzięczny za głosowanie, jeśli uważasz, że zasługuje na jeden lub dwa. Kontynuuj program: Siedzę więc na rodzinnym przyjęciu bożonarodzeniowym i pytam mojego siostrzeńca (który jest zagorzałym fanem BYU), dlaczego jego w
Usuń hamulec silnika wózka inwalidzkiego: 6 kroków (ze zdjęciami)
Usuń hamulec silnika wózka inwalidzkiego: Usunięcie elektrycznego hamulca bezpieczeństwa z silnika wózka inwalidzkiego jest szybkie i łatwe. Te instrukcje są przeznaczone dla osób, które mają nadzieję na ponowne wykorzystanie silnika wózka inwalidzkiego w projektach DIY. Wyłączenie hamulca bezpieczeństwa sprawia, że sterowanie elektr