A community information display. Ledslie is designed to be open and accessible to all that want to display information to a shared space.
- The Project page is https://wiki.techinc.nl/index.php/Ledslie
- Code is kept at https://github.com/techinc/ledslie
Ledslie is based around the MQTT broker framework.
It consists of various processes that do one particular job.
- Site is a website based on Flask that users can interact with directly
- Scheduler maintains a queue of frames and sends the next to the serial port.
- Typesetter takes a text and generates the frame to be displayed.
Ledslie has various dependencies on other projects.
- Mosquitto is the MQTT broker.
- Nginx does the webserver work.
- Ansible does the Deployment from the deploy directory.
- Pillow is used for image processing.
- Spacestate maintains the 'spacestate' MQTT topic with the current spacestate
- serial2mqtt publishes input for a serial port to mqtt. This is a Painlessmesh to mqtt bridge.
To test, use vagrant to run a VM that has all the system running (except, likely, the display)
$ cd deploy; vagrant up
To update the vagrant once installed
$ cd deploy; vagrant provision
To deploy to the machine (only works when in the space)
$ cd deploy; ansible-playbook -i techinc ledslie-install.yml
For a faster deploy when only existing programs are being updated there's
--tags update
There are unittests in tests. The test runner is pytest
- /ledslie/text doesn't work. errors in log.
- animated gifs give errors in log