I can see the Estimotes when I issue:
sudo hcitool lescan
But when I attempt to connect via gattool, it's rejected:
~ > sudo gatttool -i hci0 -b E5:B1:1E:91:70:E4 -I
[ ][E5:B1:1E:91:70:E4][LE]> connect
Connecting... connect error: Connection refused (111)
Is there something else I'm supposed to do to make this work. I'm able to connect to other BTLE devices (both of my bluetooth adapters, hci0 & hci1, support 4.0/LE)
Regarding the technical part - I'll consult that with our hardware team to give you a detailed answer on how does it works under the hood.
As for why this happens - firstly, for security reasons. We're yet to implement security features to our software, therefore allowing connectivity from all kinds of devices would put our users at bigger risk of unauthorized access to their Beacons.
Secondly, we're constantly updating our SDK and keep adding new features,. And although it is possible to detect Beacons with any Bluetooth Smart-enabled device with the right software (or even build apps, for example based on bare CoreLocation framework), we generally advise people to use the SDK to enable them the best experience possible. That's also why we're prioritizing iOS right now, and therefore direct support for a limited number of platforms allows us to better focus on them. In the future we will probably build tools for other platforms, but it's important to us to do it step by step and remain laser-focused on what's top priority for both Estimote and huge majority of people using our technology.
EDIT: Okay, so I have confirmed it with our hardware team, and as for now, we've decided that we cannot publish specific details on how the connection process work. Sorry for that.
Can you please let me know what's the firmware version of your Beacons? Technically, it shouldn't return connection refused, but you'll be disconnected after 10 seconds anyway - establishing a stable connection will require use of the SDK.
Hope it's clear now.
Hardware Rev D3.3
Estimote OS A1.9
Why do I need to use the SDK to keep the connection? What's happening under the hood that requires that?
(please provide detail with all your answers ... it seems every time you respond I need to answer "Why?" ... assume I have a clue)
I don't think you're listening ... I'm not using IOS or Android. I don't want acceleration or temperature (which would both be Zero and Constant anyway).
It's an internal application, so I'm not concerned about security.
I just want a bluetooth LE device that can broadcast proximity. This is table-stakes for these devices and you're blocking them with your walled garden.
Do you see how hard you're making things by locking users down to your SDK?
I'm sorry that it's a problem for you, and we really value such insight - we'll definitely take it into consideration for future iterations. But please also remember, that we're introducing a farily new technology, and developing it step by step, adding new layers of funcionality. And while you might not be concerned about security of your Beacons, we have thousands of users who are - and that's we're also focusing on giving them access to security features.
k ... how about an RMA #?
If you'd like to receive a refund, please shoot me an email with your order number: wojtek[at]estimote