Difference between revisions of "Bluetooth"

From sigrok
Jump to navigation Jump to search
(start a (very rough) Bluetooth communication page)
 
(update list of known to work devices, drop obsolete TODO)
 
(2 intermediate revisions by the same user not shown)
Line 4: Line 4:


Some test and measurement devices communicate via Bluetooth instead of [[Serial_port | RS232]], USB or TCP.
Some test and measurement devices communicate via Bluetooth instead of [[Serial_port | RS232]], USB or TCP.
See the README.devices document for an outline of conn= specifications, as well as other connection types than Bluetooth.


== Bluetooth Classic ==
== Bluetooth Classic ==


Bluetooth Classic provides a standard way for traditional serial communication, which a sigrok suported platform can make available like any other (RS232 or USB based) COM port. Depending on the platform some external utility may be required to setup these virtual COM ports before native sigrok drivers can access them.
Bluetooth Classic provides a standard way for traditional serial communication, which a sigrok suported platform can make available like any other (RS232 or USB based) COM port. Either use optional external utilities to create a virtual COM port that sigrok can connect to, or use libsigrok's builtin support for RFCOMM aka SPP on those platforms which support it.
 
  '''... -d <driver>:conn=bt/rfcomm/<mac-address> ...'''
 
Please note that colons may not be available within the '''mac-address''' field, because they separate the driver name and options (like conn=) of the -d argument already.  Alternative use of dashes is supported.


'''TODO''' Outline how to setup the COM port (potentially depending on the platform). Provide examples of sigrok drivers using these COM ports.
'''TODO''' Outline how to setup the COM port (potentially depending on the platform). Provide examples of sigrok drivers using these COM ports.
Line 13: Line 19:
== Bluetooth Low Energy (BLE) ==
== Bluetooth Low Energy (BLE) ==


BLE has no common concept of traditional serial communication, which results in BLE supporting devices to have to (re-)invent their individual way of communicating to PC/mobile side software. Thus each involved sigrok driver will need specific support code to communicate to BLE attached devices. An alternative can be the use of external helpers which relay BLE communication to some form that is already supported by involved sigrok drivers (like: COM port, TCP socket).
BLE has no common concept of traditional serial communication, which results in BLE supporting devices and cables/adapters/modules/chips to have to (re-)invent their individual way of communicating to PC/mobile side software. Thus each involved sigrok driver will need specific support code to communicate to BLE attached devices, unless a common communication layer provides support. An alternative can be the use of external helpers which relay BLE communication to some form that is already supported by involved sigrok drivers (like: COM port, TCP socket).
 
The libsigrok component's serial layer provides support for some BLE chips or modules on some of the sigrok supported platforms. At the time of this writing this includes: BLE122, nRF51, TI CC254x. The syntax to specify connections is like this:
 
  '''... -d <driver>:conn=bt/<type>/<mac-address> ...'''
 
Please note that colons may not be available within the '''mac-address''' field, because they separate the driver name and options (like conn=) of the -d argument already.  Alternative use of dashes is supported.


== List of devices ==
== List of devices ==
The list is very probably incomplete. When in doubt, check reality and update this wiki page.


Natively supported devices:
Natively supported devices:


* TODO (currently empty)
* [[EEVBlog_121GW | EEVBlog 121GW]] (when BLE is supported on the platform), use '''-d eevblog-121gw:conn=bt/ble122/<addr>'''


Supported by external helpers:
Supported by external helpers:


* [[EEVBlog_121GW | EEVBlog 121GW]], can use the [https://sigrok.org/gitweb/?p=sigrok-util.git;a=tree;f=util/eevblog-121gw eev121gw-ble-uart-relay] BLE to UART gateway
* [[EEVBlog_121GW | EEVBlog 121GW]], can use the [https://sigrok.org/gitweb/?p=sigrok-util.git;a=tree;f=util/eevblog-121gw eev121gw-ble-uart-relay] BLE to UART gateway
* TODO Will native support within libsigrok materialize? What's the syntax to use it? is <code>:conn=ble/121gw/BDADDR</code> a viable approach?


== See also ==
== See also ==


* [[Device cables]]
* [[Device cables]]

Latest revision as of 21:03, 4 June 2019

This page is under heavy construction, currently holds unassorted developer notes, and needs more consideration and cleanup before it will be useful.

Some test and measurement devices communicate via Bluetooth instead of RS232, USB or TCP.

See the README.devices document for an outline of conn= specifications, as well as other connection types than Bluetooth.

Bluetooth Classic

Bluetooth Classic provides a standard way for traditional serial communication, which a sigrok suported platform can make available like any other (RS232 or USB based) COM port. Either use optional external utilities to create a virtual COM port that sigrok can connect to, or use libsigrok's builtin support for RFCOMM aka SPP on those platforms which support it.

 ... -d <driver>:conn=bt/rfcomm/<mac-address> ...

Please note that colons may not be available within the mac-address field, because they separate the driver name and options (like conn=) of the -d argument already. Alternative use of dashes is supported.

TODO Outline how to setup the COM port (potentially depending on the platform). Provide examples of sigrok drivers using these COM ports.

Bluetooth Low Energy (BLE)

BLE has no common concept of traditional serial communication, which results in BLE supporting devices and cables/adapters/modules/chips to have to (re-)invent their individual way of communicating to PC/mobile side software. Thus each involved sigrok driver will need specific support code to communicate to BLE attached devices, unless a common communication layer provides support. An alternative can be the use of external helpers which relay BLE communication to some form that is already supported by involved sigrok drivers (like: COM port, TCP socket).

The libsigrok component's serial layer provides support for some BLE chips or modules on some of the sigrok supported platforms. At the time of this writing this includes: BLE122, nRF51, TI CC254x. The syntax to specify connections is like this:

 ... -d <driver>:conn=bt/<type>/<mac-address> ...

Please note that colons may not be available within the mac-address field, because they separate the driver name and options (like conn=) of the -d argument already. Alternative use of dashes is supported.

List of devices

The list is very probably incomplete. When in doubt, check reality and update this wiki page.

Natively supported devices:

  • EEVBlog 121GW (when BLE is supported on the platform), use -d eevblog-121gw:conn=bt/ble122/<addr>

Supported by external helpers:

See also