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.

My New Lamp Repair Blog

A week ago, I got a lamp called Midori from Artimide.

It came shipped amusingly flat…

… and with plenty of assembly to do, which is fun.

It folds out pretty impressively. So what’s the problem?

I have all my lamps plugged into wall sockets that are controlled remotely, so when I go to bed, I just push a button and all the lamps in the apt are switched off.

But this lamp doesn’t go on when the power returns — it remains stubbornly off until I physically hit the button on the cable.

Is this a new trend? I bought a lamp half a year ago that did the same, but that one was a dual battery/powered lamp, so it at least had a possible reason to not light up? Or are there new EU regulations that say that all lamps should remain off until they’ve been properly fondled by a human? (As a power savings thing. (They did enact similar laws for amplifiers, for instance — when not in use, they’re supposed to automatically go to stand by mode, so when you play some music, you have to fondle the amplifier, then wait for five seconds for it to boot without any indication whether it’s booting, and then not be sure whether you fondled it correctly, so you fondle it off, and then have to wait five seconds for it to switch itself off, and then re-fondle it and go away and cry in shame. (Most amplifiers do have a documented way to switch this shit off, mostly involving “hold these seven buttons down in the correct sequence for 1.75s, while twirling” or something similar.)))

Perhaps Artimide just wanted people to behold — behold! — how smoothly it switches itself on and off again. You can’t have a light go to 100% brightness immediately; you have to do a soft on/off, or it’s not luxed. (That’s a word.)

The innards of the power switch are surprisingly complex. My immediate thought was to just cut this thing off and replace it with a normal light switch… but… this is a 24V DC thing, and is it possible that it’s doing more logic for the actual LED chip in the lamp than just act as a So Soft So Luxurious On Off Button? I don’t know from LED, dude!

Let’s do my immediate thought, because I don’t have a second one.

I snipped it anyway! Hah! Living on the edge!

Shiny wire to shiny wire, black wire to black wire…

Done!

And… if you’ve seen the scroll bars on this blog, you know that it didn’t work.

What happens is that the LED comes on, and then goes off, then comes on, and then goes off and remains off. Whenever I turn the power on. So… er… there’s indeed some logic in the original power button that’s … doing something?

OH WELL I GUESS I JUST HAVE TO THROW THE LAMP AWAY

Or I could fiddle with it some further.

The actual lighting fixture in this lamp is this: It’s made by Artimide, and it’s bespoke for this lamp, apparently.

And indeed, the innards are extremely simple.

But is it all one integrated thing?

No! The important bit, the thing that holds the “bulb” in the lamp is this thing — it’s two magnets and a hole. And the dimensions look quite a lot like a normal bulb fixture thingiemabob!

So off to the stores again and buy more stuff.

Fiddle fiddle…

Done! It fits!

And to preserve the er artistic integrity of it all, I wanted to have the light appear in the lamp at a similar height, so I used one of these smaller bulbs instead of the normal larger ones.

*gasp*

IT WORKES! I think I got the height and lms pretty much right — it looks the same as before this operation.

So that was totally worth it. Two trips to the store, a day and a half of work, that’s going to save me tens and tens of seconds over the next decade.

The question remains: Why is Artimide so evil? SO EVIL