Preciso saber como detectar remotamente se um módulo de câmera de 8mp ou 5mp está conectado ao rpi para implementação em um projeto incorporado.
Qualquer ajuda?
Preciso saber como detectar remotamente se um módulo de câmera de 8mp ou 5mp está conectado ao rpi para implementação em um projeto incorporado.
Qualquer ajuda?
Respostas:
Nenhuma das acima.
Aproveite o driver v4l ( modprobe bcm2835-v4l2
) e use o v4l2-ctl
comando da CLI ou, se desejar, use as bibliotecas v4l2 de python ou C:
# v4l2-ctl --list-formats
ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: 'YU12'
Name : Planar YUV 4:2:0
(muito mais saída)
# v4l2-ctl --list-framesizes=YU12
ioctl: VIDIOC_ENUM_FRAMESIZES
Size: Stepwise 16x16 - 2592x1944 with step 2/2
Se você gosta da codificação C, dê uma olhada nas linhas relevantes em raspistill que usam a nova MMAL_PARAMETER_CAMERA_INFO
para pesquisar o tipo de câmera conectada.
Se você não estiver tão satisfeito com C, precisará esperar uma semana ou mais, enquanto eu termino a picamera 1.11, que terá um novo PiCamera.model
parâmetro que você pode consultar pelas mesmas informações (isso retornará uma string contendo o nome do sensor como retornado por MMAL_PARAMETER_CAMERA_INFO
).
Atualizar
Como mostra a resposta do EdMc2, acabei chamando isso PiCamera.revision
de modelo!
A resposta de EdMc2 funcionou para mim - mas cam.revision apenas exibe o nome do sensor da câmera. Então eu encontrei a resolução máxima como esta:
import picamera
with picamera.PiCamera() as cam:
print(cam.MAX_RESOLUTION)
Você pode salvar o arquivo (por exemplo, picamera.py) e executá-lo assim:
python3 picamera.py
Meu resultado é 2592x1944
qual é a câmera de 5MP.