Existe um comando de terminal ou outra maneira de desligar adequadamente uma câmera Raspberry Pi?

2

Eu tenho uma câmera Raspberry Pi e uso muito o meu Raspberry Pi, mas a câmera tem uma tendência a superaquecer. Existe um comando de terminal para desligar a câmera e ligá-la quando eu precisar dela?

Não é controlado via USB, mas o conector da câmera CSI.

    
por Jacob 05.12.2015 / 23:13

1 resposta

3

O RPI não possui um barramento PCI, portanto não podemos usar o comando padrão do Linux para desligar a câmera onboard. Apenas por uma questão de completude, vou mostrar como fazer as duas coisas, em um RPI e em um pc normal.

RPI

A câmera RPI pode ser desligada durante a inicialização. Há um arquivo, /boot/config.txt , onde você precisará desta configuração:

start_x=0             

enquanto a configuração start_x=1 é ativada.

Se você quiser fazer isso em execução, você pode tentar (eu não tenho um para experimentar isso) o seguinte em um prompt pyhton:

 import picamera
 from time import sleep
 sleep(500)

e veja se isso realmente resolve seu problema de superaquecimento. Claro, você precisará ter instalado

  sudo apt-get install python-picamera

Pc com barramento PCI

O comando é

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

para desativá-lo e, é claro, echo 1 > ... para ativá-lo novamente. O único problema é que o endereço do barramento 1-1.3 está correto para o meu pc. Você encontra seu endereço olhando para a saída 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  

Você vê nesta saída um objeto Class=Video , localizado no Bus 1, dev 3. Agora você pode ir para

 # 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

O único dispositivo de 1 a 3 é 1-1.3 . Você entra no diretório e verifica que esta é sua câmera de vídeo

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

que você pode comparar com a saída de

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

Uma pesquisa no Google mostra que o 1bcf é de fato uma VideoCam. 1-1.3 é o código a ser inserido no comando acima.

    
por 05.12.2015 / 23:31