Touch Panels

From Noisebridge
Jump to navigation Jump to search

A bunch of folks worked on getting the touch panels working. Then another bunch of folks wanted to setup some sort of crazy control Noisebridge in case of a fire thing with it, SCADA.

The system that runs the touchpanel laptop by the door (172.30.0.31) is required for opengate-www and opengate scripts to work. It is connected by parallel port to a relay which is linked into the door buzzer system.

All the touch panel machines use PXE boot and an image from a tftp server on Stallion to run. They require network access to stallion to come up.

Currently the boot image for the panel starts up linux, runs Iceweasel full screen and points to a URL on Pony. There's a neat extensible interface that provides information and control regarding things we currently have in the space.

There are 10x Wyse 3150SE thin clients available to drive the touch panels. The touch panels are made by iNexio and there is a custom XInput driver available for them in the source repository.

The Inexio touch panels have their own wiki page with more info.

Troubleshooting[edit | edit source]

Symptom: mouse cursor on the touch panel is flying around without any touch input. Resolution: Remove power to the touch panel and disconnect any USB cables, then plug the touch panel and USB cables back in.

Requirements[edit | edit source]

Fundamentals[edit | edit source]

  • Setup a system where anyone can create apps and content for this system.
  • "Don't suggest it and walk away, implement it instead!"

Back end[edit | edit source]

  • Apache! Web apps!
    • Everyone can write web pages!

Functionality[edit | edit source]

  • You touch the touch panel and it clicks
  • You drag on the touch panel and it moves the mouse
  • When the thing boots it brings up a browser full screen
  • After a time out the browser resets to a "main menu" of sorts
    • Includes current time
  • After a time out the box brings up some sort of interesting screen saver
  • The browser is killed and restarted once every 3 hours to help with getting stuck in a weird state
    • Possibly displaying the current time
  • When navigating away from the main menu, there's a "home bar" at top
    • Link to the menu
    • Title of the current page
    • Current time

Application[edit | edit source]

  • Open the gate
  • Control X10 lights
  • Simplistic jukebox
    • Currently playing on the main menu
  • Control the mediacenter
  • A "internet browser" interface

Information[edit | edit source]

  • Local restaurants and menus for each
  • Bus times
  • Bart Times
  • Listing of events at Noisebridge, or the new scheduler
  • Weather
    • With some info on the main menu
  • Watch a hacker space, links to web cams for other spaces

Bugs[edit | edit source]

  • Scroll bars are going to be tricky
  • Navigating to pages outside of the panel site might lead to the browser getting into a weird state. The dumb fix is to kill and restart the browser session every once in a while (3 hours sounds good).

Installed Plugins[edit | edit source]

  • Refresh2
  • autohide
  • Grab and Drag

Jukebox interfaces[edit | edit source]

Build Procedures[edit | edit source]

The netboot environment is just debian-live. If you don't read the manual you're likely to break something by accident. It's better to do development on your local machine using qemu and a copy of the config tree before executing the procedure below to push it out.

  • Log into stallion and make the changes you want to the files in /netboot/config as root.
  • cd /netboot/config
  • rm -rf binary* cache chroot
  • sudo lh_build --force
  • Back up the contents of /srv/debian-live
  • Test your image, see the manual for how to set up a test environment. It's simpler than you think.
  • If everything worked, move /netboot/binary/* and /netboot/tftpboot to /srv/debian-live
  • Reboot one of the lesser used netboot machines and do a sanity check, make sure your changes aren't causing the machines to run out of memory and invoke the OOM killer.
  • Reboot the rest of the machines if you're happy.
  • If nothing breaks after a while, do a hg commit in /netboot/config.

Testing the image[edit | edit source]

On stallion:

qemu -net nic -net user,tftp=/netboot/tftpboot,bootfile=pxelinux.0,hostfwd=tcp::2223-:22 -curses -boot n

On pony:

sudo kvm -net nic -net tap -curses -boot n