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

HID-Generic

Hi,
We are developing a device for an Assistive Technology project using Nordic NRF52480.
We would like to port to BlueTooth Generic HID (over GATT) an exising device, that is currently based on USB generic_HID.
We could implement it on a nordic demo-board and communicate with it on Windows (accessing to it as a standard HID device).
But we have problems on Android and iOS, where the device is not recognized (iOS), or where generic HID is already used by OS itself (Android).
Do you have some demo-project how to do this on Android-iOS?
BTW: if possible we woud like to use Xamarin for our Mobile application, with the target to have a unique multi-platform App (Android, iOS, UWP).

Thank you very much for your time!

G.Hofmann

Parents
  • Hi

    By design both iOS and Android will automatically handle the connection to HoG devices to allow them to work across the OS without requiring any particular apps to work. 

    Android is quite flexible, and will allow most devices to connect, while iOS puts more restrictions on which HoG devices are supported. 

    Would it not be easier to use a proprietary profile/service on the device instead?
    Then you can use one of our existing sample application for Android or iOS to develop your app. 

    Best regards
    Torbjørn

  • Hi Torbjørn,
    thank you very much for your anwser. The problem is we try to port an existing USB device, using BLE Generic-HID (that uses a prorietary protocol, that we need to implement in our prorietary application). Therefore I need to access a BLE Generic-HID device and I find no information and no sample code nowere for iOS and Android. Maybe I should try to follow your suggestion.. Where can I find exactly the sample application you speak about?

  • Hi Gabriele

    I assumed backwards compatibility was the reason, but I think you will have a hard time getting this to work on both platforms (maybe Android with some luck, but I am not sure that is possible either). 

    The best place to start for developing a proprietary application is the Blinky example. 

    We provide source code for Android and iOS on our official Github account (just search for "blinky" in the repository search):
    https://github.com/NordicSemiconductor

    For the nRF52 side you can use the ble_app_blinky example in the nrF5 SDK. 

    The Blinky example sets up a very simple proprietary service that has one characteristic for sending button information from the peripheral to the central, and a separate characteristic for sending LED information from the central to the peripheral. 

    By changing the service configuration in the ble_app_blinky project it is possible to extend the service either by increasing the size of the existing characteristic, or by adding more characteristics to the service. 

    Just make sure that before you go into production you change the base UUID to avoid mixing your modified service with the original Blinky service. 

    Best regards
    Torbjørn

  • Hi Torbjørn.
    We will try this way. Thank you very much!!!
    Gabriele

Reply Children
Related