National Aeronautics and Space Administration

Glenn Research Center

PiWall Created by Shadow Student and Summer Intern

This summer in the GVIS a high school shadow student and a high school intern did a proof-of-concept project by creating a PiWall, which is a video power wall driven by Raspberry Pi computers. The project aligns with the GVIS Lab’s efforts to try out new technologies that can reduce costs and energy usage.

The shadow student, Lauren Egts, is a rising sophomore at Hathaway Brown School. The high school summer intern, Nick Patterson, is a rising senior at Midview High School.

The team only had access to what was available in the GVIS Lab. No new equipment was purchased. As a result they were unable to create a PiWall with identical monitors, but nevertheless, the end result was fantastic. A YouTube video describing the project will be posted soon.

Lauren Egts in front of the PiWall

Lauren Egts in front of the PiWall

Lauren documented the work that they did. Here are her notes.

Hardware Setup

Materials

  1. 4 Raspberry Pis
  2. 4 monitors
  3. One computer to be the master tile in the Pi wall
  4. 1 router
  5. 5 ethernet cables, four short and one long
  6. 4 SD cards large enough to support Raspbian and several video files (8G minimum)
  7. 4 keyboards
  8. 4 mice
  9. 4 HDMI cables to connect the Pis to the desired monitors
  10. 4 power cables for the Pis
  11. Tape
  12. 1-2 large power strips

Software Setup

If any of the SD cards that are left over from last year still exist, DO NOT perform the following steps to them.  Plug them into any of the Pis that you have gathered, and wait for further instructions from yours truly.  If you have SD cards that are not properly formatted, DO perform the following steps to them.

Put the SD card into an SD card reader.  Download Raspbian onto your computer.  Follow the instructions for your OS from this link: http://www.raspberrypi.org/documentation/installation/installing-images/README.md.  Plug the power and HDMI cables, as well as the keyboard and mouse into the Pi.  Let the Pi boot up.  When it comes to a blue screen, expand the root partition to use the whole SD card by selecting that option (expand the root partition to use the whole SD card) and pressing enter.  Then, return the the main screen and go to Advanced Options.  Select the option to use the SSH server.  Next, select enable SSH.  Return to the main screen, select finish, and allow the Pi to reboot.

Once the Pi has rebooted, find some way to connect it to WiFi.  You might need to do this at home if you are unable to connect to any of the NASA networks.  Update the Pi, using ”sudo apt-get update” and “sudo apt-get upgrade”.

For the rest of the software setup, follow the instructions here: http://www.piwall.co.uk/information/installation.

When you’re done with that, write a configuration file on the Pi.  This is the link: http://www.piwall.co.uk/information/configuration-file and the Pis from last summer should have examples.  If you have more or less Pis than the previous year, you may need to add or delete an entry.  To do this, delete the sections referring to the old Pis in ALL of the files on all of the Pis.  This includes the old Pis that I told you not to do anything with earlier on in the instructions.  In the wall definition section of the configuration file, the width and height are the that of the width and height of the monitors in pixels added up, plus 20-30 pixels added in to compensate for the bezels. If you need to add an entry, add the Pi to the definition section.  X and y should be 0, while the width and height are the dimensions of the monitor in pixels.  Additionally, you must add the new Pi into the config section of the configuration file.  If you add or delete a Pi, you MUST make those changes on ALL the Pis, or the system will not work.

To set up the master tile, follow the instructions located here: www.piwall.co.uk/information/installation.  Only follow the instructions for the master tile.  It is far easier to use a personal computer as the master tile then a Raspberry Pi.

Hardware Configuration

As of summer 2014, the setup of the Pi wall is as described below.

The large monitors are the furthest away from the desk. There are two small tables pushed close together and as close to the large monitors as possible. On those tables are the four Pis and the router. Each of the Pis is connected to a monitor and has all their other necessary cables plugged in. Said cables, except for the mouse and keyboards are taped down to the table for the sake of neatness. The router is placed in the center, between the pis. Each of the Pis are connected to it via ethernet. The fifth ethernet cable gets connected to the master computer. The smaller monitors are then placed in front of the Pis.

Network Configuration

