Jump to content


Photo
- - - - -

Controlling a scrolling LED message sign from a PC (Linux)


  • Please log in to reply
18 replies to this topic

#1 dallaskorben

dallaskorben

    Hak5 Fan ++

  • Active Members
  • PipPipPipPip
  • 71 posts

Posted 20 September 2009 - 03:25 PM

This is a project to control a scrolling LED message sign from a PC. The sign used is a RRDS100 scrolling LED message sign with remote (I bought mine at ThinkGeek for $40). This sign is programmed using an IR remote control, so to control it from a computer it is just a matter of connecting an IR transmitter and sending the right commands.

This project uses the LIRC package in Linux. LIRC exists also for Windows, but I haven't tested it.

On YouTube at you can see a video of putting together an IR transmitter, and using it to program the scrolling LED sign.

Hardware requirements:
  • serial port (USB-serial adapter will NOT work, it must be a proper serial port installed in the machine)
  • IR transmitter (build your own - schematics: http://www.lirc.org/transmitters.html)
  • scrolling LED sign (RRDS100) - http://www.thinkgeek...dgets/car/afe6/
    • the sign has a 12v car plug, an adapter is needed to use it in the house (note: cheap weak ones may not work, the sign is power hungry)


Software requirements: (tested only in Linux)
Packages needed:
  • apache2
  • php5
  • lirc

Attached to this post: (posted on remote server because .zip attachment not allowed)


Building an IR transmitter:

Schematics for a simple serial port IR transmitter are available on the LIRC website: http://www.lirc.org/transmitters.html. Other types of IR transmitters exist and are supported by LIRC, but this kind is very cheap and simple to build.

IR transmitter parts
  • DB9 female (digikey: L77SDE09S-ND $1.08) - 9 pin connector for serial port
  • IR LED (digikey: 475-2648-ND $0.41) - same type as used in remote controls
  • 1K resistor (digikey: 1.00KXBK-ND 5/$0.53) - current limiting for the LED
  • diode (digikey: 1N4148FS-ND $0.04) - protects against reverse voltage (low level of DTR may be as low as -12v)
  • 2-conductor wire (or two pieces of wire) (I used digikey: C1228-100-ND 100 feet, 2 conductor $49.81)
  • heatshrink (digikey: Q2F3X018B-ND 4 feet of 1/8" $0.48, Q2F3X014B-ND 4 feet of 1/4" $0.94) - insulates connections and looks better than bare wire
  • DB9 plastic hood (digikey: 909GPE-ND $1.01) - covers the DB9 connector, resistor and diode as well as providing a grip when connecting/disconnecting from computer

Not including wire, the parts cost $4.49 from Digi-Key. Nearly any type of wire can be used, depending on the length you want and what type of wire you want, you can use whatever free wire you have available to you (from a broken mouse, for example) or you can buy a roll of wire from Digi-Key or elsewhere (you certainly don't have to spend $50 on wire only for this project!).


What does rrdsmessage.c do?

rrdsmessage.c is a small C program that when passed a string of text will call 'irsend' (LIRC) with the button presses necessary to reprogram the scrolling LED sign with the text. It can be used independently of the hak5sign PHP scripts, either from the command line or executed by another program or script. Usage is: rrdsmessage "Message text" banner - where "Message text" is the message to program into the sign, and 'banner' selects where the sign stores the message (M0-M9 and banner are supported).


Setup:
  1. install apache2, php5, and lirc packages.
    • when installing lirc, a configuration dialog comes up:
      'Choose a remote if you would like to preload a configuration' - select 'none'
      'If you need to use an IR transmitter, please select it:' - select 'Serial Port (UART) : Direct TV Receiver'
      We won't actually use the Direct TV configuration, but this way LIRC will configure itself properly to use the IR transmitter we built.
  2. place rrds100.conf in /etc/lirc/
  3. edit /etc/lirc/lircd.conf and add 'include "/etc/lirc/rrds100.conf"'
  4. restart lirc (sudo /etc/init.d/lirc restart)
  5. connect IR transmitter to serial port, place IR LED near back of the sign.
    • 'irsend send_once rrds100.conf banner' should now work ('banner' can be the name of any button on the remote control)
  6. place contents of hak5sign.zip in /var/www/ (or other place accessible by apache)
  7. compile rrdsmessage.c if necessary (note: rrdsmessage should be in hak5sign directory with sign.php)
    • './rrdsmessage "Test message" banner' should now work - the sign should be reprogrammed to display "Test message"
  8. success! http://127.0.0.1/hak5sign/ should show hak5sign/index.php and you can now enter a message to program the sign


Don't forget to check out the YouTube video at to see this project in action!


edited 2010-10-09: updated links for rrds.conf and hak5sign.zip downloads

Edited by dallaskorben, 09 October 2010 - 09:51 PM.


#2 Matt Lestock

Matt Lestock

    Wait, What?

  • Active Members
  • PipPipPipPipPip
  • 178 posts
  • Gender:Male
  • Location:Williamsburg, VA

Posted 21 September 2009 - 01:15 PM

Great video and idea dallaskorben!
Former co-host of Hak5
Check out my new show @ http://thenewtech.tv

#3 digininja

digininja

    Elite

  • Global Moderators
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 2,576 posts
  • Gender:Male
  • Location:Sheffield, UK

Posted 22 September 2009 - 03:14 AM

Good tutorial, I like full walk throughs like this.

#4 dallaskorben

dallaskorben

    Hak5 Fan ++

  • Active Members
  • PipPipPipPip
  • 71 posts

Posted 24 September 2009 - 01:44 PM

Thanks for the good words, guys!

If anybody has any feedback, I'm all ears. This was the first time I tried putting a video together, there's definitely a lot of room for improvement, and I can use any help I can get. smile.gif


I normally have the scrolling LED sign setup in the corner of my lab, operated by a script running on a server that is running a crawler to archive some websites I am interested in. Whenever the crawler finds new material, it updates the sign to show how much has been archived so far.

#5 RomulusRaven

RomulusRaven

    Newbie

  • Members
  • 2 posts

Posted 24 October 2009 - 05:45 PM

Hi Dallas,

Great tutorial! I bought 4 of these at a flea market for $3 but there weren't any remotes... I then found your post and was quite excited! I tried implementing the solution but was unsuccessful (in Windows XP). After many failed attempts I gave in and bought a new one off of eBay ($20 w/ shipping) in order to use its remote.

Here's what I found: The remote doesn't work with the 4 either! I haven't disassembled them to see differences, but what I can tell is this. All are RRDS100's, but the 4 are copyrighted 2006; the new one is copyrighted 2007. Perhaps the earlier version sent different IR codes. Can you confirm the copyright of yours? Any idea how I can ascertain the codes of the 2006 models?

Thanks again!

RomulusRaven
(Long-time fan, first-time correspondent)

#6 dallaskorben

dallaskorben

    Hak5 Fan ++

  • Active Members
  • PipPipPipPip
  • 71 posts

Posted 24 October 2009 - 09:11 PM

QUOTE (RomulusRaven @ Sat, 24 Oct 2009 15:45:32 +0000) <{POST_SNAPBACK}>
Here's what I found: The remote doesn't work with the 4 either! I haven't disassembled them to see differences, but what I can tell is this. All are RRDS100's, but the 4 are copyrighted 2006; the new one is copyrighted 2007. Perhaps the earlier version sent different IR codes. Can you confirm the copyright of yours? Any idea how I can ascertain the codes of the 2006 models?

Mine is copyright 2007 also - I didn't know there were different versions of the sign. The best way I know of to use the 2006 signs would be to find a remote control for that version and learn the codes - but I don't have any advice how to find one of those remotes controls. I wonder if the codes are similar to another device and if we could scan through codes to find a set that work - but I don't know what other device might use the same set of codes either.

#7 RomulusRaven

RomulusRaven

    Newbie

  • Members
  • 2 posts

Posted 26 October 2009 - 07:32 PM

QUOTE (dallaskorben @ Sat, 24 Oct 2009 22:11:07 +0000) <{POST_SNAPBACK}>
Mine is copyright 2007 also...


Yeah, I'll have to try to find a new (2006) remote. I might do a bit of searching to see if I can do some sort of test scan like war-dialing... hmmm... I'll keep you posted. Please let me know if you have any new revelations on the project!

Thanks again.

-RomulusRaven

#8 Dark_Aaron

Dark_Aaron

    Hackling

  • Members
  • Pip
  • 10 posts
  • Gender:Male
  • Location:TN

Posted 21 December 2009 - 03:22 AM

Nice Job. smile.gif
- Aaron Blakely

Perl Programmer, Linux User

#9 stretch

stretch

    Newbie

  • Members
  • 3 posts

Posted 28 June 2010 - 02:55 PM

I've started buying the bits to do this hack however the files aren't on rapidshare anymore, I get

This file has been removed from the server, because the file has not been accessed in a long time.

could someone re upload?

Also i'm in the uk but can't find the RRDS100 however there's lots of matching signs on ebay, is the RoadMaster one you used just a rebranded sign?

#10 Equilar

Equilar

    Newbie

  • Members
  • 1 posts

Posted 29 June 2010 - 04:48 AM

I too am hoping someone can re-host these files.

Please and thank you

#11 stretch

stretch

    Newbie

  • Members
  • 3 posts

Posted 16 August 2010 - 04:16 PM

someone must have them?

#12 dallaskorben

dallaskorben

    Hak5 Fan ++

  • Active Members
  • PipPipPipPip
  • 71 posts

Posted 09 October 2010 - 09:53 PM

Sorry I didn't re-post the files earlier, I spent some time away from this forum. I've updated the links in my previous post, the files are also linked below.




#13 okiwan

okiwan

    /* no comment */

  • Active Members
  • PipPipPipPipPipPipPip
  • 893 posts

Posted 10 October 2010 - 12:35 AM

cool stuff man. great work!
twitter - @OneAngryPenguin
http://okiwan.blogspot.com/


QUOTE
"Shannon what you got?"
"IM A BIRD!"

#14 justapeon

justapeon

    Hak5 Zombie

  • Active Members
  • PipPipPipPipPip
  • 183 posts

Posted 02 February 2011 - 07:24 AM

Reading this thread a wee bit late, but looks very interesting. think I have all the parts but the ir led. Seems to be the equivalent of an nte3017. Maybe Fry's will have it. Already have the other parts.

#15 DconBlueZ

DconBlueZ

    Newbie

  • Members
  • 1 posts

Posted 02 February 2012 - 01:11 PM

Anyone know where I can find a copy of these files? The video is still up but can't find the files. I'd like to set this up for the sign on my car. Ideally I'd like to figure out a way to use SMS to program the sign on the fly, or some other way to use voice recognition on my Android phone or tablet.

#16 zettaquark

zettaquark

    Hak5 Fan +

  • Active Members
  • PipPipPip
  • 38 posts

Posted 18 October 2012 - 11:42 AM

Havoc ala Raspberry Pi...... Thx for the idea :).

#17 Emerica

Emerica

    Newbie

  • Members
  • 1 posts

Posted 02 January 2013 - 05:05 PM

Ok.
I don't know what year of sign I have, I'll have to pull it apart again. It's new.
Here is the video of my sign

I
've captured all of the NEC commands from the remote.

They are formatted in the order of the remote itself.
http://s7d5.scene7.com/is/image/CanadianTire/0375354_1?$medium$&defaultImage=image_na_EN
^^ Remote as seen in picture with red and green buttons.

char keys[54][4]  = {
			    "RUN","A","B","PWR",
			    "C","D","E","F",
			    "G","H","I","J",
			    "K","L","M","N",
			    "O","P","Q","R",
			    "S","T","U","V",
			    "W","X","Y","Z",
			    "!","?","#","$",
			    "SHT","DEL","CAP",
			    "LAR","EDT","RAR",
			    "ENT","INS","CLR",
			    "1","2","3","4",
			    "5","6","7","8",
			    "SPD","9","0","INV",
			    " "
			  };

long codes[] = {
			    0xFFF807,0xFFBA45,0xFFFA05,0xFF38C7,
			    0xFF3AC5,0xFF7887,0xFF7A85,0xFFB847,
			    0xFF1AE5,0xFF58A7,0xFFDA25,0xFF9867,
			    0xFFD827,0xFF9A65,0xFF5AA5,0xFF18E7,
			    0xFFC03F,0xFF40BF,0xFFC23D,0xFF807F,
			    0xFF02FD,0xFF827D,0xFF42BD,0xFF00FF,
			    0xFF22DD,0xFF609F,0xFF629D,0xFF20DF,
			    0xFFE01F,0xFFA25D,0xFFE21D,0xFFA05F,
			    0xFF50AF,0xFF52AD,0xFF906F,
			    0xFFD02F,0xFF926D,0xFF10EF,
			    0xFF12ED,0xFFD22D,0xFFB04F,
			    0xFF0AF5,0xFF8A75,0xFFCA35,0xFF8877,
			    0xFFC837,0xFF48B7,0xFF4AB5,0xFF08F7,
			    0xFFE817,0xFFAA55,0xFFEA15,0xFF28D7
			  };

My remote sends them like this, but all I had to send to change the sign was the buttons hex.
0xFFBA45
0xFFFFFFFF



I am posting them here so people don't have to do that legwork again, but more importantly so we can look for more codes (special characters, symbols different languages)
I'm not really seeing any rhyme or reason to the Hex.

I got a bus pirate today, hopefully be able to dump the chip and look for more codes/serial control. We'll see.

If anyone has dumped different codes, please post them.

#18 kommie2000

kommie2000

    Newbie

  • Members
  • 1 posts

Posted 16 July 2013 - 11:55 AM

Does anyone still have the rrds100.conf and hak5sign.zip files?  they are no longer available at the links above.

 

Any luck with the serial port yet?



#19 MB60893

MB60893

    Hak5 Fan ++

  • Active Members
  • PipPipPipPip
  • 72 posts
  • Gender:Male

Posted 09 January 2014 - 06:29 PM

I have programmed similar things with a Picaxe micro-controller. Just add an infrared receiver and you can make it do everything really simply.






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users