Domanda:
La webcam si disconnette dopo alcune ore di movimento
Weston Ruter
2013-02-16 01:55:55 UTC
view on stackexchange narkive permalink

Sto lavorando per installare una webcam Raspberry Pi, grazie a un post su PingBin. Tuttavia, non riesco a superare un problema in cui la fotocamera si perde dopo alcune ore di acquisizione di istantanee.

Ho preso in mano la Microsoft LifeCam Cinema 720p HD Webcam menzionata nel post e collegato a un hub plugable ad alta velocità a 7 porte. Ho anche collegato doppiamente un Raspberry Pi Model B all'hub, sia per l'alimentazione che per i dati. Infine ho collegato l'adattatore WiFi USB Wi-Pi all'hub e l'ho configurato per la mia rete. Ecco una foto della mia configurazione hardware:

Hardware setup

Per quanto riguarda la configurazione del software, sto eseguendo un'immagine Raspbian "wheezy" del 16/12/2012. Ho reso disponibile il mio motion.conf. Ho configurato motion come demone per scattare un'istantanea ogni 10 secondi. Ho un cronjob che carica l'ultima istantanea su un server web per la visualizzazione.

Tutto funziona alla grande per alcune ore (il tempo di esecuzione più lungo è stato di circa mezza giornata), ma poi la fotocamera diventerà perso, come si può vedere guardando /var/log/syslog:

  10:46:25 motion: [1] v4l2_next: VIDIOC_QBUF: No such device10 : 46: 25 movimento: [1] Errore irreversibile del dispositivo video - Chiusura del dispositivo video10: 46: 25 movimento: [1] Chiusura del dispositivo video / dev / video010: 46: 30 movimento: [1] Nuovo tentativo fino alla connessione riuscita con la videocamera10: 46 : 30 movimento: [1] Impossibile aprire il dispositivo video / dev / video0: nessun file o directory  

Se poi guardo l'output di lsusb , Non vedo nemmeno più la fotocamera elencata come uno dei dispositivi collegati (lo stesso vale per ls / dev / bus / usb / 001 / ):

  Bus 001 Dispositivo 001: ID 1d6b: 0002 Hub principale Linux Foundation 2.0 Bus 001 Dispositivo 016: ID 0424: 9512 Standard Microsystems Corp. Bus 001 Dispositivo 017: ID 0424: ec00 Standard Mic Rosystems Corp. Bus 001 Device 018: ID 1a40: 0201 Terminus Technology Inc. FE 2.1 HubBus a 7 porte 001 Device 019: ID 148f: 5370 Ralink Technology, Corp. RT5370 Wireless Adapter  

Ho provato tutto quello che mi viene in mente, incluso un cronjob di root che interrompe il movimento una volta ogni ora per alcuni secondi per dare una "pausa" alla fotocamera:

  sudo service motion stopsleep 5sudo service motion start  

Questo non ha avuto alcun effetto evidente. Ho anche provato a ricercare come disattivare programmaticamente la porta USB del dispositivo per spegnere e riaccendere la fotocamera, ma sembra che ciò non sia possibile (oltre al fatto che sarebbe un misero hack). La fotocamera non fornisce un'interfaccia power / level ma solo power / persist , quindi ho anche provato ad attivarla senza alcun risultato:

  echo 0 | sudo tee /sys/bus/usb/devices/usb1/1-1/1-1.3/1-1.3.2/power/persist

L'unico modo in cui sono stato in grado di ottenere movimento per continuare a scattare istantanee significa scollegare fisicamente la webcam dall'hub, quindi ricollegarla e riavviare il demone.

Qualsiasi idea su come impedire alla videocamera di funzionare disconnesso? Sembra che la fotocamera si spenga da sola dopo un certo periodo di tempo dopo essere stata collegata all'alimentazione.

Aggiornamento: ho abbandonato questa fotocamera USB e ora sto utilizzando il modulo fotocamera Pi con grande successo.

