Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I read Bluetooth Low Energy transmitted data programmatically on Mac OS X 10.9.5?

I'm trying to read Bluetooth Low Energy transmitted data programtically using Ruby. Bluetooth Low Energy technology provides no support for the Serial Port Profile (SPP) in the standard Specification v4.0.

With older Bluetooth communication methods, one can just read the serial port for Bluetooth incoming data (/dev/tty.Bluetooth-Incoming-Port). Clearly, this won’t work for Bluetooth Low Energy, given it works almost completely differently.

I came across a few tools like LightBlue and XCode Hardware IO tools to read the data transmitted by the said Bluetooth Low Energy device but I’m not sure how they work. Can somebody help?

like image 238
Chirantan Avatar asked Oct 15 '14 11:10

Chirantan


People also ask

Does my Mac have Bluetooth low energy?

Find and select Bluetooth. Check the Bluetooth Low Energy Supported line. If that line says Yes, your Mac computer supports Bluetooth Low Energy.

How do I find my Bluetooth UUID Mac?

Have a look at About this Mac > System Report... > Hardware > Bluetooth . You'll find there all the information you need about the Bluetooth settings for the machine.

What is Bluetooth low energy devices?

Bluetooth Low Energy is a power-conserving variant of Bluetooth personal area network (PAN) technology, designed for use by Internet-connected machines and appliances. Also marketed as Bluetooth Smart, Bluetooth LE was introduced in the Bluetooth 4.0 specification as an alternative to Bluetooth Classic.


1 Answers

Reading up on fundamentals really helped me a lot. Here's a link to great post explaining BLE basics. Having understood this, on OSX I ended us using noble to establish connection and read BLE transmitted UART data using another library using noble called blendmicro.

We didn't use blendmicro BLE chip but still were able to use blendmicro-node library. If you read through blendmicro.js, it's easily modifiable to suit any BLE chip that uses UART for data transmission.

like image 63
Chirantan Avatar answered Oct 01 '22 20:10

Chirantan