Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HID Service #5

Open
AGlass0fMilk opened this issue Oct 27, 2020 · 4 comments
Open

HID Service #5

AGlass0fMilk opened this issue Oct 27, 2020 · 4 comments

Comments

@AGlass0fMilk
Copy link
Member

BLE Standard Service: Yes

Proposed UUID(s) or link to specification document:

https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=245140

Overview:

The HID Service exposes data and associated formatting for HID Devices and HID Hosts.

The HID service can be used to create devices that are immediately compatible with desktop operating systems to achieve:

  • Transfer of peripheral input data, such as mouse and keyboards
  • Transfer of generic data in a way that is accessible through portable HID libraries (like python). This lets the operating system do the abstraction of BLE to HID device and allows developers to more easily create cross-platform applications that collect data from BLE devices.
@pan-
Copy link
Member

pan- commented Oct 27, 2020

@jpbrucker Do you think we can borrow https://github.com/jpbrucker/BLE_HID for an implementation ?

@jpbrucker
Copy link

@pan- Of course, it is licensed apache-2 :) It was written for an old version of mbed, though. I don't currently have time to work on it but would still appreciate this code being shared.

@pan-
Copy link
Member

pan- commented Oct 28, 2020

@jpbrucker thanks for providing a status, your BLE_HID code was great and will be a solid base to build upon.

@pea-pod
Copy link

pea-pod commented Dec 10, 2020

I was surprised when this was not implemented fairly soon out of the box just for @AGlass0fMilk's reasons: everything knows how to talk HID. It would be such a boon to be able to do some nifty things through python on a PC without having to write custom services.

Another bullet point is that some Adafruit Circuit Python boards already do this. I know there are different aims slightly, but still.

Finally, USB already has most of the HID types. It might be nice to somehow incorporate the HID types from the mbed USB library. I mention this because it is entirely possible to have BLE HID but not USB HID and would require structuring.

I was going to try to make something for my children that connected to a controller I have (mainly PS3 or PS4) over BLE, but I am not nearly as adept, so this has set on the shelf. I got as far as getting my ST BLE shield working with the heart rate monitor and connect to the bluetooth monitor on my iPhone, but my BLE muscles are not nearly as strong as they need to be to even adapt @jpbrucker's work, although I've seen it for a while.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants