Skip to content

Virtual reality basestation power management in Rust

License

Notifications You must be signed in to change notification settings

ShayBox/Lighthouse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lighthouse

Virtual reality basestation power management in Rust

Usage

Usage: lighthouse [OPTIONS] --state <STATE>

Options:
  -s, --state <STATE>      V1: [OFF|ON] | V2: [OFF|ON|STANDBY]
  -b, --bsid <BSID>        V1: Basestation BSID (Required) | V2: Bluetooth Device Identifier (Optional)
  -v, --verbose...         Increase logging verbosity
  -q, --quiet...           Decrease logging verbosity
  -t, --timeout <TIMEOUT>  Request timeout in seconds [default: 10]
  -h, --help               Print help

V1 Basestations require an 8 character BSID found on the device to work.

V2 Basestations do not require BSID. But you can specify their MAC address as BSID to manage a specific device.

Examples

Turning a V1 lighthouse on:

Find the BSID at the back of the device.

$ lighthouse --state on --bsid aabbccdd

Turning on any V2 lighthouses within range:

$ lighthouse --state on

Turning on a specific V2 lighthouse:

Run once with verbose parameters to find the MAC address for each lighthouse:

$ lighthouse -vv --state off

This will show the device path or MAC address within square brackets, looking something like this:

2025-02-28T22:14:58.528048Z  INFO lighthouse: Found 'LHB-6DC32F38' [hci0/dev_E2_5A_B0_E4_97_AD]
2025-02-28T22:15:33.543205Z  INFO lighthouse: LHB-6DC32F38 [hci0/dev_E2_5A_B0_E4_97_AD]: OFF

Use the ID shown in the square brackets in the previous command as the bsid to manage a specific lighthouse:

$ lighthouse --state on --bsid "hci0/dev_E2_5A_B0_E4_97_AD"
# or
$ lighthouse --state on --bsid "E2:5A:B0:E4:97:AD"

macOS

Enable the Bluetooth permission for your terminal. You can do the latter by going to System Preferences → Security & Privacy → Privacy → Bluetooth, clicking the '+' button, and selecting 'Terminal' (or iTerm or whichever terminal application you use).