Bluetooth :Обнаружение события с помощью Bluez

  • Мы пытаемся обнаружить событие в C/C++.
  • Мы используем Bluez в Linux в качестве библиотеки Bluetooth.
  • Наша цель — запустить внешний скрипт, когда сработает это событие.
  • В частности, у нас есть гарнитура Motorola H730 с кнопкой на ней, и мы хотим обнаружить нажатие этой кнопки.
  • Мы связали устройство bluetooth (hcitool )и можем подключиться к нему (bluez -test -audio ), но было бы интересно перенести этот подход на C/C++.
  • Вывод hcidump при подключении устройства и нажатии кнопки:

    Сниффер HCI -Анализатор пакетов Bluetooth версии 2.2
    устройство :hci0 snap _len :1028 фильтр :0xffffffff

    HCI Event: Mode Change (0x14) plen 6
    status 0x00 handle 21 mode 0x00 interval 0
    Mode: Active
    ACL data: handle 21 flags 0x02 dlen 17
    L2CAP(d): cid 0x0041 len 13 [psm 0]
    < ACL data: handle 21 flags 0x00 dlen 14
    L2CAP(d): cid 0x0047 len 10 [psm 0]
    < ACL data: handle 21 flags 0x00 dlen 22
    L2CAP(d): cid 0x0047 len 18 [psm 0]
    < ACL data: handle 21 flags 0x00 dlen 22
    L2CAP(d): cid 0x0047 len 18 [psm 0]
    HCI Event: Number of Completed Packets (0x13) plen 5
    handle 21 packets 1
    ACL data: handle 21 flags 0x02 dlen 18
    L2CAP(d): cid 0x0041 len 14 [psm 0]
    < ACL data: handle 21 flags 0x00 dlen 14
    L2CAP(d): cid 0x0047 len 10 [psm 0]
    HCI Event: Number of Completed Packets (0x13) plen 5
    handle 21 packets 1
    HCI Event: Number of Completed Packets (0x13) plen 5
    handle 21 packets 1
    HCI Event: Number of Completed Packets (0x13) plen 5
    handle 21 packets 1
    HCI Event: Mode Change (0x14) plen 6
    status 0x00 handle 21 mode 0x02 interval 2048
    Mode: Sniff

  • Мы искали документацию Bluetooth и не добились большого успеха.
    Как мы можем обнаружить событие Bluetooth в C/C++ с помощью Bluez?
7
задан Ajay Soman 19 October 2012 в 05:43
поделиться