This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

BLE Example HID Services can't show HID characteristic

Hello,


I used exampl:


nRF5_SDK_17.0.2_d674dde/examples/ble_peripheral/ble_app_hids_keyboard

Why can't I see any HID Services in apps (nrf Connect) in iphone 12?


But using nrf Connect on Windows can indeed see


thanks~

Parents
  • Hi,

    This is because the iOS Bluetooth stack filters out the HID characteristics, so they are not visible to the application, and there is no way around this. It is still present though, and the example does work with iOS (you can for instance start writing a text message, and then push button 1 on the DK to observe letters being entered.

  • Thank you
    Another question: When I burned the image for the first time,
    (1) Use iphone to connect, you can connect smoothly
    (2) Then close Blueooth on the iPhone
    (3) Disconnect message can be seen on RTT Viewer
    (4) Use Windows nRF connect or another mobile phone to scan and connect

    However, it can't be connected until I delete bonds (resetting the device while pressing button 2.) on the DK Board before it can be connected again.

    Can only one device be allowed to connect? Cannot memorize multiple device ?

    (BLE_GAP_WHITELIST_ADDR_MAX_COUNT = 8 )?
    Why is this?

Reply
  • Thank you
    Another question: When I burned the image for the first time,
    (1) Use iphone to connect, you can connect smoothly
    (2) Then close Blueooth on the iPhone
    (3) Disconnect message can be seen on RTT Viewer
    (4) Use Windows nRF connect or another mobile phone to scan and connect

    However, it can't be connected until I delete bonds (resetting the device while pressing button 2.) on the DK Board before it can be connected again.

    Can only one device be allowed to connect? Cannot memorize multiple device ?

    (BLE_GAP_WHITELIST_ADDR_MAX_COUNT = 8 )?
    Why is this?

Children
  • Hi,

    I am sorry for the late reply. You may have found the answer in the meantime, but if not I will answer briefly.

    The nRF can support a very large number of bonds, not just one. For whitelisting, there is a limit of 8. You do not write much details, but I expect the reason you cannot connect and pair with the second device is that you use white listing. By default, the HID examples use whitelisting always as long as at least one bond exists, unless explicitly instructed not to. So to connect and pair with a second device you need to disable whitelisting. Using the nRF5 SDK BLE HID keyboard example this is done using a long push on button 2 (this will trigger a BSP_EVENT_WHITELIST_OFF event, which you can search for in main.c to see how it is handled).

Related