README.md
1Bumble Apps
2===========
3
4NOTE:
5To run python scripts from this directory when the Bumble package isn't installed in your environment,
6put .. in your PYTHONPATH: `export PYTHONPATH=..`
7
8
9Apps
10----
11
12## `show.py`
13Parse a file with HCI packets and print the details of each packet in a human readable form
14
15## `link_relay.py`
16Simple WebSocket relay for virtual RemoteLink instances to communicate with each other through.
17
18## `hci_bridge.py`
19This app acts as a simple bridge between two HCI transports, with a host on one side and
20a controller on the other. All the HCI packets bridged between the two are printed on the console
21for logging. This bridge also has the ability to short-circuit some HCI packets (respond to them
22with a fixed response instead of bridging them to the other side), which may be useful when used with
23a host that send custom HCI commands that the controller may not understand.
24
25### Usage
26```
27python hci_bridge.py <host-transport-spec> <controller-transport-spec> [command-short-circuit-list]
28```
29
30### Examples
31
32#### UDP to HCI UART
33```
34python hci_bridge.py udp:0.0.0.0:9000,127.0.0.1:9001 serial:/dev/tty.usbmodem0006839912171,1000000 0x3f:0x0070,0x3f:0x0074,0x3f:0x0077,0x3f:0x0078
35```
36
37#### PTY to Link Relay
38```
39python hci_bridge.py serial:emulated_uart_pty,1000000 link-relay:ws://127.0.0.1:10723/test
40```
41
42In this example, an emulator that exposes a PTY as an interface to its HCI UART is running as
43a Bluetooth host, and we are connecting it to a virtual controller attached to a link relay
44(through which the communication with other virtual controllers will be mediated).
45
46NOTE: this assumes you're running a Link Relay on port `10723`.
47
48## `console.py`
49A simple text-based-ui interactive Bluetooth device with GATT client capabilities.
50