Innholdsfortegnelse:
- Trinn 1: Nødvendige deler
- Trinn 2: Konfigurere bringebærkameraet
- Trinn 3: Installer V4l2rtspserver
- Trinn 4: Sett opp bringebæret som et WiFi -tilgangspunkt: Del 1 - Hostapd
- Trinn 5: Sett opp bringebæret som et WiFi -tilgangspunkt: Del 2 - Dnsmasq
- Trinn 6: Sjekk programvaren
- Trinn 7: Gjør strømforsyningen
- Trinn 8: Bygg boksen til kameraet
- Trinn 9: Lag telefonholderen
- Trinn 10: Sett sammen alt og prøv det
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Min bror bruker en Invacare TDX elektrisk rullestol, som er lett å manøvrere i alle retninger, men på grunn av begrenset sikt bak er det vanskelig å kjøre bakover på begrensede plasser. Målet med prosjektet er å bygge et ryggekamera ved hjelp av IP -streaming til en mobiltelefon, som er montert nær hans styrende joystick.
Nødvendige komponenter:
- strømforsyning og distribusjon ved bruk av rullestolens strøm
- ryggekamera og videostreamer
- mobiltelefonholder til styreputen.
Kraften leveres av rullestolen selv, som bruker 24V blybatterier. Ladeporten blir misbrukt for å koble til en strømomformer til USB, som driver bringebæret som er ansvarlig for streaming og også driver mobiltelefonen om nødvendig.
Streaming utføres av en Raspberry Pi Zero W, som fungerer som et trådløst tilgangspunkt og streamer videoen til en hvilken som helst enhet som er koblet til det trådløse nettverket.
Mobiltelefonen for å vise bildet er montert med en 3D -trykt adapter til rullestolen.
For å følge dette prosjektet trenger du grunnleggende kunnskap om Debian/Linux, ettersom konfigurasjonen krever litt manuelt arbeid. Det er imidlertid ikke så vanskelig, så prøv det - hvis du er usikker, er det hundrevis av opplæringsprogrammer på Linux som kan hjelpe deg.
Trinn 1: Nødvendige deler
Raspberry Pi Zero W: Hovedkomponent for streaming av video
SainSmart vidvinkel fiskeøye-kameralinser for Raspberry Pi: Arduino kamera-kompatibelt vidvinkelkamera (170 ° FOV)
2 × Plasthus: Ett mindre hus for bringebæret og kameraet, ett større hus for strømfordelingen
XLR -plugg: For å koble til ladeporten til rullestolen
Bilens USB-port (f.eks. TurnRaise 12-24V 3.1A): En 24V til USB-omformer i et lite hus for bil- og motorsykkelbruk. Kan være alt som bruker 24V inngang og gir USB -utgang.
Ulike kabler:
- Strømkabel til rute fra XLR -porten til baksiden av rullestolen,
- USB -kabel for å levere bringebær
3D -trykt adapter for telefon En 3D -trykt adapter til rullestolens kontrollenhet som fungerer som base for en standard bilmobilholder:
Bil mobiltelefon holder: En mobiltelefon holder som kan festes til en flat overflate (f.eks. En dashbord telefon holder). Jeg brukte en fra Hama, en tysk produsent.
Trinn 2: Konfigurere bringebærkameraet
Installer Raspbian fra https://www.raspberrypi.org/downloads/raspbian/ etter instruksjonene fra
Installer alle oppdateringene ved å kjøre følgende to kommandoer fra en terminal:
sudo apt-get oppdatering
sudo apt-get dist-upgrade
Slå av, koble til kameraet. Start bringebæret igjen.
Aktiver kameraet i bringebæroppsettpanelet og aktiver SSH -tilgang til bringebæret. Sainsmart-kameraet fungerer som det offisielle Pi-kameraet, du kan følge instruksjonene som finnes her: https://www.raspberrypi.org/learning/addons-guide… Dessverre er du ikke ferdig ennå. Vi trenger en v4l-driver for raspi-cam, som ikke er aktivert ut av esken. Først bør du gjøre en fastvareoppdatering av bringebæret ditt for å få den nyeste fastvaren og kjernedriveren - kjør følgende i en terminal:
sudo raspi-oppdatering
Du må laste inn v4l -kjernedriveren nå ved å skrive inn i en terminal:
sudo modprobe bcm2835-v4l2
Hvis dette fungerte uten feilmeldinger, bør du nå ha en enhet /dev /video0, sjekk med
ls - l /dev /vid*
Hvis dette fungerte, legg til bcm2835-v4l2 til /etc /modules for å aktivere modulen ved hver start.
Du kan kontrollere at kameraet fungerer med kommandoen:
raspistill -o cam.jpg
Trinn 3: Installer V4l2rtspserver
Først må du installere cmake, ettersom vi vil kompilere videostreamingsprogrammet selv:
sudo apt-get install cmake
For streaming bruker vi v4l2rtspserver ettersom den viste den laveste ventetiden i våre forsøk. Du kan få koden fra
Installer den med:
git -klon
cd h264v4l2rtspserver
cmake.
gjøre installere
Alt skal fullføres uten feil, og du kan teste det nå ved å starte streaming -serveren fra en terminal:
v4l2rtspserver -W 352 -H 288 -F 10 /dev /video0
Koble til VLC på en datamaskin i samme nettverk til bringebæret: rtsp: //: 8554/unicast for å sjekke om streaming fungerer.
Lag et skript kalt launcher.sh i hjemmekatalogen din ved hjelp av favorittredigereren din (som skal være vi):
!#/bin/bashsleep 20 v4l2rtspserver -W 352 -H 288 -F 10/dev/video0
Søvnkommandoen er nødvendig for å la videodriveren bli klar. Sannsynligvis kan den settes til mindre enn 20 sekunder ….
Legg dette skriptet til crontab med "crontab -e" og legg til:
@reboot sh /home/pi/bbt/launcher.sh>/home/pi/logs/cronlog 2> & 1
Dette bør starte strømmingen ved hver start automatisk.
Alternativer for streaming:
Det er et par alternativer å bruke for streaming video, jeg prøvde motion og vlc. Motion er et webkameraverktøy som oppdager bevegelse, så det utfører ytterligere bildeanalyse på bildene og er sannsynligvis litt tregere enn bare streaming.
VLC fungerer ut av esken uten noen ekstra samlinger:
cvlc v4l2: /// dev/video0 --v4l2-bredde 320 --v4l2-høyde 200 --v4l2-chroma h264 --sout '#standard {access = http, mux = ts, dst = 0.0.0.0: 12345} '
Denne kommandoen streamer en h264 -kodet video via http på port 12345. Forsinkelse er omtrent 2 sekunder i testoppsettet.
Trinn 4: Sett opp bringebæret som et WiFi -tilgangspunkt: Del 1 - Hostapd
Dette trinnet angir bringebæret ditt som et tilgangspunkt. Etter dette er du ikke lenger koblet til nettverket ditt, men bringebæret åpner sitt eget WiFi -nettverk. I tilfelle feil må du ha tilgang til bringebæret med et tastatur og en skjerm, så gjør dette før du begraver bringebæret i et hus et sted …
Jeg følger metoden beskrevet her:
Installer hostapd og dnsmasq:
sudo apt-get install dnsmasq hostapd
Deaktiver dhcp på grensesnittet wlan0 ved å legge til følgende linje i /etc/dhcpd.conf (helst øverst)
denyinterfaces wlan0
Konfigurer en statisk IP for wlan0 -grensesnittet ved å redigere/etc/network/interfaces for å inkludere følgende:
tillat-hotplug wlan0 iface wlan0 inet statisk adresse 172.24.1.1 netmask 255.255.255.0 nettverk 172.24.1.0 kringkasting 172.24.1.255
Start dhcp -demonen på nytt med sudo service dhcpcd restartand last deretter inn wlan0 config med
sudo ifdown wlan0; sudo ifup wlan0
Lagre den vedlagte hostapd.conf under /etc/hostapd/hostapd.conf (etter at du har sjekket innholdet og tilpasset det du liker - bør du i det minste endre SSID og passordet til noe sikrere).
Du kan nå sjekke om det fungerer ved å kjøre:
sudo/usr/sbin/hostapd /etc/hostapd/hostapd.conf
Du bør kunne koble til det nye nettverket, men du vil ikke få en IP -adresse ennå. Stopp hostapd ved å trykke CTRL-C. Aktiver automatisk start av hostapd ved å redigere/etc/default/hostapd og legge til konfigurasjonsfilplasseringen ved å endre den tilsvarende linjen til
DAEMON_CONF = "/etc/hostapd/hostapd.conf"
Trinn 5: Sett opp bringebæret som et WiFi -tilgangspunkt: Del 2 - Dnsmasq
Flytt den medfølgende dnsmasq -konfigurasjonen til en sikkerhetskopifil (siden den inneholder mange kommentarer, kan du fortsatt bruke den som referanse):
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
Lag deretter en ny /etc/dnsmasq.conf med følgende innhold:
server = 8.8.8.8 # Videresend DNS-forespørsler til Google DNS-domenebehovet # Ikke videresend korte navn falsk-priv # Aldri videresend adresser i de ikke-dirigerte adresserommene. dhcp-range = 172.24.1.50, 172.24.1.150, 12h # Tildel IP-adresser mellom 172.24.1.50 og 172.24.1.150 med en 12 timers leietid
Å binde dnsmasq -tjenesten til en bestemt adresse fører til noen problemer i installasjonen vår, så vi lar den bare kjøre på alle grensesnitt. Siden bringebær Pi Zero W bare har WiFi, er dette ikke noe problem med mindre du kobler til et USB Ethernet -grensesnitt … (i dette tilfellet vil du også ha en dhcp -server på dette grensesnittet, så dette kan ødelegge nettverket du kobler til med en kabel).
Du trenger ikke å gjøre noen ekstra trinn for å kjøre dnsmasq ved oppstart, den starter automatisk. Du bør imidlertid teste alt før du starter på nytt ved å starte begge tjenestene manuelt og kontrollere at du kan koble til WiFi og få en IP -adresse (du kan også fortelle mobiltelefonen din at denne WiFi ikke har internett og at dette er greit):
sudo service hostapd start sudo service dnsmasq start
Trinn 6: Sjekk programvaren
Nå som du har konfigurert alt, er det på tide å gjøre en kort sjekk (før det er vanskeligere å få tilgang til alt). Start bringebæret på nytt.
Koble til WiFi hvis bringebæret med mobiltelefonen. Koble en streaming videoklient (f.eks. VLC som finnes for alle operativsystemer) til bringebærstrømmen ved å velge "Network stream" og koble til rtsp: //: 8554/unicast (er IP -en til enheten din, hvis du ikke gjorde det endre det er 172.24.1.1).
Du bør se noen livevideoer fra kameraet nå … (Jeg hadde noen problemer med VLC for android, men VLC for iOS fungerte problemfritt - jeg undersøkte ikke Android -versjonen nærmere ettersom broren min bruker iOS).
Trinn 7: Gjør strømforsyningen
Invacare -kontrollen bruker det som ser ut til å være en standard for elektriske rullestoler. Kontakten er en standard XLR -kontakt som brukes til mikrofoner. Pin 1 er positiv, Pin 2 negativ. Invacare har to ekstra pins for kommunikasjon, men vi kommer ikke til å rote med disse …
Koble XLR -kontakten til USB -strømadapteren og sett alt i en eske. For å mate kabelen til esken, er en gjennomføring en god idé. Sørg for at kabelen er lang nok til å føres fra rullestolkontrollmodulen til ryggstøtten, hvor du vil koble til strømforsyningsboksen. Du kan føre kablene etter kablene i kontrollmodulen for å sikre at de ikke blir fanget noen steder i en bevegelig del.
Trinn 8: Bygg boksen til kameraet
Bygg en boks som passer til bringebærpi og kamera. Boksen trenger et hull på siden for å føre USB -strømkabelen gjennom og et hull for kameraet som er stort nok til ikke å hindre utsikten. Jeg monterte kameraet i en omtrent 45 ° vinkel slik at det peker nedover for å se bakhjulene til rullestolen. Jeg brukte en standard plastboks som jeg kuttet noen hull i, men du kan også 3D -skrive ut en finere versjon (kanskje for versjon 2)
Trinn 9: Lag telefonholderen
For å feste mobiltelefonen til rullestolen 3d-trykte jeg en adapterplate som du finner her: https://www.thingiverse.com/thing:2742683 (STL-filen er også vedlagt). Den er festet til rullestolens kontrollenhet. På denne tallerkenen kan du lime hvilken som helst biltelefonholder, som du kan få billig uansett.
Trinn 10: Sett sammen alt og prøv det
Nå er det på tide å sette sammen alt:
Fest kameraboksen et sted på baksiden av rullestolen der utsikten ikke er hindret og kameraet peker bakover. Fest strømforsyningsboksen et sted på baksiden der den ikke er i veien. Koble USB -kabelen fra bringebæret til strømboksen. Koble strømboksen med XLR -kontakten til ladeporten på rullestolen. Alt burde starte opp nå.
Installer VLC på mobiltelefonen din (hvis du ikke har gjort det ennå …) og koble til bringebæret via rtsp: //: 8554/unicast
Du bør nå se kamerabildet på mobiltelefonen:-)
Sett mobiltelefonholderen på rullestolens kontrollenhet og fest telefonen på den. Og dette er det, du er ferdig!
Andre pris i Raspberry Pi -konkurransen 2017