Arama butonu
Bu konudaki kullanıcılar: 1 misafir
5
Cevap
1584
Tıklama
0
Öne Çıkarma
C# Usb Aygıt - Kamera'nın Butonuna Basıldığında Olayı
-
12 yıl
Çavuş
Konu Sahibi

C# bir projede ağız içi Kamera ile entegrasyon yapmam gerekiyor. Kameradan görüntü almak ve işlemek konusunda sıkıntı yok. Fakat gel gelelim kameranın üstündeki görüntü almayı saplayan snap tuşu hiç bir evente düşmüyor. Cihaz usb p&p çalışıyor. Usb sniffer ile gelen verileri izlediğimde aşağıdaki resimdeki gibi 4byte lık bi data geliyor. Usb portundan bulk data okumayı araştırdım ama kaynaklar çok kıt. c# serialport olaylarını inceledim. Portları listelettiğimde bir port dönüyor(COM3) onunda benimle bir alakası yok. c#ta bütün eventları yakalamak için WndProc kullandım, detaylıca uğraştım. Ben tuşa bastığımda bir hareket yok, hiç bir şekilde düşmüyor. Ne yapıcam bu tuşu nasıl yakalayacam mantıklı bir yöntem tavsiye edebilirseniz memnun olurum. Usb'den gelen veriyi okusam yine halletcem ama oda sıkıntılı başka kamera olduğunda onuda manuel kontol etmem gerekcek, ektra kod güncellemesi falan. Halletcem dediysem veri okumayla ilgilide pek yol katedemedim. libusbdotnet kullandım. libusb driver kullanmadan device'ı görmüyor falan. Sıkıntılı müşteriye kurulumu entegrasyonu çetrefilli olacak.

Not: Tuş çalışmıyor mu diye düşünmeyin. Amcap programında bastığımda görüntü yakalıyor. Amcap'in source code'unu buldum. C++'mış oda. Artık olmadı çalıştıramasamda onun source code'unu inceleyeceğim.

Yardımlarınızı bekliyorum.

https://store.donanimhaber.com/fd/3f/05/fd3f05dafde6dc3b0664443abd502398.PNG
< Resime gitmek için tıklayın >



-
12 yıl
Çavuş
Konu Sahibi

E
12 yıl
Teğmen

(Tamamen Sallama Kaynaklı Konuşuyorum)

Belki Olaya Başka Bir Yönden Bakmalısın.

Şimdi İlk Dediğin Şey, Kamera Plug&Play.. Kendi Sürücüsünü, Yazılımını Kurmadın. Buda Demek Oluyor Ki; O Kameranın Üzerindeki Snap Tuşu Aslında Sisteme Bir Mesaj Gönderip, Kameradan O Anlık Görüntünün Alınmasını Sağlıyor.

Yani Demek İstediğim Şey, (Tam Olarak Olmasada, Örnek Verme Adına) MultiMedia Tuşlu Klavyeler Vardır.. Örneğin Logitech MK700.

Bu Klavyenin Üzerinde Bir Sürü Tuş Var. Ve Sen SetPoint'i Kurmadan (Ses +,-, Kapama Play, Prev, Next Gibi MultiMedia Tuşlarını Kullanabiliyorsun)
Ama FN Kombinasyonlarını SeTPoint'i Kurmadan Kullanamıyorsun. Yani MultiMedia Tuşlarıda Zaten Windows'un İçinde Bir Şekilde Tanımlılar.. Sisteme Bir Mesaj Gönderip, Ses İle İlgili İşlemler Yaptırabiliyorlar.

Acaba Senin WebCam Snap Tuşunu Böyle Yakalaman Mümkün Olabilir Mi? (Böyle Derken, Git KeyStroke'ları Oku Demiyorum Tabii Ki :) )


Bu mesaja 1 cevap geldi.
S
12 yıl
Çavuş

İstediğin şey sandığından çok daha complex çözüm ister. Eğer bir cihazla ne şekilde olursa olsun haberleşmek istiyorsan mutlaka çekirdekde haberleştiğin bir sürücü olmalı. Senin uygulaman sürücü ile haberleşecek, sürücü cihazdan gelen verileri okuyacak ve uygulamana bildirecek. Bunun için hazır kütüphaneler oluyor. USB konusunda çok da sıkıntı yaşayacağını zannetmiyorum.

Aşağıdaki örneğe bak:

http://code.msdn.microsoft.com/windowsapps/Custom-USB-device-access-ba5137cc

işini görecektir.



-
12 yıl
Çavuş
Konu Sahibi

Cevaplarınız için teşekkür ederim. Örnek visual studio 2013 gerektiriyormuş bir yılla kaçırdım bende 2012 vardı. 2013'e güncelleyip örneği test edeceğim.

Ecivas mantıklı düşünmüşsün fakat driver'a bağımlı kalmadan bu işi halletmek istiyorum. Müşteriden aldığım ağız içi kamera'nın driverı yok mesela. Varsa da bulamadılar. O olmadan da bu işi halledebilirim diye düşünüyorum. Sawer'ın önerdiği örnek aradığım şey sanırım, bir test edeyim istediğimi karşılıyor mu buraya da yazarım.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @sawer , @ecivas
-
12 yıl
Çavuş
Konu Sahibi

Çözümü buldum arkadaşlar. AForge.NET diye bir kütüphane var, onun bir örneğinde rastladım.

Örneği bu linkten inceleyebilirsiniz. ("Snapshot Maker" Olan)
http://www.aforgenet.com/framework/samples/video.html

Örneğin Kaynak Kodu İçin :
http://aforge.googlecode.com/svn/trunk/Samples/Video/Snapshot Maker

sawer'ın verdiği örneği inceleyemedim, visual studio 2013 gerekiyordu. İndirmeye çalıştım fakat yeni çıktığı için, serverlar kasılmış durumda 20kb ile indiriyor. Baya bi sürer o artık. :)

Nasıl yapıldığını anlamak için müsait bir zamanımda AForge.NET kütüphanesinin kaynak kodunu inceleyeceğim. Kısa bir çözümü varsa sizlerle yine payaşırım. Arayan arkadaşların bulabilmesi için.

Kütüphane kaynak kodu için link :
http://aforge.googlecode.com/svn/trunk/Sources

Not: Kaynak kodlarını indirmek için svn kullanmalısınız. TortoiseSVN uygulaması ücretsiz kullanabilirsiniz.

Teşekkürler.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.