Muszę wiedzieć, jak zdalnie wykryć, czy moduł kamery 8mp czy 5mp jest podłączony do rpi w celu implementacji w osadzonym projekcie.
Jakaś pomoc?
Muszę wiedzieć, jak zdalnie wykryć, czy moduł kamery 8mp czy 5mp jest podłączony do rpi w celu implementacji w osadzonym projekcie.
Jakaś pomoc?
Odpowiedzi:
Żadne z powyższych.
Skorzystaj ze sterownika v4l ( modprobe bcm2835-v4l2
) i albo użyj v4l2-ctl
polecenia z interfejsu CLI, albo, jeśli chcesz się podoba, skorzystaj z bibliotek v4l2 z Pythona lub C:
# v4l2-ctl --list-formats
ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: 'YU12'
Name : Planar YUV 4:2:0
(znacznie więcej wyników)
# v4l2-ctl --list-framesizes=YU12
ioctl: VIDIOC_ENUM_FRAMESIZES
Size: Stepwise 16x16 - 2592x1944 with step 2/2
Jeśli lubisz kodować C, spójrz na odpowiednie linie w raspistill, który używa nowego MMAL_PARAMETER_CAMERA_INFO
do wyszukiwania typu dołączonej kamery.
Jeśli nie jesteś tak zadowolony z C, musisz poczekać tydzień, aż skończę Picamera 1.11, która będzie miała nowy PiCamera.model
parametr, możesz zapytać o te same informacje (to zwróci ciąg zawierający nazwę czujnika jako zwrócone przez MMAL_PARAMETER_CAMERA_INFO
).
Aktualizacja
Jak dobrze pokazuje odpowiedź EdMc2, skończyło się na tym, że nazywam to, PiCamera.revision
a nie model!
Odpowiedź EdMc2 zadziałała dla mnie - ale wersja cam.revision wyświetla tylko nazwę czujnika kamery. Znalazłem więc maksymalną rozdzielczość taką:
import picamera
with picamera.PiCamera() as cam:
print(cam.MAX_RESOLUTION)
Możesz zapisać plik (na przykład picamera.py) i wykonać go w następujący sposób:
python3 picamera.py
Mój wynik to 2592x1944
aparat 5MP.