Touch Panels: Difference between revisions

From Noisebridge
Jump to navigation Jump to search
No edit summary
Line 67: Line 67:
=Build Procedures=
=Build Procedures=


* Log into stallion and make changes to the files in /netboot/config.
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
* rm -rf binary* cache chroot
* sudo lh_build --force
* sudo lh_build --force
* Back up the contents of /srv/debian-live
* 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
* If everything worked, move /netboot/binary/* and /netboot/tftpboot to /srv/debian-live
* Reboot all the netbooted machines
* 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.
* If the results worked, do a hg commit in /netboot/config.
* Reboot the rest of the machines if you're happy.
* If nothing breaks after a while, do a hg commit in /netboot/config.

Revision as of 13:34, 19 January 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 (thinkpad) 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.

This laptop runs uses PXE boot and an image from a tftp server on Stallion to runTemplate:Verify. It will not boot without network and this server on the remote system.

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.

Requirements

Fundamentals

  • 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

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

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

Application

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

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

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

Installed Plugins

  • Refresh2
  • autohide
  • Grab and Drag

Jukebox interfaces

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.