Reconfigure The Sign for wireless updates

The first step is to update the current software over USB. This update will:

  • Configure WiFi as a standalone Access Point (no internet required)

  • Enable Over the Air software updates

  • Add features including a home page with mode/brightness controls

Since you’ve already got a laptop configured with the development tools, let’s use it with my new source code.

Phase 1: Compile the new code

1. Download the following file:

BlackSignWebV2.0.zip

2. Unzip the file into your Documents/Arduino folder. Stop if you don’t have one already.

3. Start the Arduino IDE, I think it will be called “Arduino” in the Windows program list.

  • It takes a while to start up. Once it’s up, it will probably open a window with the old source code. If you kill that window, Arduino will exit, so leave the old code up for now.

4. Go to File->Open, and a folder browser should pop up. You should see a folder named “BlackSignWebV2.0”, double-click it.

5. There should be one file that you can select, called “BlackSignWebV2.0.ino”, double-click it.

6. That should some rather messy source code, and a couple of extra tabs with more messy source code. Your settings should be correct to compile, let’s try by clicking the check mark symbol at the upper left corner of the screen.

7. As the compile progresses, red text may scroll in the bottom panel, ignore if it does. The compile should end with something like the following two lines of white text in the bottom panel:

Successful Compile

Successful Compile

  • If you get this far, you might look carefully at the status line just below the black panel. The first 5 comma separated fields should be similar on your screen.

Phase 2: Connect The Sign and download the new code

1. Connect the USB cable to The Sign, but not to the computer yet. The computer board may loosen when you do that, push it back down. No harm was done since we haven’t connected power yet.

2. Connect power to The Sign. After a few seconds, it should light up as it did before. As I recall it might take 5 or 10 seconds, be patient.

3. Once it’s up, connect the USB cable to your laptop. At this point we could check to see if the device was recognized, but we’ll just go for it.

2. There’s a right arrow icon to the right of the check mark you used to compile. That’s the download button, hit it.

  • First it will recompile, so you’ll see text scrolling up in the bottom black panel as before.

  • Then, it will start the download if the USB port has been recognized.

  • If it fails, you’ll see red text ending with something like: “error: espcom_open failed”. This happens often, try again. I’d try it three times before getting worried.

  • Here’s what a good load looks like:

Screen Shot 2019-01-10 at 6.30.00 PM.png

We’re doing pretty good if TheSign is lit up the same way as before.

Operate The Sign

You can run this on the same laptop, another laptop or phone. It’s plain vanilla html, should run on anything.

1. Connect your device to TheSign WiFi network. You’ll have to set a static IP address, TheSign doesn’t have a DHCP server yet.

  • Look for a network called “TheSign”

    • It should be up pretty quick, maybe wait a bit and look again if you don’t see it.

  • Join TheSign, password: twinkletwinkle

    • While I wouldn’t usually publish a network password, I can’t imagine that a cracker could do much with it. Of course those guys get pretty imaginative themselves.

    • For any crackers reading this, I don’t use that password or anything like it for any of my logins.

  • Configure a static IP address: 192.168.4.6; subnet mask 255.255.255.0

  • I’m not sure what your Windows machine will do; on my mac/iPhone/iPad a solid WiFi signal shows up at this point

2. Open the web page, just enter the raw IP address in your browser address bar: 192.168.4.2

3. You should see a web page like this:

Screen+Shot+2019-01-11+at+8.11.12+AM.jpg

4. Now you can play. It’s pretty snappy for me, don’t be afraid to whack quickly. Tell me if it bogs down or misbehaves. If it does bog down or otherwise misbehave, it should eventually catch up. Power cycle if it locks up, hopefully that won’t happen. Here are the fields:

  • Brightness: By default TheSign brightness will be at max (255). Whack the down/double down buttons a couple of times to dim it. The up/double up buttons make it brighter. You can’t enter a number, sorry.

    • Gold is a tough color to maintain with only 24-bits, it goes wonky at low brightness settings. I’ve got an idea to fix that but it will take a little work. I think you’ll be OK with the higher brightness levels.

    • You might notice that white doesn’t change with the brightness control when you’re up at the higher values. I’ve got to manage power, TheSign can’t handle full white.

    • I could rescale it if you feel the white is too bright relative to the others when brightness is at intermediate levels.

  • Mode: The default mode is the dreaded “Closed”, try them all:

    • “Closed”: all sign elements are on except OPEN, which is turned off.

    • “Open”: All sign elements are on. OPEN will be in green

    • “White”: A test pattern with all sign elements at max allowed power level.

    • “Off”: All sign elements are Off.

  • Version: I’ll try to change the “Version” with each software update. I don’t have any automated way to do that, so I might forget on occasion.

  • SignServerDebug:: This shows the web service requests issued to TheSign. These are sent under the covers when you poke buttons on the web page.

Update The Sign Software

Note that after your USB upload, the sign control page will show you’re running Version:2.0. I’ve attached an update that’s exactly the same, except it will show Version 2.1 instead.

This has to be done on your laptop. It needs to have python 2.7 installed, I think it does but you can check. Pull up a DOS window and type: “python —version” (that’s two dashes). If it doesn’t say Python 2.7.xx then give me a call.

1. Download BlackSignWebV2.1.ino.bin.zip to your laptop and unzip it to somewhere.

2. Software update won’t work after a USB download, until you reboot TheSign:

  • I’d disconnect the USB cable from the laptop end, but leave the other end connected to TheSign (just in case we run into problems).

  • Flip power off/on at the power strip. TheSign should restart and its network will show up again. You may have to re-join TheSign network on your device.

  • Try TheSign web page, see if it still works (which it should).

3. Enter the following into your browser:

192.168.4.2/update

4. You’ll see the following tiny little web page:

Screen Shot 2019-01-11 at 9.06.08 AM.png

4. Click “Choose File” and navigate to the unziped .bin file. Click “Open”, it will now show the file name (vs the “No file chosen” shown above).

5. Click “Update”. After a delay, the web page should change to: “Update Success! Rebooting...”.

6. If you leave things alone, the sign control page should show up after a while. But Version should now be: “2.1”

7. Play with it a bit, it should operate normally. If so, it’s ready to mount.


Tom Doyle