- Python 95.6%
- Shell 4.4%
| .gitignore | ||
| 5x7.pcf.gz | ||
| 99-ledpanel.rules | ||
| http_server.py | ||
| hw_pygame.py | ||
| hw_usb.py | ||
| ledmatrix.py | ||
| ledmatrixd.py | ||
| pacman_20x20_right_to_left.png | ||
| README.md | ||
| requirements.txt | ||
| run_ledmatrixd_sim.sh | ||
| run_ledmatrixd_usb.sh | ||
| run_vscode.sh | ||
| ter-x20b.pcf.gz | ||
ledmatrixd
A python client that will control the LED matrix that's hanging in the Nerdberg hacker space.
https://twitter.com/NerdbergEV/status/1457238769220849666
The hardware is a LED sign from a subway train that was donated to the hacker space, and ints innards (control computer) were replaced by small PCB with a stm32 controller. This hardware is documented here:
https://github.com/vogelchr/subway_led_panel_stm32f103
This software is still in active development as of January 2022.
Prerequisites
Make the panel accessible by the user running this daemon, see for example the included file 99-ledpanel.rules.
Have xorg-fonts-misc and the terminus font installed (Archlinux: terminux-font, xorg-fonts-misc).
Quick start
This daemon can be run in two ways:
./run_ledmatrixd_sim.sh
Which creates a python virtualenv, installs (besides other things) pygame, and pops up a small window showing a simulated USB matrix. This is useful for development. The other alternative is
./run_ledmatrixd_usb.sh
...which tries to connect to the real device using USB, and runs it in a python virtualenv that has pyusb installed.
(this translates to the "-S" simulation argument of pymatrixd.)
MQTT
MQTT Messages received as json objects in the subscribed topic:
Turn the LED sign off (currently unimplemented)
{
'command': 'off'
}
Turn the LED sign on (currently unimplemented)
{
'command': 'on'
}
Replace the main (in canvas #0)
{
'command': 'write',
'text': 'string you want to replace'
'direction': pixels per 60th second
}