Touch Panels

From Noisebridge
(Difference between revisions)
Jump to: navigation, search
 
(10 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 
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]].
 
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]].
  
Fast forward a few months, the touch panels really haven't gotten that much use out of them. Currently the boot image for the panel starts up linux, runs Iceweasle full screen and points to a URL on [[Pony]]. All that's left is whipping some HTML together to make a neat interface that provides information and control regarding things we currently have in the space.
+
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 [http://www.parkytowers.me.uk/thin/Wyse3150SE/index.shtml 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 ==
 +
 
 +
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==
 
==Requirements==
Line 9: Line 22:
  
 
===Back end===
 
===Back end===
* Web apps!
+
* Apache! Web apps!
* Everyone can write web pages!
+
** Everyone can write web pages!
  
 
===Functionality===
 
===Functionality===
Line 46: Line 59:
 
* Scroll bars are going to be tricky
 
* 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).
 
* 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==
 +
* Refresh2
 +
* autohide
 +
* Grab and Drag
 +
 +
==Jukebox interfaces==
 +
* http://theory.steelbreeze.org/
 +
* http://www.renedegroot.nl/mpd.xml
 +
* http://manatlan.infogami.com/wymypy
 +
* http://sites.google.com/site/cseickel/mpdwebamp
 +
* http://code.google.com/p/fookebox/
 +
* http://cims.nyu.edu/~stucchio/software/djpirate/index.html
 +
* http://sourceforge.net/projects/mmpd/
 +
 +
=Build Procedures=
 +
 +
The netboot environment is just debian-live.  If you don't read [http://live.debian.net/manual/en/html/index.html 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 ==
 +
 +
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

Latest revision as of 00:47, 2 March 2011

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.

Contents

[edit] Troubleshooting

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.

[edit] Requirements

[edit] Fundamentals

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

[edit] Back end

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

[edit] Functionality

  • 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

[edit] Application

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

[edit] Information

  • 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

[edit] Bugs

  • 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).

[edit] Installed Plugins

  • Refresh2
  • autohide
  • Grab and Drag

[edit] Jukebox interfaces

[edit] Build Procedures

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.

[edit] Testing the image

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
Personal tools