Skip to content

prashnts/disinfo

Repository files navigation

Disinfo!

Simulated Info Demo

Note that this repo is actively being developed over various weekends. It may be drastically different tomorrow.

Lots of things are currently undocumented and unstable.

Connections:

  • Homeassistant (over MQTT)
  • Pirate Weather
  • Numbers API
  • IDFM (Paris Metro)

Hardware:

  • 2x HUB75 RGB LED Matrix 64x64
  • Raspberry Pi (3B+ or better)
  • Interface to connect the matrix to GPIOs
  • Power Supply

Refer to rgb-led-matrix library for details.

Notes:

  • Upgrade pillow (apt is too old) via pip install --upgrade pillow

Licenses:

  • Tamzen
  • Scientifica
  • Pixel Operator

(todo: Attributions)

HUB75 Connections to Pi

MATRIX  PIN       GPIO
strobe  7         4
clock   11        17

G1      13        27
G2      21        9
R1      23        11
R2      24        8
B1      26        7
B2      19        10

A       15        22
B       16        23
C       18        24
D       22        25
E       10        15

OE      12        18

Log2RAM https://github.com/azlux/log2ram

echo "deb [signed-by=/usr/share/keyrings/azlux-archive-keyring.gpg] http://packages.azlux.fr/debian/ bullseye main" | sudo tee /etc/apt/sources.list.d/azlux.list
sudo wget -O /usr/share/keyrings/azlux-archive-keyring.gpg  https://azlux.fr/repo.gpg
sudo apt update
sudo apt install log2ram

[notes] Setup RPI from scratch

  • Assuming a fresh minimal install.

  • Set isolcpus=3 in cmdline.txt at the end.

  • Set dtparam=audio=off in config.txt

  • check disk speed with sudo hdparm -Tt /dev/sda (install hdparm first)

  • with dd dd if=/dev/zero of=/tmp/output bs=8k count=10k; rm -f /tmp/output

macOS Setup

  • Install pyenv, redis, libsixel, cairo from brew.

  • Ensure libsixel can be found -- sudo ln -s /opt/homebrew/lib /usr/local/lib -- on macos with apple silicon

  • watchmedo auto-restart -d disinfo -d assets --patterns="*.py;*.png;*.bdf;*.ttf" --recursive -- python -m disinfo.renderers.sixel --fps 42

  • uvicorn disinfo.web.server:app --host 0.0.0.0 --port 4200 --reload -- run a local server showing the screen.

  • watchmedo auto-restart -d disinfo -d assets --patterns="*.py;*.png;*.bdf;*.ttf" --recursive -- python -m disinfo.renderers.background --fps 25 -- to feed the webpage.

About

A tiny LED display information screen

Resources

License

Stars

Watchers

Forks

Packages

No packages published