NI Labs Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

LabVIEW Bluetooth Low Energy Support Discussion

Welcome to the LabVIEW Bluetooth Low Energy (BLE) Instrument Drivers for Windows & cRIO project. This thread is intended to foster discussion about the project, so please post any questions, comments, BLE instrument drivers you'd like to see, feature requests, bug reports, and other relevant information here.

We are continuously looking for ways to improve our products, so please feel free to make suggestions as well.

Thanks,

Tim Ousley

Senior Engineer, Wireless Industrial & Embedded R&D

Message 1 of 39
(14,039 Views)

For route based inspections of plant equipment, a bluetooth vibration sensor would reduce cabling, and potentially provide for permanent installation of bluetooth sensors. 

From an instrument driver perspective, it would be great to have an instrument driver for bluetooth vibration sensors:

SKF, GTI Spindle, and ITT make bluetooth vibration sensors for route inspections of equipment. 

Hope this is what you are hoping to hear. 

Preston

Preston Johnson
Solutions Manager, Industrial IoT: Condition Monitoring and Predictive Analytics
cbt
512 431 2371
preston.johnson@cbtechinc
0 Kudos
Message 2 of 39
(12,456 Views)

Hi Preston- Yes, that's what I'm looking for.  The NI Labs link in the original post should go live here in a few days.  LabVIEW can talk to BLE sensors, and we can make that as easy as using an instrument driver.

Are you thinking of these sensors?

* SKF's CMVL 8000 / CMWD Enlight

* GTI Spindle's GTI-220

* ITT's i-Alert 2

Will you be at NI Week? There's a lot we can do with this technology and I'd like to prioritize vibration and other sensors that should be supported.  There's a lot of sensors that until now have been effectively silo'ed to just smartphones.

0 Kudos
Message 3 of 39
(12,456 Views)

Those are the three that I am currently aware of.  All of which may be in the proprietary camp. 

Preston Johnson
Solutions Manager, Industrial IoT: Condition Monitoring and Predictive Analytics
cbt
512 431 2371
preston.johnson@cbtechinc
0 Kudos
Message 4 of 39
(12,456 Views)

Hi,

Is there a way of programmatically pairing a Bluetooth LE device?

I have been trying to simply get the list of devices available but not necessarily paired, in Labview. Current Bluetooth examples

produce lists that only shows BT classic devices and most communication exaples require that one pairs the devices manually. However I have a BLE device which shows up on my windows 10 PC, via the settings bluetooth screen  but I cannot get it to appear on any device list in labview.

I know very little about how Bluetooth works but it seems that the LE is not handled in exactly the same way as Classic BT.

Does anyone have any tips?

0 Kudos
Message 5 of 39
(12,456 Views)

Mal,

I think Windows does have an API to handle pairing, but we don't use it yet.

Windows has different API for Bluetooth classic than for Bluetooth Low Energy. The initial BLE API was added in Windows 8, and another BLE API was added in Windows 10 for advertisements, which are used to discover devices.

Tim

0 Kudos
Message 6 of 39
(12,456 Views)

Thanks Tim,

I guess that explains why BLE devices are not listed in Labview searches.

Do you think there is a way round for me using labview now or should I just wait until Labview has full BLE support?

0 Kudos
Message 7 of 39
(12,456 Views)

May I express my delight at the new BLE package, however, I am still unable to list the devices before pairing so that I can pair them programatically.

The Discover function seems to only Discover things you have already manually paired in windows. As my application has to be autonomous and will see many devices throughout its use then I cannot have a manual Pairing with Windows step.

Although this sounds negative I would like to reiterate my delight on the new BLE stuff.

0 Kudos
Message 8 of 39
(12,456 Views)

Would it be possible to create a vi which queries about the different services/characteristics of a paired device?  I am paired to a bluetooth device but for some reason am not able to obtain any data from that device.   I assume that I am using an incorrect characteristic call?? 

I know the paired device generates data and transmits it wirelessly, because if I use a usb dongle produced by the same manufacturer (Cypress) as the device I am attempting to read and then connect to the device via a virtual comm port, the data comes through in both a hyper terminal and in Labview through visa read.

0 Kudos
Message 9 of 39
(12,456 Views)

Hi

I have been trying to use the BLE library to retrieve data from a TI CC2650 SensorTag but I've been having some issues.

I paired the device to my laptop and I can receive its data correctly using a Windows10 app from the store.

In order to communicate through LabVIEW, I started NI Bluetooth LE Driver.exe (the cmd window displays "Started BLE server. See http://localhost:5000/gatt/nodes for more information."). Then I ran Discover BLE.vi, setting "http://localhost:5000" as BLE Gateway Base URL: the nodes list comes out empty and I receive an error.

Do you have any indications on how to fix this?

Thank you

Matteo

This is the body of the GET response in Discover BLE.vi:

{"Message":"An error has occurred.","ExceptionMessage":"A device attached to the system is not functioning. (Exception from HRESULT: 0x8007001F)","ExceptionType":"System.Exception","StackTrace":"   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at NI_Bluetooth_LE_Driver.BLEManager.<ScanForNodes>d__6.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at NI_Bluetooth_LE_Driver.WSController.<GetGattNodes>d__4.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Threading.Tasks.TaskHelpersExtensions.<CastToObject>d__3`1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__0.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__2.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__1.MoveNext()"}


  
0 Kudos
Message 10 of 39
(12,450 Views)