This code lets set up and run a cheap realtime community sign with a off-the-shelf router and two scrolling LED signs. All the content for the sign is managed by a centralized server, where you can pick transit or calendar information to display on the signs.
This is part of the Lost In Boston Realtime project of the MIT Center for Civic Media. This project is about helping people work together to make their neighborhoods more visitor-friendly. Community groups are partnering with local businesses and institutions to install digital signage that call out useful information in their area.
Read the INSTALL.md for detailed setup instructions.
First make your own config file by copying config.ini.template
to to config.ini
.
We talk to the LED Signs via USB-Serial adaptors (cheap Prolific brand). Edit your config.ini
file to be something like this:
[Communication]
serial_path=/dev/ttyUSB0
serial_path_2=/dev/ttyUSB1
serial_baudrate=9600
write_to_serial=1
If you just download and start the code, the sign will display content from the content.xml
file included. However, it is intended to fetch content from a server, so it can display realtime information. If you want to have the sign realtime content from a server, you'll need to install our Community Sign Server software on a server. Then
Our software is designed to source community transit and calendar information from a central server. However, out of the box we have included a content.xml
file that is used instead of live data from a server. To talk to a server set the variables in the Server
section of config.ini
and delete the content.xml
file.
For our pilot test, here is the set of hardware we used.
Total cost $300
-
$200 for two one-line LED Signs from SignsDirect
- or $340 for semi-outdoor brightness
-
$70 Router (Netgear WNR3500L) from [various sources] http://www.google.com/products/catalog?q=netgear+wnr3500l&um=1&ie=UTF-8&tbm=shop&cid=9147418170759086567&sa=X&ei=yewETo6rGcytgQfW8dHbDQ&ved=0CDAQ8wIwAg
-
$2.70 USB Hub (3 ports) from monoprice
-
$5 USB Stick (1GB) from anywhere like microcenter
-
$8 Project Box from Mouser
- made by hammond
-
$4.51 Dual Power Cord Splitter (15P to dual 15R) from monoprice
-
$6.50 AC Power to Dual C13 splitter (Hosa YIE-406 Dual IEC Power Cable Y-Cable) from zzounds google shopping
-
$3 Extension Cord:
-
Stand for sign - we laser cut this, using a total of about $3 worth of acrylic
When the software queries the server it passes along the following arguments on the end of the url:
- serial: the serial number set in your
config.ini
- secret: the secret key set in your
config.ini
- codeVersion: the version number of the code
- protocolVersion: the verson number of the xml protocol it expects to receive
- status: the current status of the sign (one of the
SignController::STATUS_*
constants)
The server's resonse is identical in format to what is shown in the content.xml
file. The <info>
tag holds the content for display on the sign. For two-line signs, you should separate each line with a EOL. The only <command>
recognized for now is restart
. This command will restart the client software.