Tom Hammond

Tom Hammond

 

2017 Presentations

 

XLights and LOR Living Peacefully Together 

by Clyde Lindsey

Do you use XLights and want to add LOR or you use LOR and want to add XLights, but not sure how or they just don't seem to play nice with each other?? Then this session  you won't want to miss!! Clyde is going to go over the "Tips & Tricks" on getting LOR & XLights to work together!

PDF version of presentation slides

 


 

Internet Controlled Christmas Lights

by Tom Hammond

Tom will outline how to create an internet controlled, interactive Christmas light display, based on "FREE" software (Xlights and Falcon Player) and "Low-Cost" hardware (Raspberry Pi and Arduino).

PDF version of presentation slides

 


 

Pixels on a Budget

by David Jones

David is the "guru" of DIY, and he will show you how to have the Holiday show of your dreams, and not break the bank!

PDF version of presentation slides

 


 

Raspberry Pi

by Dan Blickensderfer

You just got your new Raspberry Pi, now what?  Let Dan show you how to set it up and control your lights wirelessly.

PDF version of presentation slides

 


 

Dumb RGB's

by Clyde Lindsey

Clyde will show you the many advantages of using "Dumb RGB".

 

Contact Us

Tom Hammond

15439 Valley View Road

Doylestown OH 44230

 

Phone: 330-658-3872

Email: This email address is being protected from spambots. You need JavaScript enabled to view it.

Facebook: www.facebook.com/tominohio1

Easiest to hardest:

  • SAVE NEWS ARTICLES ON WEBSITE TO PDF!
  • Add realtime clock to webpage for visitors from different timezones to easily tell when lights are available
  • Add two bulbs to bottom left string
  • Shorten bottom left and bottom middle cords?
  • Make floor hole in living room larger
  • Replace current garage extension cord with new 50' cord
  • Backup FPP as image
  • Backup camera as image
  • Backup "Christmas DMX" folder to CD
  • Make new tree anchors
  • Fix driveway arch
  • Find out why last 4-5 pixels do not light up on bottom left string (something wrong with sequence or string itself?)
  • Secure camera better so that wind doesn't blow it around.
  • Add resistors to data lines in GE control box
  • Build how-to website
  • Redo Layout in xLights (fix window accuracy)
  • Add WS2811 RGB spotlights
  • Add WS2811 mini arches
  • Person who may provide free stuff from MicroCenter: Ed Lukins, 614-850-3270
  • Find out how to allow more simultaneous connections to the camera. Try setting up sessions with Facebook Live? YouTube Streaming? Twitch? I discovered that a 4.5Mbps upload connection allows up to 8 simultaneous connections.
  • When there are too many people clicking, try setting up votes so that every 30 seconds, the most voted sequence plays.
  • Figure out whe GE bulbs are pink at times when they are supposed to be white (ask Facebook group)
  • Fix existing sequences and make them nicer, convert my old animations to sequences.
  • Website does not seem to show me as the clicker, even when the lights are available. It shows the previous clicker as using them instead.
  • Find out why white analog LED lights flicker on wreath
  • Find out why Falcon Player services sometimes stops for no reason, will not accept web input, have to restart service. (intermittent problem, sometimes more often than not). If I fix *** below, it may fix this problem, too.
  • Find out why GE controller "freezes" for no reason, need to reset power to accept DMX data from Falcon Player (rare problem).
  • Find out way to prevent people from sending commands to Falcon Player when lights are not on (daylight hours)
  • Find out why GE pixels are pink instead of white under full load (seems to be a power issue, not a bad pixel issue)
  • Fix marquee (make stiffer diffuser, enable 8-pixel characters, shorter (black) network cable, attach LED strips better), strengthen box halves, fix Arduino sketch problem.
  • Build flat tree like Keith's!

 

  • Currently building the iTwinkle website
  • Preparing for a presentation at Light Up Ohio this coming weekend
  • Ordering hardware to build the 17' tree
  • Fixing broken props from last season

(work-in-progress document)

 

