LED Sign/v2

From Makers Local 256
Jump to: navigation, search

Creator:
brimstone
Status:
Prototype of new version completed
Born On:
the beginning of time
Last Updated:
20:38, 28 January 2019 (CDT)

Overview

There is a giant LED sign at the shop. I am very lazy so I am not going to tell you what kind it is. However, I do know that the python library for Alpha American and Betabrite signs will drive it just fine.

The old code was written by User:brimstone, I believe, before there were really libraries out there for using the sign. So the protocol was written into the script by him. I (User:hfuller) wrote the current Python version, using the library.

It's also now integrated into RQ for the !alert functionality. It subscribes to ml256/irc/+/command/alert to respond to alert commands in IRC, and it publishes to ml256/bigsign/alert whenever an alert is displayed. More information can be found on the RQ page.

To make informational messages appear on the sign in a distinct and less annoying fashion, publish instead to ml256/info/(anything) a message with this format: {"source":"description of the thing sending it", "message":"the message goes here"} - you are encouraged to use this for any random stuff you want to tell the entire shop about.

Status of new code

[1]

This code does the same thing the old code did, with a lot of sweetening for the !alert stuff. It also utilizes the sign's clock functionality to allow it to update on its own, even if the computer explodes. However, there is still a script called 'graph.bash' from the old code that is run every five minutes to graph the temperature data, as well as write the current date, temperatures, blurb message, and ping time to a file. The python code just reads that file from disk to display it. This needs to be made more efficient but it's Good Enough(tm) for now.

Goals

  • Continuously update the sign in an "inexpensive" way so we can have a more accurate clock and other readouts.
    • This is done to an extent. More stuff could be updated using strings (the more inexpensive way, basically - embed strings in the page and then update the strings)
  • Add extra screens for stuff like alert and other messages.
  • Expose all relevant functions over REST, especially the extra screens for alert functionality.
    • Superseded by RQ
  • Tie the extra screens into RQ.
  • figure out sign graphics protocol and test.
  • Contribute graphics extensions into upstream library.

Notes

Deployment Status

This code is currently deployed on the same Raspberry Pi as Wham under /opt/bigsign/. To update the message displayed on the sign, update blurb= entry in settings.ini and run "systemctl restart sign".