Takılı kamera türünü nasıl tespit edebilirim?


12

Bir 8mp veya 5mp kamera modülünün gömülü bir projede uygulanması için rpi'ye bağlı olup olmadığını uzaktan nasıl algılayacağımı bilmem gerekir.

Herhangi bir yardım?


Neden kamera özelliklerine çevrimiçi bakmıyorsunuz?
Darth Vader

Cihazın kendisi erişilemez ve bu yüzden kameranın modelini ssh olsa tanımlamam gerekiyor.
Boris Spektor

2
Bir resim çekin ve çözünürlüğe / boyuta bakın? Önemli ölçüde farklı olmalı.
Ghanima

Görüntünün boyutlarını görmek için bir cli komutu var mı? Eğer öyleyse, raspistill'in çıktısını bu bilgi komutuna bağlayabilirim.
Boris Spektor

Yanıtlar:


8

Yukarıdakilerin hiçbiri.

V4l sürücüsünden ( modprobe bcm2835-v4l2) v4l2-ctlyararlanın ve CLI'den komutu kullanın veya süslü olmak istiyorsanız, python veya C'den v4l2 kitaplıklarını kullanın:

# v4l2-ctl --list-formats
ioctl: VIDIOC_ENUM_FMT
        Index       : 0
        Type        : Video Capture
        Pixel Format: 'YU12'
        Name        : Planar YUV 4:2:0

(çok daha fazla çıktı)

# v4l2-ctl --list-framesizes=YU12
ioctl: VIDIOC_ENUM_FRAMESIZES
        Size: Stepwise 16x16 - 2592x1944 with step 2/2

Asıl soru şu ki görünüşe göre V412-ctl'yi nasıl alabilirim? Benimle sadece "böyle bir dosya veya dizin yok" diyor. "V412-ct paketi bulunamadı" Bu bilgi olmadan cevap eksiktir.
Albert van der Horst

3

Yukarıdakilerin hiçbiri benim için çalışmadı. Raspbian Stretch (Haziran 2018 Sürümü, Çekirdek 4.14), Python 3.5 ve picamera 1.13 ile kullandım:

import picamera

with picamera.PiCamera() as cam:
    print(cam.revision)

2

C kodunu mutlu ediyorsanız, MMAL_PARAMETER_CAMERA_INFOeklenen kamera türünü aramak için yenisini kullanan raspistill'deki ilgili satırlara bir göz atın .

C'den memnun değilseniz PiCamera.model, aynı bilgileri sorgulayabileceğiniz yeni bir parametreye sahip olan picamera 1.11'i bitirirken bir hafta kadar beklemeniz gerekir (bu, sensör adını içeren bir dize döndürür tarafından döndürüldü MMAL_PARAMETER_CAMERA_INFO).

Güncelleme EdMc2'nin cevabının düzgün bir şekilde gösterdiği gibi, bunu PiCamera.revisionmodel yerine arayarak yaraladım !


Güncelleme için teşekkürler! Bu gönderi 'picamera get model' aramasında ilk olarak ortaya çıkıyor, bu yüzden ekmek kırıntıları için minnettarım
Mike McCabe

0

EdMc2'nin yanıtı benim için çalıştı - ancak cam.revision sadece kamera sensörü adını gösteriyor. Bu şekilde maksimum çözünürlük buldum:

import picamera

with picamera.PiCamera() as cam:
    print(cam.MAX_RESOLUTION)

Dosyayı kaydedebilir (örneğin, picamera.py) ve şu şekilde çalıştırabilirsiniz:

python3 picamera.py

Benim 2592x1944sonucum 5MP kamera.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.