Sommario:
- Passaggio 1: parti necessarie
- Passaggio 2: configurazione della fotocamera Raspberry
- Passaggio 3: installa V4l2rtspserver
- Passaggio 4: configurare il Raspberry come punto di accesso WiFi: parte 1 - Hostapd
- Passaggio 5: configurare il Raspberry come punto di accesso WiFi: parte 2 - Dnsmasq
- Passaggio 6: Controlla il software
- Passaggio 7: creazione dell'alimentatore
- Passaggio 8: costruire la scatola per la fotocamera
- Passaggio 9: crea il supporto del telefono
- Passaggio 10: assemblare tutto e provarlo
Video: Telecamera posteriore per una sedia a rotelle elettrica: 10 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Mio fratello utilizza una carrozzina elettrica Invacare TDX, che è facile da manovrare in tutte le direzioni, ma a causa della visibilità limitata sul retro è difficile guidare all'indietro in spazi limitati. L'obiettivo del progetto è costruire una telecamera per la retromarcia utilizzando lo streaming IP su un telefono cellulare, che è montato vicino al suo joystick volante.
Componenti necessari:
- alimentazione e distribuzione tramite l'alimentazione della carrozzina
- telecamera per retromarcia e streamer video
- supporto per cellulare per la pulsantiera.
L'alimentazione è fornita dalla carrozzina stessa, che utilizza batterie al piombo da 24V. La porta di ricarica viene utilizzata in modo improprio per collegare un convertitore di alimentazione a USB, che alimenta il Raspberry responsabile dello streaming e, se necessario, alimenta anche il telefono cellulare.
Lo streaming viene eseguito da un Raspberry Pi Zero W, che funge da punto di accesso wireless e trasmette il video a qualsiasi dispositivo connesso alla rete wireless.
Il telefono cellulare per visualizzare l'immagine è montato con un adattatore stampato in 3D sull'unità di controllo della sedia a rotelle.
Per seguire questo progetto avrai bisogno di alcune conoscenze di base di Debian/Linux, poiché la configurazione richiede un po' di lavoro manuale. Tuttavia, non è troppo difficile, quindi provaci - se non sei sicuro ci sono centinaia di tutorial su Linux che possono aiutarti.
Passaggio 1: parti necessarie
Raspberry Pi Zero W: componente principale per lo streaming video
Obiettivi grandangolari SainSmart Fish-Eye per Raspberry Pi: fotocamera grandangolare compatibile con Arduino Camera (170° FOV)
2 × Custodie in plastica: una custodia più piccola per il lampone e la fotocamera, una custodia più grande per la distribuzione dell'energia
Spina XLR: per il collegamento alla porta di ricarica della sedia a rotelle
Porta USB per auto (es. TurnRaise 12-24V 3.1A): Un convertitore da 24V a USB in un piccolo alloggiamento per auto e moto. Può essere qualsiasi cosa che utilizzi un ingresso a 24 V e fornisca un'uscita USB.
Cavi vari:
- Cavo di alimentazione per instradare dalla porta XLR al retro della sedia a rotelle,
- Cavo USB per alimentare Raspberry
Adattatore stampato in 3D per telefono Un adattatore stampato in 3D per l'unità di controllo della sedia a rotelle che funge da base per un supporto per telefono cellulare standard per auto:
Portacellulare da auto: un portacellulare che può essere fissato a una superficie piana (es. un portacellulare da cruscotto). Ne ho usato uno di Hama, un produttore tedesco.
Passaggio 2: configurazione della fotocamera Raspberry
Installa Raspbian da https://www.raspberrypi.org/downloads/raspbian/ seguendo le istruzioni da
Installa tutti gli aggiornamenti eseguendo i seguenti due comandi da un terminale:
sudo apt-get update
sudo apt-get dist-upgrade
Spegni, collega la fotocamera. Ricomincia il lampone.
Nel pannello Raspberry Setup abilita la fotocamera e abilita l'accesso SSH al raspberry. La fotocamera sainsmart funziona come la fotocamera Pi ufficiale, puoi seguire le istruzioni che trovi qui: https://www.raspberrypi.org/learning/addons-guide… Purtroppo non hai ancora finito. Abbiamo bisogno di un driver v4l per la raspi-cam, che non è abilitato di default. Per prima cosa dovresti eseguire un aggiornamento del firmware del tuo raspberry per ottenere l'ultimo firmware e driver del kernel - esegui quanto segue in un terminale:
sudo raspi-update
Ora devi caricare il driver del kernel v4l digitando in un terminale:
sudo modprobe bcm2835-v4l2
Se ha funzionato senza messaggi di errore, ora dovresti avere un dispositivo /dev/video0, controlla con
ls - l /dev/vid*
Se ha funzionato, aggiungi bcm2835-v4l2 a /etc/modules per abilitare il modulo ad ogni avvio.
Puoi verificare che la fotocamera funzioni con il comando:
raspistill -o cam.jpg
Passaggio 3: installa V4l2rtspserver
Per prima cosa, devi installare cmake, poiché compileremo noi stessi il programma di streaming video:
sudo apt-get install cmake
Per lo streaming utilizziamo v4l2rtspserver in quanto ha mostrato la latenza più bassa nelle nostre prove. Puoi ottenere il codice da
Installalo con:
git clone
cd h264v4l2rtspserver
cmq.
fare installare
Tutto dovrebbe finire senza errori e puoi testarlo ora avviando il server di streaming da un terminale:
v4l2rtspserver -W 352 -H 288 -F 10 /dev/video0
Connettiti con VLC su un computer nella stessa rete al raspberry: rtsp://:8554/unicast per verificare se lo streaming funziona.
Crea uno script chiamato launcher.sh nella tua home directory usando il tuo editor preferito (che dovrebbe essere vi):
!#/bin/bashsleep 20 v4l2rtspserver -W 352 -H 288 -F 10 /dev/video0
Il comando di sospensione è necessario per consentire al driver video di essere pronto. Probabilmente può essere impostato a meno di 20 secondi….
Aggiungi questo script al tuo crontab con "crontab -e" e aggiungendo:
@reboot sh /home/pi/bbt/launcher.sh >/home/pi/logs/cronlog 2>&1
Questo dovrebbe avviare automaticamente lo streaming ad ogni avvio.
Alternative per lo streaming:
Ci sono un paio di alternative da utilizzare per lo streaming video, ho provato motion e vlc. Motion è uno strumento per webcam che rileva il movimento, quindi esegue un'analisi aggiuntiva dell'immagine sulle immagini e probabilmente è un po' più lento del semplice streaming.
VLC funziona immediatamente senza ulteriori compilazioni:
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} '
Questo comando trasmette un video codificato h264 tramite http sulla porta 12345. La latenza è di circa 2 secondi nella nostra configurazione di test.
Passaggio 4: configurare il Raspberry come punto di accesso WiFi: parte 1 - Hostapd
Questo passaggio imposta il tuo Raspberry come Access Point. Dopo questo, non sei più connesso alla tua rete ma il Raspberry apre la propria rete WiFi. In caso di errori, devi avere accesso al Raspberry con una tastiera e un display, quindi fallo prima di seppellire il lampone in un alloggiamento da qualche parte…
Sto seguendo il metodo descritto qui:
Installa hostapd e dnsmasq:
sudo apt-get install dnsmasq hostapd
Disabilita dhcp sull'interfaccia wlan0 aggiungendo la seguente riga a /etc/dhcpd.conf (preferibilmente in alto)
nega interfacce wlan0
Configurare un IP statico per l'interfaccia wlan0 modificando /etc/network/interfaces per includere quanto segue:
allow-hotplug wlan0 iface wlan0 inet indirizzo statico 172.24.1.1 netmask 255.255.255.0 rete 172.24.1.0 broadcast 172.24.1.255
Riavvia il demone dhcp con sudo service dhcpcd restarte quindi ricarica la configurazione wlan0 con
sudo ifdown wlan0; sudo ifup wlan0
Salva il file hostapd.conf allegato in /etc/hostapd/hostapd.conf (dopo aver controllato i contenuti e adattato ai tuoi gusti - dovresti almeno cambiare l'SSID e la passphrase con qualcosa di più sicuro).
Ora puoi verificare se funziona eseguendo:
sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf
Dovresti essere in grado di connetterti alla nuova rete, ma non otterrai ancora un indirizzo IP. Ferma hostapd premendo CTRL-C. Abilita l'avvio automatico di hostapd modificando /etc/default/hostapd e aggiungendo la posizione del file di configurazione cambiando la riga corrispondente in
DAEMON_CONF="/etc/hostapd/hostapd.conf"
Passaggio 5: configurare il Raspberry come punto di accesso WiFi: parte 2 - Dnsmasq
Sposta la configurazione dnsmasq fornita in un file di backup (poiché contiene molti commenti, puoi comunque utilizzarla come riferimento):
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
Quindi crea un nuovo /etc/dnsmasq.conf con il seguente contenuto:
server=8.8.8.8 # Inoltra richieste DNS a Google DNS domain-necessario # Non inoltrare nomi brevi bogus-priv # Non inoltrare mai indirizzi negli spazi degli indirizzi non instradati. dhcp-range=172.24.1.50, 172.24.1.150, 12h # Assegna indirizzi IP tra 172.24.1.50 e 172.24.1.150 con un periodo di locazione di 12 ore
Associare il servizio dnsmasq a un indirizzo specifico porta ad alcuni problemi nella nostra installazione, quindi lo lasciamo funzionare su tutte le interfacce. Poiché il Raspberry Pi Zero W ha solo il WiFi, questo non è un problema a meno che non colleghi un'interfaccia Ethernet USB… (in questo caso avresti anche un server DHCP su questa interfaccia, quindi questo potrebbe rovinare la rete a cui ti connetti con un cavo).
Non è necessario eseguire ulteriori passaggi per eseguire dnsmasq all'avvio, si avvia automaticamente. Tuttavia dovresti testare tutto prima di fare un riavvio avviando entrambi i servizi manualmente e controlla che puoi connetterti al WiFi e ottenere un indirizzo IP (puoi anche dire al tuo cellulare che questo WiFi non ha internet e che questo va bene):
sudo service hostapd start sudo service dnsmasq start
Passaggio 6: Controlla il software
Ora che hai configurato tutto è il momento di fare un breve controllo (prima che tutto sia più difficile da accedere). Riavvia il lampone.
Connettiti al WiFi se il lampone con il tuo cellulare. Connetti un client di streaming video (es. VLC che esiste per tutti i sistemi operativi) allo stream del raspberry selezionando "Network stream" e collegandoti a rtsp://:8554/unicast (è l'IP del tuo dispositivo, se non lo hai fatto cambiarlo è 172.24.1.1).
Dovresti vedere alcuni video in diretta dalla fotocamera ora… (Ho avuto alcuni problemi con VLC per Android, ma VLC per iOS ha funzionato senza problemi - non ho approfondito ulteriormente la versione di Android poiché mio fratello utilizza iOS).
Passaggio 7: creazione dell'alimentatore
Il controllo invacare utilizza quello che sembra essere uno standard per le sedie a rotelle elettriche. Il connettore è un connettore XLR standard utilizzato per i microfoni. Il pin 1 è positivo, il pin 2 è negativo. Invacare ha due pin aggiuntivi per la comunicazione, ma non abbiamo intenzione di scherzare con questi…
Collega il connettore XLR all'alimentatore USB e inserisci tutto in una scatola. Per alimentare il cavo alla scatola, un passante è una buona idea. Assicurarsi che il cavo sia sufficientemente lungo da essere instradato dal modulo di controllo della carrozzina allo schienale dove si collegherà la scatola di alimentazione. È possibile instradare i cavi seguendo i cavi del modulo di controllo per assicurarsi che non siano impigliati in una parte mobile.
Passaggio 8: costruire la scatola per la fotocamera
Costruisci una scatola che si adatti al lampone pi e alla fotocamera. La scatola ha bisogno di un foro sul lato per far passare il cavo di alimentazione USB e un foro per la fotocamera che sia abbastanza grande da non ostruire la vista. Ho montato la telecamera con un angolo di circa 45° in modo che sia rivolta verso il basso per poter vedere le ruote posteriori della sedia a rotelle. Ho usato una scatola di plastica standard in cui ho praticato dei buchi, ma puoi anche stampare in 3D una versione più elaborata (forse per la versione 2)
Passaggio 9: crea il supporto del telefono
Per collegare il cellulare alla sedia a rotelle ho stampato in 3D una piastra adattatrice che si trova qui: https://www.thingiverse.com/thing:2742683 (è allegato anche il file STL). È collegato all'unità di controllo della sedia a rotelle. Su questa piastra puoi incollare qualsiasi supporto per telefono da auto, che puoi acquistare a buon mercato ovunque.
Passaggio 10: assemblare tutto e provarlo
Ora è il momento di assemblare tutto:
Fissare la scatola della telecamera da qualche parte sul retro della sedia a rotelle dove la visuale non sia ostruita e la telecamera sia puntata all'indietro. Attacca la scatola dell'alimentatore da qualche parte sul retro dove non è d'intralcio. Collega il cavo USB dal Raspberry all'alimentatore. Collegare l'alimentatore con la spina XLR alla porta di ricarica sull'unità di controllo della carrozzina. Tutto dovrebbe iniziare ora.
Installa VLC sul tuo cellulare (se non l'hai ancora fatto…) e connettiti al Raspberry tramite rtsp://:8554/unicast
Ora dovresti vedere l'immagine della fotocamera sul tuo cellulare:-)
Posizionare il supporto per cellulare sull'unità di controllo della carrozzina e fissarvi il telefono. E questo è tutto, hai finito!
Secondo Premio al Concorso Raspberry Pi 2017
Consigliato:
Sedia a rotelle controllata da joystick con rilevatore di ostacoli: 3 passaggi (con immagini)
Sedia a rotelle controllata da joystick e assistita da rilevatore di ostacoli: al fine di facilitare le persone con disabilità fisiche con una guida sicura, viene utilizzato un sensore a ultrasuoni per tracciare gli ostacoli presenti sulla strada. In base al movimento del joystick, i motori guideranno la sedia a rotelle in qualsiasi quattro direzioni e velocità su ciascuna di
D4E1 - Fai da te - Tecnologia di assistenza: vassoio per sedia a rotelle regolabile: 7 passaggi (con immagini)
D4E1 - Fai da te - Tecnologia assistiva: Vassoio per sedia a rotelle regolabile: Kjell ha una disabilità congenita: quadriparesi discinetica e non è in grado di mangiare da solo. Ha bisogno dell'aiuto di un monitor, un terapista occupazionale, che lo nutre. Questo comporta due problemi: 1) Il terapista occupazionale sta al volante
Luci per sedia a rotelle Underglow: 9 passaggi (con immagini)
Luci per sedie a rotelle Underglow: prima di tutto, ho partecipato a questo Instructable in un paio di concorsi. Apprezzerei un voto se ritieni che ne meriti uno o due. Avanti con lo spettacolo: quindi, sono seduto a una festa di Natale in famiglia e chiedo a mio nipote (che è un fan accanito della BYU) perché suo
Sedia a rotelle robotica a controllo DTMF e gestuale: 7 passaggi (con immagini)
DTMF e sedia a rotelle robotica a controllo gestuale: in questo mondo molte persone sono portatrici di handicap. La loro vita ruota intorno alle ruote. Questo progetto presenta un approccio per controllare il movimento della sedia a rotelle utilizzando il riconoscimento dei gesti delle mani e il DTMF di uno smartphone
Sedia a rotelle controllata da visione artificiale con manichino: 6 passaggi (con immagini)
Sedia a rotelle controllata da visione artificiale con manichino: progetto di AJ Sapala, Fanyun Peng, Kuldeep Gohel, Ray LC. Instructable di AJ Sapala, Fanyun Peng, Ray LC. Abbiamo creato una sedia a rotelle con ruote controllate da una scheda Arduino, a sua volta controllata da un raspberry pi che esegue openCV tramite Processing