I'm currently trying to idealize a system where and arduino board communicates with a peripheral device that only supports BLE communication. The device in question is the MyoArmband, it's an EMG sensor that is able to detect EMG data from the forearm.
The main problem I'm currently facing is that the myo device uses a private(custom) profile with lot's of public and customs services. And from all the research i have done most o the more common peripheral don't have the ability to communicate with it. Luckily all the information about the Profile and services is available so i had no problems build the structure of the UUIDs needed but i'm not sure what devices should I use for the project.
jremington:
Can you state your question more clearly?
Sure, Sorry it wasn't clear.
What i want to know what options do i have to connect with a BLE peripheral device. Bearing in mind that this device does not use simple public services or serial communication but a custom profile with custom services and UUIDs.
Is the CurieBLE library able to do this? Does it only work with the Genuino 101?
Post a link to the exact Bluetooth device in question. If the manufacturer's communications protocols are encrypted and trade secrets, you are probably out of luck.
You need a BLE device capable of BLE central mode. Phones, tablets, and laptops with BLE operate in central mode. A few years ago I used nodejs and noble running on a Linux box to communicate with nRF51 based BLE peripherals. If the ultimate goal is to get the data into a computer, this is probably your best option.
If you want to use BLE central mode on microcontroller programmed with the Arudino IDE, there are nRF52840 boards capable of central mode. I have no experience here but the examples look promising. Search for "arduino nrf52840". Arduino announced two BLE boards based on the nRF52840 but they are not shipping yet.
In either case, you will have to determine if the APIs are sufficient to talk to the armband.
jremington:
Post a link to the exact Bluetooth device in question. If the manufacturer's communications protocols are encrypted and trade secrets, you are probably out of luck.
gbafamily:
You need a BLE device capable of BLE central mode. Phones, tablets, and laptops with BLE operate in central mode. A few years ago I used nodejs and noble running on a Linux box to communicate with nRF51 based BLE peripherals. If the ultimate goal is to get the data into a computer, this is probably your best option.
If you want to use BLE central mode on microcontroller programmed with the Arudino IDE, there are nRF52840 boards capable of central mode. I have no experience here but the examples look promising. Search for "arduino nrf52840". Arduino announced two BLE boards based on the nRF52840 but they are not shipping yet.
In either case, you will have to determine if the APIs are sufficient to talk to the armband.
Thanks for the insight!
My main problem is to communicate specifically with and arduino, with a computer or other microcontrolers capable of running Linux i'm pretty sure i wouldn't have a problem making it work.
But a second part of the project requires the use of a Arduino, i would prefer if i could make the communication work only with it without a middle man.
I will take a look on this nRF52840 boards and see how it works and if they are able to help me!
jremington:
If you are referring to this device, it is out of production.
The raw data are available via an SDK for Windows and Mac, but again, obsolete.
Hey,
You are right! it is this device. Indeed the company closed it's production a while back but made most of protocols and information public so people could continue to develop with it. It is a really useful device and capable of much.
Using the SDk i was able to communicate with it using a Pc pretty easily.
But my goal is to make it communicate with the Arduino directly without having a computer as a middle man in the communication.
As and update for anyone interested in the future:
I found that there are a lot of nrf52840 based boards online that are most likely capable of being a client and comunicate ,via private services, with a server BLE device (there is some from sparkfun and adafruit).
They are also able to be used in conjunction with and arduino via UART communication.