Prenderò una delle schede della fotocamera Raspberry Pi che uscirà il mese prossimo. Non appena lo ricevo, proverò il movimento con la scheda della fotocamera e vedrò se questo risolve il problema.
Ho il problema simile. Ho due cam, una è UVC 1.3M HD Cam da un laptop, l'altra è la web cam Logitech C120. quando uso "service motion restart", funziona per circa 4 minuti per la prima cam e 6 minuti per quella Logitech. Quindi nessuna foto più e il demone di movimento scompare. Ho monitorato che la CPU è di circa il 30-98% e l'utilizzo della memoria è di circa il 6%. La differenza è che il mio / dev / video0 e / dev / video1 sono ancora lì poiché ho un hub USB alimentato ma questo hub non restituisce la tensione a pi (scollego la linea di posizione a pi). Ho controllato / var / log / messages. Dice: Chiusura del video d
La webcam fornisce formati video grezzi o compressi? Immagino che il problema sia con l'encoder H.262 interno della webcam o con l'hub USB che stai utilizzando.
Ho abbandonato questa fotocamera USB e ora sto usando il modulo fotocamera Pi con grande successo.
Sto riscontrando problemi simili, eseguendo 2 - Modello B di Raspberry Pi, uno ha un adattatore wifi collegato a una porta e una cam logictech collegata all'altra. L'altro Raspberry Pi ha un modem Zoom collegato a una porta e una cam logictech collegata all'altra. Entrambi presentano gli stessi problemi. Entrambi i Pi funzioneranno bene ma dopo aver eseguito la modalità motion -n (non Daemon) e arrestato Motion, le porte USB diventano parzialmente attive o completamente inattive. Ho stancato queste configurazioni collegandomi direttamente a entrambe le porte USB e utilizzando anche un hub alimentato tramite USB consigliato da RaspberryPI.org. Mi sento lì
Vecchia domanda, ma nel caso qualcuno venga a cercare: stesso problema con questa fotocamera su Windows. Ho provato a disabilitare il risparmio energetico USB senza successo. Sembra che la fotocamera si spenga semplicemente dopo alcuni giorni. L'ho impostato per le immagini timelapse e andava offline ogni 2-3 giorni circa. Anche la luce blu era un problema. Risultato di una corsa di prova: https://www.youtube.com/watch?v=Zgm7FOpkwt8
Cinque risposte:
#1
+3
iTom
2013-02-16 02:59:15 UTC
view on stackexchange narkive permalink

Sfortunatamente non esiste una risposta facile per farlo funzionare subito, tuttavia qui ci sono alcune cose che proverei nel tuo caso;

Prima di tutto proverei ad abbassare la risoluzione a qualcosa come 320x240 e vedi se è più stabile, fondamentalmente dovrebbe abbassare il carico sul Pi.

Potresti effettivamente fare un ulteriore passo avanti e cambiare "webcam_port" a zero per uno dei tuoi test, che disabiliterà il web server ma mantieni in esecuzione la funzionalità snapshot, non otterrai un carico molto inferiore rispetto a questa configurazione.

Quindi prendi un multimetro (se ne hai uno), controlla l'uscita di alimentazione USB prima di collegare il web cam, poi una volta inserita e infine una volta fallita. Ho sentito parlare di alcuni hub USB alimentati là fuori che in realtà non iniettano abbastanza energia, soprattutto se ci sono alcuni dispositivi che lo utilizzano.

Infine vorrei anche provare una connessione di rete cablata per un mentre invece del WiFi, ancora una volta solo per escluderlo.

Spero che alcuni di loro potrebbero aiutarti a fissarlo :)

Grazie per i suggerimenti, Tom. Ho impostato `webcam_port` a zero e ridotto la risoluzione. Dovrei notare che avevo anche provato a `sudo shutdown -r now` quando è successo` on_camera_lost`. Ma quando il Pi si riavvierebbe, la telecamera andrebbe comunque persa e `/ dev / video0` sarebbe inesistente. Questo non indica qualche problema con la fotocamera e non con il Pi stesso?
Sì, suona più come un problema di alimentazione o un problema con la fotocamera, non sono sicuro se il Pi disalimenta l'USB su un riavvio pulito come sopra. Potresti anche provare a utilizzare la fotocamera in un altro dispositivo come il tuo laptop / desktop per vedere se funziona per lunghi periodi di tempo.
Questo accade anche alla mia fotocamera USB dopo circa 30 minuti.
#2
+3
Respectech
2013-03-27 08:47:28 UTC
view on stackexchange narkive permalink

Non hai specificato quale sistema operativo stai eseguendo sul tuo Pi.

Ho scherzato con il movimento (il programma di acquisizione della fotocamera) sul Raspberry Pi con Arch Linux. Ho diversi Pi, diverse webcam, diversi alimentatori, diverse schede SD ... e una cosa rimane la stessa. Tutti si bloccheranno completamente (poiché non è possibile nemmeno eseguire il ping del Pi e il display video è nero) dopo 1-3 giorni di esecuzione. Se rimuovo il movimento dal setup, il Pis funzionerà a tempo indefinito (attualmente, devo fare Pis che corre senza movimento per due settimane e lo sto contando).

La mia esperienza mi porta a pensare che il movimento sia difettoso, almeno la versione ARM di Arch Linux. Sto cercando di rintracciare la radice di questo problema da febbraio.

Grazie per aver sottolineato che ho dimenticato di menzionare il sistema operativo su cui sto. Ho appena aggiornato la domanda per notare che sto usando wheezy.
#3
+1
Respectech
2013-03-28 05:17:12 UTC
view on stackexchange narkive permalink

Gestisco una società di supporto tecnico a tempo pieno da 12 anni. Ecco i passaggi che utilizzerei per isolare ulteriormente e risolvere il problema:

1) Prova una fotocamera diversa sul Pi. Inoltre perde la connessione dopo un certo periodo di tempo?

2) Prova la fotocamera originale su Windows, Mac o Linux. Rimane attivo per un lungo periodo di tempo?

Risultati (problema molto probabile):

1 = sì, 2 = sì - USB difettoso sul Pi. Potrebbe essere una scheda Pi difettosa. USB ed Ethernet funzionano entrambi sullo stesso bus, quindi potrebbe dirti qualcosa se l'USB smette di funzionare e l'Ethernet continua a funzionare, o entrambi smettono di funzionare. Testare ulteriormente richiederebbe probabilmente un altro Pi.

1 = no, 2 = no - Il problema è la fotocamera originale.

1 = sì, 2 = no - Potresti averne due cattive fotocamere.

1 = no, 2 = sì - Molto probabilmente un'incompatibilità tra la fotocamera originale e il Pi, o qualche strano problema di alimentazione sul Pi.

#4
+1
Dan
2013-03-29 14:41:45 UTC
view on stackexchange narkive permalink

Un altro possibile "brutto trucco" sarebbe quello di utilizzare i pin GPIO per alimentare un relè che verrebbe collegato al cavo USB della fotocamera. Puoi quindi usarlo per attivare e disattivare la linea di alimentazione della fotocamera.

#5
  0
kiranopatil
2013-04-22 16:25:32 UTC
view on stackexchange narkive permalink

Prova questo sul file motion.conf, funziona perfettamente per me ...

  ################### START # ###################### daemon = onnorm = 3input = 8auto_brightness = onframerate = 300height = 240width = 320jpeg_filename = motion /% Y% m% d /% v- % H% M% S-% qnoise_tune = onoutput_all = offoutput_motion = onoutput_normal = onquality = 1000snapshot_interval = 500text_left = (c) Kirantext_right =% d% b% Y \ n% k:% M:% Sthreshold = 500v4l2_palette = 6videodevice = / devodevice / video0webcam_localhost = offwebcam_maxrate = 50webcam_port = 8080wecam_quality = 100 ######################## END ############# ########  
Per creare la formattazione del codice, inserisci `backquotes` attorno al tuo codice. In questo modo `


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...