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-ctlcomando 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_INFOper 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.modelparametro 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.revisionpiuttosto 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 è 2592x1944che è una fotocamera da 5 MP.