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

Using BLE based Accessory

Hello Nordic Team,

Please, I would like to ask some questions about BLE based smart-phone accessory.

Actually, I think about using a BLE based accessory (for instance, a BLE based Selfie Button) to send button pressed/released commands to an nRF51822 device.

Q1: What is the most common BLE profile used by such devices (e.g: BLE based Selfie Button) to remotely control a phone peripheral (e.g: Phone Camera)? is it the HID Over GATT Profile (HOGP) ?

Q2: In case, I would like to use a BLE based accessory device (e.g: BLE based Selfie Button) to communicate with my nRF51822 chip (Configured as a Client GATT role and a Central GAP role) what should be exactly implemented in the nRF51822 side? should I provide a complete HOGP Central (or other protocol) implementation ? and if so, would it be worthwhile! since I only need to send the button status ?

Many thanks in advance.

Parents
  • Hi, you will need to use HID over GATT profile (HOGP) if you want to control the camera on a phone. A colleague have made an nrf51_ble_app_hids_kbd_consumercontrol example on Github you can use as reference. Transmitting a volume Up or Down keypress will trigger the camera to take a picture. In your description it seems you want to relay keypress data between a BLE based selfie button and a phone, but in any case you will need to use HOGP on the device connected to the phone. As mentioned here we don't have any parser for HOGP in central mode.

  • I think it would help to understand what you want to do here. In it's simplest form you can just read all the services and characteristics of the peripheral device, and copy them locally and forward any notification you receive the same way you receive them. In such case you don't even need a parser.

    You can even add a "learn mode", where you ask the user to press and release the button in such a case.

Reply
  • I think it would help to understand what you want to do here. In it's simplest form you can just read all the services and characteristics of the peripheral device, and copy them locally and forward any notification you receive the same way you receive them. In such case you don't even need a parser.

    You can even add a "learn mode", where you ask the user to press and release the button in such a case.

Children
No Data
Related