Ledcat is simple utility that aims to provide a standard interface for driving LED-strips and such.
Simply create a program that outputs 3 bytes of RGB for each pixel in your strip.
Install the Rust Language if you have not already.
Then, you can install ledcat directly using Cargo.
sh
cargo install ledcat
Or build and install it manually:
sh
git clone https://github.com/polyfloyd/ledcat.git
cd ledcat
cargo build --release
cp target/release/ledcat /usr/local/bin/ledcat
```sh
perl -e 'print "\xff\x00\x00" x 30' | ledcat --geometry 30 apa102 > /dev/spidev0.0
sh
nc -ul 1337 | ledcat --geometry 30 apa102 > /dev/spidev0.0
sh
convert image.png -resize 75x8! -depth 8 RGB:- |
ledcat --geometry 75x8 --transpose zigzag_y apa102 > /dev/spidev0.0
sh
while true; do
convert -background black -fill cyan -font Courier -pointsize 8
-size 75x8 -gravity center -depth 8 caption:"$(date +%T)" RGB:-
sleep 1;
done | ledcat --geometry 75x16 --transpose zigzag_y apa102 > /dev/spidev0.0;
sh
mkfifo /tmp/ambient mkfifo /tmp/messages cat /dev/urandom > /tmp/ambient & ./my_messages > /tmp/messages & ledcat --input /tmp/ambient /tmp/messages --linger --geometry 30 apa102 > /dev/spidev0.0 ```