Reputation: 12211
I apologize if this seems like a stupid question, but I don't have much experience programming for peripherals. I would like to start creating software that can interact with BLE Keyfobs, but most of the products I find don't have any developer links. At the moment, I am looking at the HTC Fetch which appears to have an Android SDK with promise of more. I'm also aware that there is a BLE spec, and that the fobs are pretty simple; they really just broadcast their presence and like 29 bytes of data used for identification.
So my question is: might I be able to still develop for something like the HTC Fetch by simply following the spec and essentially writing my own API for it? If not, does anyone out there know of any products that are already set up for open development?
TIA
Upvotes: 1
Views: 559
Reputation: 1624
A gather from your question that you want to write code for a central (a phone or similar) that will find and connect to a keyfob (e.g. the HTC Fetch).
The BLE core spec already define how the fob advertise and how you connect to it. So that will work out just fine. Once you are connected the spec defines a database (the GATT server) that is running on the fob. How to query this database is part of the spec so any GATT client (e.g. Android BLE API) will be able to discover the services in the database an interact with the attributes stored there.
Now, without any documentation or an Android API you will have to guess what the attributes are and how they interact. The spec will help you some. For instance I'm guessing the thing that causes your phone to go 'beep' when a button on HTC Fetch is pressed is going to use a standard attribute notification. Other than that you may have to do some reverse engineering. It's not really all that hard, but takes a bit of time.
Upvotes: 1