¿Existe un comando de terminal u otra forma de apagar completamente una cámara Raspberry Pi?

¿Existe un comando de terminal u otra forma de apagar completamente una cámara Raspberry Pi?

Tengo una cámara Raspberry Pi y la uso mucho, pero la cámara tiende a sobrecalentarse. ¿Existe un comando de terminal para apagar la cámara y volver a encenderla cuando la necesite?

No se controla mediante USB, sino mediante el conector de cámara CSI.

Respuesta1

El RPI no tiene bus PCI, por lo que no podemos usar el comando estándar de Linux para apagar la cámara integrada. Sólo para completar, le mostraré cómo hacer ambas cosas, en un RPI y en una PC normal.

RPI

La cámara RPI se puede apagar durante el arranque. Hay un archivo /boot/config.txtdonde necesitará esta configuración:

start_x=0             

mientras la configuración start_x=1lo enciende.

Si desea hacer esto sobre la marcha, puede intentar (no tengo uno para probarlo) lo siguiente en un mensaje de Python:

 import picamera
 from time import sleep
 sleep(500)

y vea si esto realmente resuelve su problema de sobrecalentamiento. Por supuesto, necesitarás tener instalado

  sudo apt-get install python-picamera

PC con bus PCI

El comando es

 echo 0 > /sys/bus/usb/devices/1-1.3/bConfigurationValue

para apagarlo y por supuesto echo 1 > ...volver a encenderlo. El único problema es que la dirección del autobús 1-1.3es correcta paramiordenador personal. Encontrará su dirección mirando el resultado de

 # lsusb -t 
  ...............
  :  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M                                                                                                                                                                                                             
     |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M                                                                                                                                                                                                                    
     |__ Port 2: Dev 4, If 0, Class=Wireless, Driver=btusb, 12M                                                                                                                                                                                                             
     |__ Port 2: Dev 4, If 1, Class=Wireless, Driver=btusb, 12M                                                                                                                                                                                                             
     |__ Port 3: Dev 3, If 0, Class=Video, Driver=uvcvideo, 480M                                                                                                                                                                                                            
     |__ Port 3: Dev 3, If 1, Class=Video, Driver=uvcvideo, 480M  

En esta salida verá un Class=Videoobjeto, ubicado en el Bus 1, dev 3. Ahora puede ir a

 # cd /sys/bus/usb/devices/; ls 
 1-0:1.0  1-1.2      1-1.3      2-0:1.0  2-1.5      2-1.6:1.0   2-1.6:1.2  2-1.6:1.5  2-1.6:1.8  3-2      3-3:1.0  4-0:1.0  usb3

El único dispositivo 1-3 es 1-1.3. Entras en el directorio y compruebas que esta es tu cámara de vídeo

# cat id{Vendor,Product}
   1bcf
   288e

que puedes comparar con la salida de

 # lsusb 
  ................
  Bus 001 Device 003: ID 1bcf:288e Sunplus Innovation Technology Inc. 

Una búsqueda en Google muestra que 1bcf es efectivamente una VideoCam. 1-1.3es el código para insertar en el comando anterior.

información relacionada