Bluetooth

From sigrok
Revision as of 19:50, 4 June 2019 by Gsi (talk | contribs) (BT classic, add example for conn=bt/rfcomm)
Jump to navigation Jump to search

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 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).

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?

See also