I hacked together a little node-red script that listens for events from my homeassistant.io installation using a quick eventsource module that I knocked up, which is generally working pretty well - occasionally, it selects the wrong input, because I'm relying on my CEC hack but I'll deal with that later.
Time to knock up a quick case.
I did up a quick design in FreeCAD and printed it out. Originally, I based the design off the Apple TV, as I thought I could have some sort of visual symmetry.
It looked terrible.
It was way bigger than it needed to be, and looked cheap and nasty. And once I decided to add CEC, I needed access to the HDMI port, so a redesign was in order.
I came up with a second design (top, bottom, foot), which hugged the contours of the PI. I also dropped the cutout for the IR plexglass, instead making a feature of the LEDs and IR receiver.
After printing it out, I put everything together and placed it next to my receiver. But there was a problem - the network kept dropping out. It turns out that as the temperature rose inside the case, the wifi chip would reset. Boo.
I tried drilling some holes in it, and it didn't make too much difference. At this point, it was Christmas, so I removed the top of the case and hide it behind the receiver (I didn't need the IR bit at the moment - the CEC did what I needed).
Fast forward a month, and I decided to revisit. I had just bought a Raspberry PI 3, with an official case for a project at work, and I noticed that it had no air holes, so I wondered if something was wrong with the WIFI dongle. It was sitting at a weird angle over a chip that did get warm, so I unsoldered it, and re-soldered it at a different weird angle, away from the chip.
Of course, I overcooked it.
Luckily, I had a spare, which looks like a more robust unit. I took that one apart, and soldered it in.
I'm sure it's breaking some sort of USB spec, but it works.
I put it back in the case
and screwed it back together
The case still isn't perfect. The front left corner needs a screw stalk (The gap is because there is nothing holding it together). I could fix it with some sort of clip, but I'm thinking about a completely different design, which will have LEDs on an angle and on the back, but that would require a new PCB, so I'll stick with this for the moment. I still can't work out how to get a less streaky top. I clearly need some more 3D printing practice.
Here is a picture of it in situ:
It's on an angle, because I bounce the IR off the coffee table. The audio receiver works perfectly, the foxtel works pretty well (though that is more to do with my LIRC setup). The TV doesn't really work - it's a bit far away, which is why I want to redesign the case.
It's good enough for now. I'm going to spend some time on the software.