Devo sapere come rilevare in remoto se un modulo telecamera da 8mp o 5mp è collegato all'RPI per l'implementazione in un progetto incorporato.
Qualsiasi aiuto?
Devo sapere come rilevare in remoto se un modulo telecamera da 8mp o 5mp è collegato all'RPI per l'implementazione in un progetto incorporato.
Qualsiasi aiuto?
Risposte:
Nessuno dei precedenti.
Sfrutta il driver v4l ( modprobe bcm2835-v4l2
) e usa il v4l2-ctl
comando dalla CLI oppure, se vuoi essere sofisticato, usa le librerie v4l2 di Python o C:
# v4l2-ctl --list-formats
ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: 'YU12'
Name : Planar YUV 4:2:0
(molto più output)
# v4l2-ctl --list-framesizes=YU12
ioctl: VIDIOC_ENUM_FRAMESIZES
Size: Stepwise 16x16 - 2592x1944 with step 2/2
Se sei soddisfatto della codifica C, dai un'occhiata alle linee pertinenti in raspistill che utilizza il nuovo MMAL_PARAMETER_CAMERA_INFO
per cercare il tipo di telecamera collegata.
Se non sei così soddisfatto di C, dovrai aspettare circa una settimana mentre finisco picamera 1.11 che avrà un nuovo PiCamera.model
parametro che puoi interrogare per le stesse informazioni (questo restituirà una stringa contenente il nome del sensore come restituito da MMAL_PARAMETER_CAMERA_INFO
).
Aggiornamento
Come mostra chiaramente la risposta di EdMc2, ho finito per chiamare questo PiCamera.revision
piuttosto che il modello!
La risposta di EdMc2 ha funzionato per me, ma cam.revision mostra solo il nome del sensore della fotocamera. Quindi ho trovato la massima risoluzione in questo modo:
import picamera
with picamera.PiCamera() as cam:
print(cam.MAX_RESOLUTION)
Puoi salvare il file (ad esempio picamera.py) ed eseguirlo in questo modo:
python3 picamera.py
Il mio risultato è 2592x1944
che è una fotocamera da 5 MP.