Gibt es einen Terminalbefehl oder eine andere Möglichkeit, eine Raspberry Pi-Kamera vollständig auszuschalten?

Gibt es einen Terminalbefehl oder eine andere Möglichkeit, eine Raspberry Pi-Kamera vollständig auszuschalten?

Ich habe eine Raspberry Pi-Kamera und benutze meinen Raspberry Pi häufig, aber die Kamera neigt dazu, zu überhitzen. Gibt es einen Terminalbefehl, um die Kamera auszuschalten und sie bei Bedarf wieder einzuschalten?

Die Ansteuerung erfolgt nicht über USB, sondern über den CSI-Kameraanschluss.

Antwort1

Der RPI hat keinen PCI-Bus, daher können wir den Standard-Linux-Befehl nicht verwenden, um die integrierte Kamera auszuschalten. Nur der Vollständigkeit halber zeige ich Ihnen, wie Sie beides tun können, in einem RPI und in einem normalen PC.

RPI

Die RPI-Kamera kann beim Booten ausgeschaltet werden. Es gibt eine Datei, /boot/config.txtin der Sie diese Einstellung benötigen:

start_x=0             

während die Einstellung start_x=1es einschaltet.

Wenn Sie dies unterwegs tun möchten, können Sie Folgendes an einer Python-Eingabeaufforderung versuchen (ich habe keins, auf dem ich es versuchen könnte):

 import picamera
 from time import sleep
 sleep(500)

und sehen Sie, ob dies tatsächlich Ihr Überhitzungsproblem löst. Natürlich müssen Sie installiert haben

  sudo apt-get install python-picamera

PC mit PCI-Bus

Der Befehl lautet

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

auszuschalten und natürlich echo 1 > ...wieder einzuschalten. Das einzige Problem ist, dass die Busadresse 1-1.3korrekt ist fürMeinpc. Sie finden Ihre Adresse, indem Sie sich die Ausgabe von ansehen

 # 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  

Sie sehen in dieser Ausgabe ein Class=VideoObjekt, das sich bei Bus 1, dev 3 befindet. Jetzt können Sie zu

 # 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

Das einzige 1-3 Gerät ist 1-1.3. Sie gehen in das Verzeichnis und überprüfen noch einmal, ob dies Ihre Videokamera ist, indem Sie

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

die Sie vergleichen können mit der Ausgabe von

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

Eine Google-Suche zeigt, dass es sich bei 1bcf tatsächlich um eine Videokamera handelt. 1-1.3ist der Code, der in den obigen Befehl eingefügt werden muss.

verwandte Informationen