Most of the network configuration is done in the Software Configuration section, but here are a few tips and tricks:

  • The Pis have to have static IP addresses
  • It’s helpful to record the IP addresses of the Pis as you work.
  • The IP addresses for the Pis of summer 2014 are as follows:
    • Pi number 1 (upper left hand monitor when facing the Pis): 192.168.1.101
    • Pi number 2 (upper right hand monitor when facing the Pis): 192.168.1.102
    • Pi number 3 (lower left hand monitor when facing the Pis): 192.168.1.103
    • Pi number 4 (lower right hand monitor when facing the Pis): 192.168.1.104
  • To copy files to the Pis, run the command “scp map3.jpg pi@192.168.1.102:/home/pi/Desktop”. Or, in a more generic format, “scp fileToCopy pi@pi’sIPAddress:desiredLocationOnPi”
  • To run the Pi wall, you must be connected to the Pi ethernet (PiFi).
  • If you aren’t connected to the PiFi, you can’t run the Pis.
  • If you are having troubles getting a Pi to start on cue, try to ping it from the master computer and at least one other Pi. That will give you some idea as to if the problem is with the network or if it lies elsewhere.

Tips

To run files, they must be in the “libav” folder that appears in your home directory when you configure the master computer. You must be in the folder “libav” in the terminal to start the Pis. The file that you intend to play must be on the SD cards of all the Pis. You can use the scp command as noted in the Network Configuration section to do this easily. The commands to run the Pi wall are in the Installation Guide here: http://www.piwall.co.uk/information/installation. http://www.piwall.co.uk/ is the main Pi wall website that has a bunch of resources and links to help forums. I got some videos off the NASA website working, and there are more here: http://www.nasa.gov/multimedia/downloadable-video-page/. The Pi wall works with both .mp4 and .mov files. Any size of monitor works with the Pi wall as long as the Pi is configured correctly.

Future Recommendations

I would recommend using equally sized monitors if possible. Additionally, high resolution videos without fast movements would be interesting to try, as those two qualities seem to provide optional performance for the Pi wall. Also, there is a known bug where the Pi will not automatically exit the video after completion and instead will freeze in the final frame. To get out of this, the user must control C out of the video. It may be possible to fix this bug using the script here: http://elinux.org/Omxplayer#Black_screen_after_playback, but this has not yet been effective. One of the Pis will end up being nonfunctional, unless there is a router with five main ethernet ports. The four ethernet cables and the master computer must be connected into the main ethernet ports, otherwise the computer cannot talk to the other Pis. This might be fixed by connecting to another router via ethernet and getting it to act as an external hub. Then, all the Pis and the master computer will be able to talk to each other and send and receive commands.

Troubleshooting

f the Pi will not play a video, then try the following steps:

  • Try a different video
  • Try running the original video with just the omxplayer
  • Try running the original video with pwomxplayer
  • Try running it as a tile. Instructions to do so are here: www.piwall.co.uk/information/installation

If the Pi will not connect to the network, then try the following steps:

  • Run the command “nano /etc/network/interfaces” and make sure that it matches exactly with that of the other Pis, excepting the IP address
  • Try to ping the Pi from the master computer and at least one other Pi to see if the troublesome Pi is connected to the router.
  • Make sure the IP is static

Individual Pis

This section contains notes on each individual Pi, including where they were in the setup. Right and left hand notations are made facing the Pi wall.

Pi 1:

Upper right hand monitor
IP is 192.168.1.101
As of summer 2014, monitor dimensions are 1920 x 1080
Monitor: Samsung 40” Class 40” Smart TV
SD card description: black with the white Raspberry Pi logo on it, 8G

Pi 2:

Upper left hand monitor
IP is 192.168.1.102
As of summer 2014, monitor dimensions are something like those of Pi 1, but I can’t quite tell what kind of TV it is. Assume that it’s the same as Pi 1.
SD card description: SD card that has a micro SD card inside of it, black

Pi 3:

Lower right hand monitor
IP is 192.168.1.103
As of summer 2014, monitor dimensions are 1440×900
Monitor: Insignia 19” HDTV
SD card description: 32G SD card, actually the SD card of the 3D camera, may or may not get backed up and may need to be reconfigured.

Pi 4:

Lower left hand monitor.
IP is 192.168.1.104
As of summer 2014, monitor dimensions are 1920 x 1080
Said monitor is the EliteDisplay E221
SD card description: micro SD card, blue and white, 16G. Also has an adaptor.