[maemo-developers] [maemo-developers] Developing kiosk applications in Python (connectivity, buttons, backlight)

From: Erik Walthinsen omega at vcolo.com
Date: Mon Jul 10 18:52:27 EEST 2006
Coming up this week (starting tomorrow!) is a children's Music Camp at my
church.  For the last several years I've run a system consisting of a Rio
Receiver and a pair of older ProGear tablets (Transmeta chips) that allow
the director to start and stop the production's CD tracks at will, without
my having to babysit the sound-booth/CD-player all week.  This year I've
upgraded it yet again to ditch the whole web-browser design in favor of a
dedicated Python application.

My next project after this is to build an "industrial control" app that most
of the time presents a "all lights on" button, but hides individual light
controls and eventually HVAC controls underneath.  770's will be mounted to
the walls in various places in locked brackets with the power plug built in,
and a redundant battery-backed wireless cloud will make sure it all stays

The problem seems to be getting access to all the 770-specific stuff from
Python.  I've got the current application keeping the screen from blanking
without much trouble (osso_context.display_state_on() and
display_blanking_pause() every 30sec in a glib timeout), but there are other
things I need:

1) I can't figure out how to force the network connection to run, besides
running the connectivity_preload.sh script, which is not really a very good
hack for a deployed application (esp since I'm not sure if it's a timed
connect or a permanent connect that it sets up).

2) I'd *really* like to figure out how to make the device a bit less fragile
when it comes to accidentally hitting hardware buttons.  I'd like to be able
to a) disable *all* buttons including power while in fullscreen mode, and b)
require that the zoom button be held down for N seconds to exit fullscreen mode.

I'll find out tomorrow if what I have currently is sufficient at the moment,
but I'd really like to get these two things worked out in the next 24-48
hours.  The director's environment is very mobile and chaotic, so random
button presses are fairly likely.  I may try to tape a guard over the top if
it's a problem, but any time she has to stop and figure out what's on the
screen and ask me how to get back to her control panel is an opportunity for
the 30+ 2nd-5th grade kids to totally disconnect from the rehearsal.....

FWIW this system is probably so specialized that nobody wants it, but if you
do, just send me an email and I'll send off what I've got.  The later
lighting/HVAC control system will be fully open-sourced.

    aka Erik Walthinsen
    omega at temple-baptist.com / omega at vcolo.com

More information about the maemo-developers mailing list