- kullanma Olay algıla.
- Linux'ta Bluez'i Bluetooth Kitaplığımız olarak kullanıyoruz.
- Amacımız, bu olay tetiklendiğinde harici bir komut dosyası çalıştırmaktır.
- Özellikle, biz de bunun üzerine bir düğme ile, Motorola H730 kulaklık var ve biz bu düğmeye basın algılamak için arıyoruz.
- Biz bluetooth cihazı (hcitool) eşleştirilmiş ve biz buna (bluez-testi-ses) bağlanabilir, ancak C/C++ için bu yaklaşımı taşımak ilginizi olacaktır.
cihaz bağlanmıştır ve düğmeye basıldığında hcidump çıktısı:Bluetooth: Biz C/C++ bir olay algılamaya çalışıyoruz BlueZ
HCl algılayıcı - 2.2
0xffffffff
cihaz ver Bluetooth paket analiz: hci0 snap_len: 1028 filtresi:HCl Etkinlik: 17dlen işlemek 21 bayraklar 0x02: Aktif
ACL veriler: mod değiştirme (0x14) plen 6
durum 21 mod 0x00 aralığı 0
mod işlemek 0x L2CAP (d): cid 0x0041 len 13 [PSM 0]
< ACL veriler: 14
L2CAP (d) dlen 21 bayrak 0x00 kolu: cid 0x0047 len 10 [PSM 0]
< ACL veriler: 21 ele cid 0x0047 len 18 [PSM 0]
< ACL veriler: 22
L2CAP (d) dlen 21 bayrak 0x00 kolu: cid 0x0047 len 18 [PSM 0]
HCl Olay 22
L2CAP (d) dlen bayrakları 0x00 : 5
sap plen Tamamlanan paketler (0x13) sayısı 21 paket 1
ACL veriler: 18
L2CAP (d) dlen 21 bayrak 0x02 kolu: cid 0x0041 len 14 [PSM 0]
< ACL veriler: 14
L2CAP (d) dlen 21 bayrak 0x00 kolu: cid 0x0047 len 10 [PSM Tamamlanan sayısı: 0]
HCl Olay: Tamamlanmış paket sayısı (0x13) plen 5
kolu 21 paket 1
HCl Etkinlik: Tamamlanmış paketler (0x13) plen 5
kolu 21 paket 1
HCl olay sayısı paketler (0x13) plen 5
kolu 21 paket 1
HCI Olay: Mod değiştirme (0x14) plen 6
durum 21 mod 0x02 aralığını 2048
Modu işlemek 0x00: Biz bluetooth belgeleri için baktım ve çok başarı olmadı- koklayın.
Bluez'i kullanarak C/C++ içindeki bir bluetooth etkinliğini nasıl algılayabiliriz? Toplanan olarak
7
A
cevap
0
hcidump aygıt, ana ve kontrol ünitesi arasında kayıtları. Olaylar, denetleyicinin aygıt ana bilgisayarına gönderdiği ve komutların aygıt ana bilgisayarına gönderdiği istek/yanıtlardır.
Bluez programlama kılavuzu: http://people.csail.mit.edu/albert/bluez-intro/
1
Ben benzer geçen yıl bir şey yaptı. Yerleştirdiğim yaklaşım, d45 üzerinden bluez ile iletişim kurmak için C++ proxy nesneleri/sınıfları oluşturmak için libdbus-c++ kullanıyordu.
- Kulaklığınızın uyguladığı bluetooth arabirimlerini belirleyin. d-feet'u kullandım ve bağlantı kurulduğunda cihazı keşfettim. Buradan kulaklıktan durumu manuel olarak kontrol edebilir ve okuyabilirsiniz, bu hata ayıklama için elverişli hale geldi.
- Gerekli arabirimlerin dbus xml tanımlarını oluşturun, bulun veya oluşturun. Bunu, api belirtimini bluez api documentation'dan xml'ye çevirerek el ile yaptım, ancak bunları da dbus içgözlemesiyle oluşturabileceğinizi düşünüyorum. proxy oluşturmak için
- Kullanım dbusxx-xml2cpp
- düğme
- gerektiği gibi vekil sizin koduna nesneleri entegre basıldığında denir geri arama belirleyin nesneleri
Sen libdbus- için kodunuzu bağlanmaları gerekecektir C++ ve hedefe de yükler.
Kulaklıklı mikrofon setinin tüm işlevlerine erişmek için oluşturulan proxy nesnelerini kullanabilirsiniz, bir tuşa basmaktan çok daha fazlası için kullanışlı olabilir!
İlgili konular
- 1. Bluez Programlama
- 2. Bluez otomatik yeniden bağlanma aygıtları
- 3. biz
- 4. iphone bluetooth Bir cihazdan bir olay ya da veri almak
- 5. JQuery/CC seçici için olay işleme kodunda özellik değeri alma
- 6. Linux Bluetooth sinyal gücü l2ping burada herhangi bir Linux BlueZ/BT uzmanları için
- 7. NET VirtualPathProviders ve Biz oldukça ağır ASP.NET'te VirtualPathProviders dayanan bir uygulama üzerinde çalışıyoruz
- 8. CORS sorunu Biz saklı akışını kullanarak bir web uygulaması ile Azure AD B2C doğrulattırmanın çalışıyoruz
- 9. biz
- 10. Biz anahtar olayı kullanarak anahtar girişi algılayabilir Anahtar Olay
- 11. Android Bluetooth Eşleşen İletişim Kutusunu Gösteriyor
- 12. python-bluez RFCOMM sunucusu örnek komut dosyası çalıştırılamıyor
- 13. Şemadaki devam (çağrı/cc)
- 14. [cc yaratıcısı] Karşılaştırma çalışmıyor
- 15. bluetooth
- 16. Biz 2'yi Seç Ajax Uzaktan veri yükleme uygulamak için çalışıyoruz Select2
- 17. Cygwin'de çalışma algılamaya çalışan kabuk komut dosyası
- 18. javascript önce kaldırma algılamaya karşı yenile kapat
- 19. PHP posta işlevinde CC ekleme
- 20. biz 8
- 21. javascript - Benim için çalışıyoruz ne
- 22. Bluetooth Otomatik Bağlantı
- 23. SDL Tridion 2009 - Biz SDL tridion 2009. kullanan bir olay sistem nesnesi
- 24. WooCommerce: Biz colorboxes satmaya WooCommerce kullanmak varyasyon
- 25. Windows Phone 8.1 Bluetooth on/off değiştir
- 26. android bluetooth bağlanamıyor
- 27. Adobe CC: HTML5 uzantıları nasıl çalışır?
- 28. Adobe Animate CC ve JavaScript - Çarpışma Algılaması
- 29. SendGrid Cc ve Bcc PHP üzerinde çalışmıyor
- 30. createjs flash cc videosu sahneye yüklenmiyor
Hiç başarılı oldunuz mu? – Schrieveslaach