Raspberries & Screens

I’ve had a “Home Automation System” (i.e., thing that makes lights go on and off) based on Telldus Tellstick and Z-Wave for more than a decade, and it works fine. I’ve got a bunch of computers around the house, and I’ve installed the USB dongles and server programs on them, which seemed like the most convenient solution.

But I went away for a while back, and I switched off the computers (as I usually do when going away for a longer trip) — but I’d forgotten that there were people coming over while I was away, and they were then stuck in an apt that was mostly pitch black.

Oops.

So I thought I’d get real and move the control units to gadgets that could be always-on. So they’d have to be something that doesn’t take a lot of power, so they’d be less likely to burst into flames while I’m away.

A bunch of Raspberry Pis would fit this use case well.

But I was reminded of a different problem I’ve been having:

I’ve got a bunch of small DisplayLink USB-powered monitors around the apt, that displays data about the temperature, the weather and what’s playing on the stereo. And I’ve been having recurring problems with these. Not the units themselves — they’re from Mimo and work without a hitch — but the Linux support for them.

Back when I got them, which might be a decade ago, they were basically plug and play. As the years have passed, the Linux people have phased out the udlfb driver (the UDL framebuffer driver), and replaced that with a module that’s just called “udl”. On some of my Mimo devices, that doesn’t work at all. On others, the support was broken for a couple of years, but has now been fixed again.

The writing is on the wall, though — there’s been no new devices from Mimo in several years for this segment, and I think support is going to go away at some point. (And there’s an issue with tearing when I’m playing tiny videos on the screens.)

So why not address two problems at once: I need some always-on power-sipping devices, and I need screens. So: Small all-in-one computers that run Linux? That has to exist, right?

And the answer is… not really. There’s a bunch of tablet-like devices, but these all have batteries included. Which I want to avoid in an always-on device — the batteries are the most dangerous bit, statistically speaking.

There’s also the exciting world of industrial panel computers. These would be perfect, except they either run Windows, Android, are just really ugly, or use outdated monitor technologies (i.e., not IPS or similar).

I was about to give up — I’d been googling for hours now — when I found Chipsee.

It just looks too good to be true — it’s got everything on my wishlist, and more:

  • It’s a Raspberry Pi in a screen, so just one cable needed (and the Pi is a known entity)
  • IPS display, so it’ll have nice viewing angles
  • Touchscreen, so that I can use it as a control unit
  • Internal speaker, so that I can make it beep if I want to
  • All the connectors your’d expect
  • 10″, which is just about right.
  • LAN, WAN, etc
  • Takes just about any voltage
  • Looks nice

So I ordered one, and today I got it.

Epic unboxing:

So shiny!

It didn’t come with a power adapter, which is fine, because I’ve got plenty.

I plugged it in, and… it came up into Raspbian without a hitch. It comes pre-installed! Just plug the power and play.

The first impression of the screen is very positive — the colours are vibrant, and the viewing angles are excellent.

But… it gives a warning during installation that you should never say “apt upgrade”, because that will make the screen stop working (sorry, I clicked OK before I snapped a pic of the message). That seems… really problematic. I understand that integrating stuff like this is hard, but can’t they, like, lock whatever packages they’ve hacked to work with this hardware, and let people upgrade stuff?

Hm… Oops! I needed to do a “apt build-dep emacs” here, so I had to do an “apt update” first (to get the dep-src stuff), and perhaps I’ve already broken the system? *gulp* Perhaps I should reboot and check.

Yup… came back up. But it seems finicky — WIFI didn’t work on the first reboot.

And after doing some testing, it turns out that there’s no way to get tear-free video on a Raspberry Pi, because that’s something nobody ever wants? *sigh* But then again, video wasn’t really a vital requirement — it’d just be nice to have. So let’s carry on and pretend like nothing’s happened…

Hm, looking at the syslog, there’s these lines appearing every second:

Jul 19 14:19:04 dielman1 dpms-lcd.sh[1166]: /opt/chipsee/dpms-lcd.sh: 33: [: =: unexpected operator
Jul 19 14:19:04 dielman1 dpms-lcd.sh[1166]: /opt/chipsee/dpms-lcd.sh: 38: [: =: unexpected operator

It’s a shell script that’s looping once per second, and there’s a syntax error in two of the if statements… It doesn’t exactly make me extremely confident in the software here… I fixed that (just to make the logs more calm), and then it’s time to plug in the Tellstick:

Well, OK, the USB ports are so far down that the Tellstick doesn’t fit directly. So I used an extension cord, and… that doesn’t quite fit, either — the plug is so long that it juts a few millimetres below the screen.

I need something like this, I guess.

Or these, even… Hm… do those look like they’d fit? Worth a try.

And… it works! You’re actually looking at an Emacs frame there displaying the temperature and current song playing, because why not?

While fiddling around with this, I found the display driver to be rather … finicky. Before starting Emacs fullscreen, I experimented a bit with making the frame larger than the window (so that the mode line etc wouldn’t show), and that made X crash.

So… again, doesn’t inspire that much confidence.

Instead I just start Emacs fullscreen, and made the mode line/decorations go away, and I guess that’s a more elegant solution anyway, so whatevs.

Aand… everything else just seems to work — it’s able to use the Tellstick without any problems, and I don’t see any screen glitches with this setup. I guess the question is how stable these things are long term, but things are looking promising: I may have found a workable solution for the home automation stuff.

I have not tried to use the touch screen support for anything yet, but it could be used to control the lights or the volume, I guess, but I already have physical buttons on the walls for that, so I’m not sure I need it. But perhaps I’ll think if something to do with touching; it’s a nice option to have.

The general Raspberry Pi ecology is a bit mystifying. You’d expect a per-user program startup thing, but instead you’re apparently supposed to edit /etc/xdg/lxsession/LXDE-pi/autostart, and stuff like that. I know that an RPi is best thought of as a single task machine, but setup just seems spread out in an un-Linuxey way?

But, eh, whatevs.

The initial wifi problems I had seems to be gone — perhaps it was a DHCP server issue or something? It was transient, at least. Everything seems to be working fine now.

They really are handy devices — just a single cable (for power), and that’s it, so they’re very tidy. 10″ is perhaps a bit on the large side — 9″ would have been perfect, but it’s fine.

So I’ll be buying three more of these things to have one in every room, replacing the DisplayLink monitors and using them as Tellstick transmitters. (Because the range of the Tellstick stuff is about seven metres.)

Chipsee web site, next up.

Leave a Reply