Skip to content

techinc/ledslie

Repository files navigation

Ledslie

A community information display. Ledslie is designed to be open and accessible to all that want to display information to a shared space.

Components

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.

Bonus tracks:

  • 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.

Deploying

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

Testing

There are unittests in tests. The test runner is pytest

Bugs

  • /ledslie/text doesn't work. errors in log.
  • animated gifs give errors in log