I would love to see one library for Bluetooth Low Energy (BLE) support.
I've been using Python and there is bluepy, it works as a sort of python library but when I tried it it didn't work for me [but I'm no coder].
I've been using native linux support for BLE - most modern linux distributions (I use Ubuntu, by the way) include BlueZ, the Bluetooth stack for Linux. BlueZ 5.x includes support for BLE and has a command line tool ("gatttool") that talks BLE. Until I find a working library I can use (python would be cool but I'm a good copy&paster for other languages ;) ) I use a dirty trick: I use python system calls to invoke gatttool from my python scripts.
You can see some short examples at the SBrick official wiki: https://social.sbrick.com/wiki/view/pageId/20/slug/linux-client-scripts
Unfortunatly, BlueZ 5.x/gatttool is Linux-only so my scritps are useless on Android, iOS, OSX, Windows (well, for OSX/Windows one might try a VM with Linux inside and USB redirection for the Blueooth 4.0 USB dongle to be seen by the VM, don't know if latency will suffer or not).
But the Raspberry and the Mindstorms EV3 run Linux and I've used both for SBrick control.
Ah ok Jorge, I thought you might have been part of the team.
How would it work with linux? Would you expect one library to use, or multiple files to expand the os? I really know nothing about linux apart from a simple course I did about 30 years ago, simple file control and screen painting.
I have looked at the Kinect 2 which could be very interesting, but still need to have a control API in the look somewhere. Could be extremely useful for me in time.
Thanks.
I don't know if I said it here before but I'm not from Vengit :)
I'll be glad to test an API with you but all my systems are Linux so in order to help you I would have to get an old laptop and install a trial version of Windows on it (the Linux laptop I use is from my company so I cannot use it for that purposes, not even a VM). Some months more and I might try Windows 10 for Raspberry Pi 2 to see if this Microsoft IoT talking is just marketing hype or really something more...
And if you really want world domination with SBrick and Visual Studio please get yourself a MS Kinect 2 and control your MOCs with body gestures , voice, heart-rate, body heat... it's a shame Kinect 2 only works in Windows :(
I'm afraid we all have to wait more. Vengit released the SBrick protocol so anyone can make it's own API but it's not so simple as it sounds, BLE is still quite new.
I think Microsoft is including support for BLE in Visual Studio because Windows 10 is going to be release near October and MS is trying to compete against Android and Linux at appliance/embedded/gadget level, there is even a version on W10 for Raspberry Pi 2.
Thanks Jorge, then it's pretty obvious the iPhone isn't average at all.
I will wait until such time there is a Windows API. I'm a developer of some years and should be able to port joystick actions through an API to a dongle.
Do you have a time scale on an API being available?
Thanks.
The BLE standard has ~100m range outside. There is a video at SBrick where someone got ~60m. So 30m outside, open air, nothing in between its quite possible. Of course, it also depends on the client devic, don't know if iPhone 6 is an average BLE device or not.
It should be possible to create a BT repeater. But lag would double (at least) and as BT is not like Wifi you would probable be allowed to extend the range of just one device. So don't see much demand for such a repeater.
I'm not as knowledgable about bluetooth as I am with other wifi systems, with 802.11 I'd simply drop in a relay or extend on the same ssid, I don't know if this is possible with bluetooth.
I guess with different firmware you could turn a brick into a relay, but I wonder what the demand would be for this.
(Have you stared on that crawler yet?)
I started a thread a few weeks ago asking what range people are achieving with a phone connection, at the time due to disability, I didn't have chance to try this myself.
Outside in a completely open space I can get around 14 meters with an iPhone 6.
Now obvioulsy this is BLE which will have a lower range. So, what would one do to increase this range? One thing I really want to get working is moving targets down the garden, this is impossible in a wheelchair, I would love to manage 30 meters which is the distance I target shoot.