Difference between revisions of "Bluetooth"
(BT classic, add example for conn=bt/rfcomm) |
(mention native BLE support) |
||
Line 19: | 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 == |
Revision as of 19:58, 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
Natively supported devices:
- TODO (currently empty)
Supported by external helpers:
- EEVBlog 121GW, can use the eev121gw-ble-uart-relay BLE to UART gateway
- TODO Will native support within libsigrok materialize? What's the syntax to use it? is
:conn=ble/121gw/BDADDR
a viable approach?