Skip to content
eadmaster edited this page Nov 4, 2024 · 31 revisions

Bruce also accept command inputs via serial port after https://github.com/pr3y/Bruce/pull/84.

List of supported commands:

ir, subghz, music_player, say, led, power, clock, tone, gpio, i2c, storage, settings, factory_reset

Most of these commands are compatible with the Flipper Zero CLI.

How to send commands

Reference

(still incomplete)

Full command Arguments Description Alias
ir rx <timeout> (in seconds, defaults to 10s if missing) Read an IR signal and print the dump on serial.
ir rx raw <timeout> (in seconds, defaults to 10s if missing) Read an IR signal in RAW mode and print the dump on serial.
ir tx <protocol> <address> <decoded_value> Send a custom decoded IR signal.
ir tx_from_file <ir file path> Send an IR signal saved in storage.
subghz rx <timeout> (in seconds, defaults to 10s if missing) Read an RF signal and print the dump on serial. rf rx
subghz rx raw <timeout> (in seconds, defaults to 10s if missing) Read an RF signal in RAW mode and print the dump on serial. rf rx raw
subghz tx <decoded_value> <frequency> <te> <count> Send a custom decoded RF signal. rf tx
subghz tx_from_file <sub file path> Send an RF signal saved in storage.
music_player <audio file path> Play an audio file (speaker req.). play
tone <frequency> <duration> Play a single squarewave audio tone (speaker req.) beep
say <text> Text-To-Speech (speaker req.)
led <r/g/b> <0-255> Change UI main color
power <off/reboot/sleep> General power management
clock show the clock UI
gpio mode <pin number> <0/1> set GPIO pins mode (0=input, 1=output).
gpio set <pin number> <0/1> Direct GPIO pins control (0=off, 1=on).
i2c scan scan for modules connected to the I2C bus. List the results on serial.
storage <list/remove/mkdir/rename/read/write/copy/md5/crc32> <file path> Common file management commands. Path must always be relative to the root. Defaults to SD card if found. ls, dir, md, ren, cat, type, cp, md5, crc32
settings view all the current settings set
settings <name> view a single setting value set
settings <name> <new value> alter a single setting value set
factory_reset Reset bruce.conf to the defaults

Examples

text-to-speech (req. a speaker):

say My name is Bruce

play doom music (req. a speaker):

music_player doom:d=4,o=5,b=112:16e4,16e4,16e,16e4,16e4,16d,16e4,16e4,16c,16e4,16e4,16a#4,16e4,16e4,16b4,16c,16e4,16e4,16e,16e4,16e4,16d,16e4,16e4,16c,16e4,16e4,a#4,16p,16e4,16e4,16e,16e4,16e4,16d,16e4,16e4,16c,16e4,16e4,16a#4,16e4,16e4,16b4,16c,16e4,16e4,16e,16e4,16e4,16d,16e4,16e4,16c,16e4,16e4,a#4,16p,16a4,16a4,16a,16a4,16a4,16g,16a4,16a4,16f,16a4,16a4,16d#,16a4,16a4,16e,16f,16a4,16a4,16a,16a4,16a4,16g,16a4,16a4,16f,16a4,16a4,d#

sleep

power sleep

turn off my LG TV via a decoded NEC code:

ir tx NEC 04000000 08000000

turn off my LG AC via a RAW IR file (already stored on the FS):

ir tx_from_file AC_LG_SX122CL_off.ir

turn on a remote-controlled power socket from a decoded Sub file (already stored on the FS):

subghz tx_from_file plug1_on.sub

send a custom rf command (format {3-byte hex_key} {frequency} {te} {count}):

subghz tx 445533 433920000 174 10

execute a badusb script (already stored on the FS):

badusb run_from_file HelloWorld.txt

set a pin in (digital) output mode (only on unused GPIO pins, using Arduino pinMode()):

gpio mode 2 0 

sets the a pin's value (only on unused GPIO pins, using Arduino digitalWrite()):

gpio set 2 0 

read a pin's value (only on unused GPIO pins, using Arduino digitalRead()):

gpio read 2

read a file content, and output on the console:

storage read BruceRF/bruce_0.sub

list files on the root (SD card if present, LittleFS otherwise):

storage list /

delete a file:

storage remove BruceRF/bruce_0.sub

scan connected I2C devieces:

i2c

View currently-active settings:

settings

Change the radio module setting:

settings RfModule 1

Reset settings to the default:

factory_reset

NOTE: filenames are case-sensitive on LittleFS only, and cannot contain spaces/escape chars.