Serial - pr3y/Bruce GitHub Wiki
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.
- via the Arduino IDE Serial Monitor, Putty, or any other serial terminal app
- via the terminal/a bash script:
echo "say My name is Bruce" | busybox microcom -s 115200 /dev/ttyACM0 -t 1000
- via a python script
- from a smartphone using SerialManager
- via the WebUI "SerialCmd" button
- after starting the WebUI, with
curl -XPOST "http://bruce.local/cm" -d "cmnd=say My name is Bruce"
(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 |
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.