Necesito saber cómo detectar de forma remota si un módulo de cámara de 8mp o 5mp está conectado al rpi para la implementación en un proyecto integrado.
Aproveche el controlador v4l ( modprobe bcm2835-v4l2), y use el v4l2-ctlcomando de la CLI o, si quiere ser elegante, use las bibliotecas v4l2 de 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
La pregunta real es, aparentemente, ¿cómo puedo obtener V412-ctl? Conmigo simplemente dice "no existe tal archivo o directorio". "No se puede localizar el paquete v412-ct" Sin esta información, la respuesta está incompleta.
Albert van der Horst
3
Nada de lo anterior funcionó para mí. Con Raspbian Stretch (versión de junio de 2018, Kernel 4.14), Python 3.5 y picamera 1.13 utilicé:
import picamera
with picamera.PiCamera() as cam:
print(cam.revision)
Si está satisfecho con la codificación C, eche un vistazo a las líneas relevantes en raspistill, que utiliza la nueva MMAL_PARAMETER_CAMERA_INFOpara buscar el tipo de cámara conectada.
Si no está tan contento con C, tendrá que esperar una semana más o menos mientras termino la picamera 1.11, que tendrá un nuevo PiCamera.modelparámetro que puede consultar para obtener la misma información (esto devolverá una cadena que contiene el nombre del sensor como devuelto por MMAL_PARAMETER_CAMERA_INFO).
Actualización
Como muestra claramente la respuesta de EdMc2, terminé llamando a esto en PiCamera.revisionlugar de modelo.
¡Gracias por la actualización! Esta publicación aparece primero en una búsqueda de 'picamera get model', así que estoy agradecido por las migas de pan
Mike McCabe
0
La respuesta de EdMc2 funcionó para mí, pero cam.revision solo muestra el nombre del sensor de la cámara. Así que encontré una resolución máxima como esta:
import picamera
with picamera.PiCamera() as cam:
print(cam.MAX_RESOLUTION)
Puede guardar el archivo (por ejemplo, picamera.py) y ejecutarlo así:
python3 picamera.py
Mi resultado es 2592x1944que es una cámara de 5MP.
Respuestas:
Ninguna de las anteriores.
Aproveche el controlador v4l (
modprobe bcm2835-v4l2
), y use elv4l2-ctl
comando de la CLI o, si quiere ser elegante, use las bibliotecas v4l2 de python o C:(mucho más salida)
fuente
Nada de lo anterior funcionó para mí. Con Raspbian Stretch (versión de junio de 2018, Kernel 4.14), Python 3.5 y picamera 1.13 utilicé:
fuente
Si está satisfecho con la codificación C, eche un vistazo a las líneas relevantes en raspistill, que utiliza la nueva
MMAL_PARAMETER_CAMERA_INFO
para buscar el tipo de cámara conectada.Si no está tan contento con C, tendrá que esperar una semana más o menos mientras termino la picamera 1.11, que tendrá un nuevo
PiCamera.model
parámetro que puede consultar para obtener la misma información (esto devolverá una cadena que contiene el nombre del sensor como devuelto porMMAL_PARAMETER_CAMERA_INFO
).Actualización Como muestra claramente la respuesta de EdMc2, terminé llamando a esto en
PiCamera.revision
lugar de modelo.fuente
La respuesta de EdMc2 funcionó para mí, pero cam.revision solo muestra el nombre del sensor de la cámara. Así que encontré una resolución máxima como esta:
Puede guardar el archivo (por ejemplo, picamera.py) y ejecutarlo así:
Mi resultado es
2592x1944
que es una cámara de 5MP.fuente