Install BBB OS and Falcon Player in one step

  1. Download image from http://sourceforge.net/projects/win32diskimager/files/latest/download onto microSD card
  2. Insert card, hold down button S2, connect USB cable to power it on.
  3. Keep holding button until blue lights start to flash
  4. Wait about 20-25 minutes
  5. When blue lights stop flashing, disconnect USB cable and remove microSD card
  6. Connect network cable and empty flash drive, then connect power
  7. Access FP web interface via http://fpp/
  8. Allow FPP to automatically update to 1.8, then allow it to reboot and automatically update to v1.9

 

The tune-to sign works independently of the rest of your light show.  It does not use the animations created by xLights and is not controlled by Falcon Player.  Instead, when powered up, it reads a file named MESSAGES.TXT on a website that contains a list of holiday messages.  It then begins displaying these messages in a random order.  

Between messages, the tune-to sign reads a file named LOCATION.TXT on a website.  If you are using Internet controlled lights, this file displays the location of the Internet user who is currently controlling your lights.  If someone is actively controlling your lights, the tune-to-sign will display that person's location.  When no one is controlling your lights, the tune-to sign will resume displaying random holiday messages.

The tune-to sign is meant to be seen by cars passing by.  Therefore the enclosure is large (16 feet wide) and the characters are large (about 10.5" tall).  To save power and keep the sign affordable, it uses only seven strips of LEDs at 135 lights each, totaling 945 lights.  Instead of combining many lights to make large letters, I use fewer lights that are magnified with honeycomb-like channels that reflect and amplify each light within each channel.  That way the entire sign can be driven by an inexpensive Arduino and a regular 400-watt computer power supply.

The enclosure is a long, narrow box that houses the power supply and Arduino on the left (as you are facing the sign) in a compartment.  The compartment has removable face to allow access to this hardware.  Seven strips of LEDs line the rest of the enclosure in the second compartment, the front of which is covered with plastic diffuser used to cover drop-ceiling lights.

 

Building the Enclosure

The build plans are here.  The build plans above provide dimensions for enclosures using 1/2" or 1/4" thick wood.  My actual enclosure uses 3/4" thick wood because it was cheaper at the home improvement store.  I used poplar, but discovered that it becomes soft in wet/snowy weather, so the screw fasteners tear apart.  Use a harder wood for your enclosure.

The enclosure consists of 3/4" wood for the top, bottom, sides, and compartment divider.  I used 1/8" plywood for the backing.  In additional to the poplar being too soft, the plywood backing warps badly in moist weather.

For the panel that covers the hardware compartment, I cut a piece of metal roofing and attached a wooden strip to become the handle.  Between the short electronics compartment and the long LED strip compartment, I installed a wooden divider.  I made the divider "float" above the back of the enclosure so that the wires from the LED strip in the long compartment can pass through to the electronics compartment.

To install the frosted diffuser, I used a table saw to cut tracks in to the top, bottom, and side walls, then slid the diffuser in the tracks.

 

Installing the LED strips

The LED strips can be purchased from Amazon, eBay, AliExpress, etc.  You can do a search for "ws2812b 5050 led strip 5v" to find them.  Make sure that they have 30 LEDs per meter; buy a 5M strip that has 150 LEDs on it.  The strip should be rated for 5V.  If you accidentally purchase a 12V strip, the LEDs are sometimes groups in threes and are not individually controllable.  Here is what they look like:

Trim each strip to 135 LEDs (if you are using a 16' enclosure like I am).  The strips usually have an adhesive backing, thought I've found that it doesn't stick to painted wood that well.  Run the seven strips of LEDs along the enclosure, spacing them evenly so that the LEDs form square distances from each other.  Then secure the strips better with white or clear tape.  In my enclosure, I actually ran eight strips, but the eighth strip is not used.  It is for future expansion that is not implemented yet.

 

Installing the power supply

As mentioned above, I use a 400W computer power supply to power the tune-to sign.  I found a 3D printed bracket on www.thingiverse.com to mount it in the enclosure (the purple bracket in the picture below).  

Because my power supply does not have a power switch (ATX power supplies typically do not), I shorted the green pin on the large motherboard connector to one of the black pins on that connector using a thick wire or bent nail.  This way, when the power cord is plugged in the power supply, it instantly powers on. Here are instructions on how to do this.

To power the LED strips, each LED strip has a red wire for power and a white wire for ground.  Your strip's wire colors may be different, so look closely at the strip to see which wires are power & ground; they should be labeled.  I soldered all seven red (power) wires together to a single, thick red wire.  I also attached an eighth red wire into this bundle; this will be used to power the Arduino.  I did the same for the white (ground) wires, soldering them together to a thick, black wire (with an extra eighth wire to ground the Arduino).  On the other end each thick wire, I crimped a cut-off nail.  I then plugged these two wires into the 5V and GND pins on the power supply's motherboard connector, respectively.  The nails were thick enough to make a snug connection.

 

Installing the Arduino

The tune-to sign is controlled by an Arduino Mega 2560.  These can be found easily on Amazon, eBay, etc.  The Mega 2560 model is required because it has enough RAM memory to hold the program and store the messages it will display. 

I found a 3D printed mounting bracket on www.thingiverse.com, then mounted the Arduino into the enclosure.  I connected the power and ground wires from the power supply to the 5V and GND pins on the Arduino (see picture below).

For a wiring diagram, please click here.

On my LED strips, the data wire is green.  Your strip's data wire color may be different, so look closely at the strip to see which wire is for data; it should be labeled.  I soldered a 220-ohm resistor to each data wire, then soldered a female connector to the other end of the resistor.  I then used heat shrink to protect the resistor and soldered connections on each end of it.  The resistor is used to reduce interference caused by "signal bounce".  Signal bounce can cause your LED strips to light-up unexpectedly.

For each of the seven data wires, I plugged them into pins 23-29 on the Arduino, with pin 23 for the bottom strip of the tune-to sign.  So the Arduino now has seven data wires, a 5V power wire, and a ground wire plugged into it.  With the picture below, I also connected a voltage display to the 5V and GND pins.  This tells me the voltage of the power supply that is helpful for diagnosing problems.

Lastly, I attached an Ethernet "shield" to the Arduino, like this one.  This allows the Arduino to have Internet access from my home network's router.  This can be easily found on eBay & Amazon; search for "Ethernet Shield W5100 Arduino 2560".  Be sure that the shield is model W5100 and supports the Arduino 2560.  Below is a picture of an Arduino Mega 2560 with an Ethernet shield attached to it:

And below is a picture of my Arduino with the shield and wires connected to it:

 

Programming the Arduino

 

You need to install a program on the Arduino that makes it become a tune-to sign controller.  To program the Arduino, you need to download the Arduino IDE.  This allows you to upload programs from your computer to the Arduino board.  Normally, you download the tune-to sign program, open it into the IDE, then upload the tune-to sign program to the Arduino board.  This is trickier than it sounds, as the program needs installed a special way into the IDE.  To save you time, you can download the Arduino IDE with the tune-to sign program already installed from here.  Simply unzip this file into a folder on your computer.

 

Configuring the tune-to sign program

The next step is configuring the tune-to sign program for your particular lights, such as the website where the Christmas messages are retrieved from.  To do this, edit the TomsTuneToSignProgram.ino file in the arduino-1.6.5-r2\examples\TomsTuneToSign folder with your favorite text editor.  These are the important lines that need changed:

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

The Ethernet shield may have a sticker on it with its MAC address.  This is a 16-character code, usually divided into eight 2-character pieces.  The MAC address is a like a house address in your neighborhood; it is a unique number that is different than other devices on your home network.  If your shield does not have this information printed on it, you may be able to skip modifying the above line.

char server[] = "itwinkle.org";  

This defines the website where the tune-to sign will find the LOCATION.TXT and MESSAGES.TXT files.  My website is "itwinkle.org", change this to your website instead.

int scrollSpeed=35;
int delayBetweenMessages=5000;

If the messages scroll too fast on your display, you can change the above "35" to a different number to speed it up or slow it down.  Normally, there is a five-second delay between each messages.  You can change this delay from "5000" (milliseconds) to a different number.

#define PIXELS 135 

If the strips of LEDs on your tune-to sign have more or less than 135 pixels per strip, change the above number accordingly.

int loopLocationDisplayDuration = 30;

If you are using Internet Controlled lights, the above number reflects the length (in seconds) of your animation files that website visitors choose.  In my case, my Internet controllable animations run 30 seconds each. 

 

Uploading the tune-to sign program

The next step is sending the tune-to sign program to the Arduino's memory.  To do this, open the folder that contains the Arduino IDE that you downloaded above.  Then run arduino.exe.  When the program starts, click File > Examples > TomsTuneToSignProgram.  A second Arduino IDE window will appear with the tune-to sign program open.

Before connecting your Arduino, verify this first:

* Make sure that you are using the Arduino Mega 2560.  The tune-to sign program only works with this board.

* If you have the LED strips connected to the Arduino, it is a good idea to temporarily disconnect them.  If the Arduino already has an older version of the tune-to sign program and you connect the Arduino to your computer, the Arduino may draw too much power from the USB port to power the lights.

When you have met the above requirements, connect the Arduino to your computer via a USB cable.  If this is the first time you have connected the Arduino, Windows will attempt to install hardware drivers for it.  Depending on the version of Windows that you have and the brand of Arduino, the driver may install automatically or you may be prompted to provide the driver software (you may have to download the driver software for that particular brand of Arduino).  Either way, the drivers must be installed successfully before proceeding to the next step.

When you connect the Arduino via USB and the computer accepts the connection with no errors (indicating that the drivers are installed and functional), tell the Arduino IDE the type of Arduino you are using.  Click Tools > Board > "Arduino Mega or Arduino Mega 2560".  Next, choose Tools > Ports > COM x where "COM x" is the virtual communications port that was assigned by the driver.  If you see more that one listing under "Ports" and are not sure which one to choose, try the first one, then try uploading the DMX program as explained below.  If the upload fails, choose the next COM port under Ports, then try uploading again.

Next, verify that the DMX program code is valid by clicking the checkmark icon in the Arduino IDE toolbar (below the File menu).  You will see "Compiling sketch..." in the window's lower status bar while the program is verified.  This may take several moments.  If you see an orange message stating "Error compiling", then there is something wrong with the DMX program or perhaps there is a typo in the global.h file that you modified above.  In this case, you will need to close the Arduino IDE program, fix the problem, then open the Arduino IDE and try to verify the program again.

If the tune-to sign program verifies correctly, you will see the "Done compiling" message in the status bar.  At this point, you can upload the tune-to sign program to the Arduino via the Upload button (the right-arrow button next to the checkmark button in the toolbar).  When you click Upload, the tune-to sign program will be verified again, then you will see "Uploading" in the lower status area.  A light on your Arduino will rapidly flash during the upload process.  When the upload is complete, you will see a message stating so in the status area.  You can disconnect the Arduino from the USB cable.

 

Preparing your website for the tune-to sign

When powered on, the tune-to sign retrieves its list of holiday messages from a file on a website called MESSAGES.TXT into its temporary memory.  If you want to change the messages the tune-to sign uses, simply update the MESSAGES.TXT file on your website, power off the tune-to sign, then turn it back on.  You may have up to 58 messages in this file with each message no longer than 75 characters.  If you store more (or lengthier) messages than indicated, the tune-to sign will not start properly.

Each message can be displayed in a variety of colors, specified as three-letter codes before the message.  For instance, here is a MESSAGES.TXT file with three colored messages in it:

<messages>
WHILet It Snow, Let It Snow, Let It Snow! 
REDIt's beginning to look a lot like Christmas
BLUIt is Christmas in the heart that puts Christmas in the air
</messages>

The color codes are: GRE (green), WHI (white), RED (red), BLU (blue), BRO (brown), YEL (yellow), CYA (cyan), PUR (purple), VIO (violet), LPI (light pink), MAR (?), TAN (tan), GOL (gold), LIM (lime green), LBL (light blue), ORA (orange), PIN (pink),

If your lights are Internet controllable similar to mine, my website creates a file called LOCATION.TXT and updates it with the current Internet user who is controlling the lights.  This file contains the location of the user, such as the following:

<location>
8575
Czech Republic
</location>

After the tune-to-sign displays a random holiday messages, it looks for the LOCATION.TXT file on your website.  If someone is actively controlling your lights, the tune-to sign will display the location (in this case "Czech Repulic") on the sign, telling people in your neighborhood where your Internet visitors are from.  If you do not have Internet controlled lights (there is no LOCATION.TXT file on your website), the tune-to sign will simply display random holiday messages.

 

Checking communication

After the tune-to sign program is uploaded to the Arduino, it will begin running the tune-to sign program immediately.  We now need to see if the controller can be contacted on an Ethernet network.  To do this, connect one end of an Ethernet cable to the Arduino's network board and the other end to an Ethernet switch or hub.  Connect your computer to the Ethernet hub/switch via another cable.

Then you can power-on your tune-to sign.  Lights should appear on the Arduino.  On the end of the network cable that plugs into the Arduino's network board, there are two lights.  One should be solid, indicating a connection to the Ethernet hub/switch.  The second light should be flickering occasionally, indicating that the Arduino is sending/receiving information on the Ethernet network.

As soon as you power the tune-to sign, it will contact the website that contains MESSAGES.TXT, then save the holiday messages therein to the Arduino's temporary memory.  It will then begin displaying these messages on your sign!

The tune-to sign works independently of the other light controllers.  It doesn't receive commands from xLights nor Falcon Player; the tune-to sign does not play shows created by these.  Instead, the tune-to sign relies on files on the iTwinkle website.  

When the tune-to sign is powered up, it looks for a file in www.itwinkle.org named messages.txt.  This file contains a list of messages for the tune-to sign to randomly display.  There can be up to 55 messages up to 75 characters long.  To change the messages that the tune-to sign displays, simply change the contents messages.txt file on the website, then reset the tune-to sign by disconnecting power, then apply power again.  Messages can be displayed in different colors; prefix each message with a three-character color code such as "RED", "BLU", "YEL", etc.

After displaying each message, the tune-to sign checks the website to see if anyone is actively controlling the lights.  It does this by reading the location.txt file on the website.  If this file shows a different location than the previous time it checked this file, the tune-to sign knows that someone is actively controlling the lights at that moment.  It then uses the contents of this file (city, state and/or region) to display the visitor's location with a message such as "Lights being controlled from Paris, France".  After this message is displayed, the tune-to sign goes back to displaying random messages again.

 

The tune-to sign is a bit of a misnomer.  Traditional tune-to signs display a message to outdoor visitors to tune their car radios to a station that is playing Christmas music that is synchronized to lights.  

My tune-to sign works differently.  It uses 135 columns by 7 rows of LED lights to display messages in a ticker-tape or scrolling marquee fashion.  These strips of LEDs are mounted in a 16' wooden box, powered by a computer power supply and driver by an Arduino Mega 2560.

You can program up to 55 messages of 75 characters each.  The tune-to sign will randomly display these messages in various colors.  

What makes this tune-to sign interesting is that if someone in the world is actively controlling the Christmas lights, the sign will display the country and city/region that someone is from, using a message such as "Lighting being controlled from Paris, France".

The tune-to sign controller works independently of the other controllers; the tune-to controller does not need to communicate with xLights nor Falcon Player.

Tune-to sign controller (one half)

In order for people on the Internet to control your Christmas lights, they need to see your lights (through an outdoor webcam) and actually control them (through the Raspberry Pi running Falcon Player).  This involves creating webpage that shows the video of your house and buttons that visitors click to control your lights.  This involves knowing a little about HTML and PHP programming, but I provide enough examples to get you started.

To create a webpage, you need to purchase a web hosting package.  There are many companies on the Internet that do this; I prefer www.1and1.com.  The hosting package will provide a place where you create your webpage and a domain name to access it (in my case, www.itwinkle.org).  Whichever company that you choose, make sure that it allows creating and running php scripts.

 

Showing a live video feed from your webcam on the webpage

  1. Create a file called index.php on your home computer using a text editor such as Windows Notepad.  Note: Do not use a word processor such a Microsoft Word as it will add extra characters into the php file that cannot be understood by the website.

  2. Type the following lines in this file:

    <!DOCTYPE html>
    <html>
    <body>
    <img src="http://itwinkle.ddns.net:8080" />
    </body>
    </html>

  3. Replace "itwinkle.ddns.net" with the Dynamic DNS hostname that you created in the "Setup a Dynamic DNS service so that the Raspberry Pi and webcam can be easily accessed from the Internet" page on this website.

  4. Save the file, the upload it to your website.  The technique for uploading filers can be different for each Internet hosting company.  I prefer using FTP to send the index.php file to the website, but there are many other ways.  Contact your website hosting company if you are not sure how to do this.

  5. Open a web browser on your home computer, then go to the website domain name that you created when purchasing the website hosting package.  In my case, the website is www.itwinkle.org

  6. You should see a live video feed from your webcam!

 

Controlling your lights from a webpage

The first step to controlling your lights from a webpage is configuring Falcon Player that runs on the Raspberry Pi.  Normally, you use the Falcon Player web interface to choose which show files that you want to play.  You choose a show/sequence file, click the [Play] button, then your lights play the show.  For Internet control of your lights, visitors need to play show files without using Falcon Player's web interface.  This involves writing "scripts" on Falcon Player to automate how it works.

 

Creating a script file on the Falcon Player Raspberry Pi

  1. Create a file called butterfly.sh on your home computer using a text editor such as Windows Notepad.  Replace "butterfly" with the name of your show/fseq file.  In my case, I named the file "butterfly.sh" because the show/fseq name is "butterfly.fseq".  Note: Do not use a word processor such a Microsoft Word as it will add extra characters into the script file that cannot be understood by the website.

  2. Type the following lines in this file, then save it:

    /opt/fpp/bin.pi/fpp -c stop
    /opt/fpp/bin.pi/fpp -p "butterfly"

    Replace the "butterfly" in the above line with the name of the show file you want to use.  

    The above lines do two things.  The first line tells Falcon Player to stop animating your lights, so that it is ready to play the show that was chosen.  The second line tells Falcon Player to play the "butterfly" show/fseq file, which starts animating your lights.

  3. Using your home computer's web browser, open the Falcon Player web interface, then login with the name & password when prompted.  In the Falcon Player menu, choose "Content Setup > File Manager", then click the Scripts tab.  The "Script Files" section should be empty as you haven't uploaded any scripts yet.  Click the blue [Select Files] button, then browse your computer to the folder where you saved the above butterfly.sh file.  When you select the script file and then click [Open], the file is immediately uploaded to Falcon Player on the RPi.  The Script Files section should show the script file that you uploaded.

 

Creating a script file on your website

  1. Create a file called butterfly.php on your home computer using a text editor such as Windows Notepad.  Replace "butterfly" with the name of your show/fseq file.  In my case, I named the file "butterfly.sh" because the show/fseq name is "butterfly.fseq".  Note: Do not use a word processor such a Microsoft Word as it will add extra characters into the php file that cannot be understood by the website.

  2. Type the following lines in this file, then save it:

    <?php
    $url = "http://itwinkle.ddns.net/runEventScript.php?scriptName=butterfly.sh";
    $headers = @get_headers($url);
    ?>

    Replace "itwinkle.ddns.net" with the Dynamic DNS hostname that you created from the Setup a "Dynamic DNS service so that the Raspberry Pi and webcam can be easily accessed from the Internet" page.  Replace the "butterfly" in the above line with the name of the script file that you created above.  

    The above lines allows website visitors to activate a file called runEventScript on your Raspberry Pi running Falcon Player.  This file then runs the script that tells Falcon Player to stop what it is currently doing, then play the show/fseq file that was chosen on your lights.

  3. Save the file, the upload it to your website.  The technique for uploading filers can be different for each Internet hosting company.  I prefer using FTP to send the butterfly.sh file to the website, but there are many other ways.  Contact your website hosting company if you are not sure how to do this.

 

Creating a website link to activate the website script

The final step is creating a button that website visitors click to play chosen show files, thereby animating your lights.  

  1. If you already created an index.php file to show video from your outdoor webcam, open this file to edit it.  Note: Do not use a word processor such a Microsoft Word as it will add extra characters into the php file that cannot be understood by the website.

  2. Between the <body> and </body> lines in this file, add the following lines then save it:

    <iframe style="display:none;" name="target"></iframe>
    <a href="/butterfly.php" target="target">Butterfly</a>

    Replace the "butterfly" in the above line with the name of the show file you want to use.

    The above lines allows website visitors to activate the butterfly.php on your website, which then activates a file called runEventScript on your Raspberry Pi running Falcon Player.  This file then runs the script that tells Falcon Player to stop what it is currently doing, then play the show/fseq file that was chosen on your lights.

  3. Save the file, the upload it to your website.  The technique for uploading filers can be different for each Internet hosting company.  I prefer using FTP to send the butterfly.sh file to the website, but there are many other ways.  Contact your website hosting company if you are not sure how to do this.

  4. Open your home computer's web browser, then go to the domain name that you created when purchasing the website hosting package.  You will see a link on the page called "Butterfly".  When you click this link your lights should starting animating with the butterfly show.

 

Protecting your Falcon Player Raspberry Pi from hackers

When website visitors click the "Butterfly" link to control your lights, this link activates the butterfly.php file on your website.  This file then activities the RunEventScript file on your Raspberry Pi.  The trouble is, RunEventScript can run all sorts of scripts on your Raspberry Pi, possibly scripts that can damage your RPi.  If hackers view the contents of the butterfly.sh file on your website, they will see references to RunEventScript and may try to hack your RPi.

The following steps offer basic security by hiding the RunEventScript reference, so that it is not easily seen inside the butterfly.php on your website.  As mentioned in earlier instructions, please disconnect your Raspberry Pi from the Internet when Christmas is over; do not leave it connected to the Internet 365 days a year!  Otherwise you could be inviting hackers to damage your RPi.

  1. Open the butterfly.php file that you created in the above steps, then copy its contents to the clipboard (highlight all lines, then press [Ctrl-C].

  2. With your home computer's web browser, go to the PHP Obfuscator website.

  3. In the area that says "Insert PHP file contents here...", click your mouse in this area, then paste the contents of the clipboard ([Ctrl-V]).

  4. The right area of this webpage will show a lot of gibberish.  Highlight all of this gibberish (make sure of you have all lines; you may have to scroll down to highlight all of it), then copy it to the clipboard.

  5. Create a new file called butterfly.php with a text editor, then paste the contents of the clipboard into it.

  6. Save the file.  Important: Do not overwrite the original butterfly.php file from Step 1; save this new file somewhere else.  You will need the original file in its "non gibberish" state in case you need to make changes to it in the future.

  7. Save the file, the upload it to your website, overwriting the butterfly.php file that was there.  The technique for uploading filers can be different for each Internet hosting company.  I prefer using FTP to send the butterfly.php file to the website, but there are many other ways.  Contact your website hosting company if you are not sure how to do this.

    Note: If you make changes to the original butterfly.php file in the future, you need to follow the above steps again to create a new "gibberish" version of it, then save it to your website again.

 

Congratulations, you now have Internet controlled Christmas lights!

  •  Start 
  •  Prev 
  •  1  2  3  4 
  •  Next 
  •  End 
Page 1 of 4

Overview

Learn how to make computer controlled, affordable, and Internet capable Christmas lights.

Decorations

See what animated lights (a.k.a. "props") I have made for my Christmas display.

Build It

Step-by-step instructions how to build your own Christmas light display.

Media

Project photos, videos, and news coverage.

Support

FAQs, instructional videos, and community support.

Go to top
JSN Boot template designed by JoomlaShine.com