I was a "late" early adopter for the Chumby - when I saw mention on the corporate blog that they were sending out the first production units to people who'd signed up... but that you could still sign up... I figured sure, it's squarely in the "one-each" category, and got on the list.
Very good out-of-box experience - gets the "fuzzy" aspect across right away, with the cloth bags (note that they did come across as well designed, just not traditional-tech-product crisp - really gave off an inviting "don't worry about voiding the warrantee, play with me" sort of vibe :-)
Even ignoring all that, if someone had offered me an NTP synced alarm clock, using wireless net, that can play mp3 alarms, and gets daylight savings time right all by itself, for under $200, I'd have just gone right out and bought it, probably any time in the last 10 years. (I built one of those out of a trash-picked laptop, and used it until it fell apart...) That alone made it a useful product. And yet... that's not what it's about.
The screen is bright. Easy to read in a sunlit room. This is of course horrible if you're trying to fall asleep in said room, after dark... there's a night setting (which is useless because it doesn't run the real clock display) and a dim setting (which is almost useless because it needs a button press and half a dozen screen touches to get to it and back to the clock display.) However, I also have a Phillips digital picture frame, which has this neat feature: simply define certain times as night and day, and it automatically blanks and unblanks the screen. That seemed like the right approach...
A little searching on the wiki turns up a way to turn on sshd
from the touchscreen. A bit more reading turns up a few other hints.
My overall approach was to simply find out how to put the screen in
dim and bright modes, then just have a cron
job fire up at the
right time. Almost easier done than explained :-)
cat > /psp/dim_screen
#!/bin/sh
echo 1 > /proc/sys/sense1/dimlevel
chmod +x /psp/dim_screen
^D
cd /psp
sed s/1/0/ < dim_screen > bright_screen
chmod +x bright_screen
cat > sleep.cron
45 23 * * * /psp/dim_screen
00 7 * * * /psp/bright_screen
^D
cat sleep.cron >> /psp/crontabs/root
That creates a dim_screen
and bright_screen
command which
work by simply stuffing a 1 or 0 into /proc/sys/sense1/dimlevel
which changes the screen, though the UI doesn't notice it. Then
simply run one at 11:45pm and the other at 7am. Nothing subtle, just
basic linux sysadmin work; the only "trick" is that /psp
is
persistant writable storage and most of the fixed firmware "calls out"
to it, via symlinks or explicit references in scripts.
All household electronics should be this malleable :-)
Next project will take a little more effort - getting a Vernier
GoTemp USB temperature probe hooked up to one of the USB ports on the
back, and forward readings to a server somewhere. I've already got
this working on my repurposed ex-Martian PC printserver; the chumby
kernel doesn't have USB HID support, nor does it have USB LD support,
so I can't just open /dev/ldusb0
from a script, I'd have to
either replace the kernel, or build/find a port of libusb
, maybe
from the Maemo packages for the Nokia N800.
Of course, I also need to come up with a web-service based temperature logging and analysis database, to use the data :-)
Footnotes: