ESP8266 MQTT Serial Projector Remote

In the bedroom, there’s a media centre box attached to a projector. The projector in question is attached to the bed, pointed upwards at the ceiling, but that’s another story for another day…

Originally, I wanted the projector to be automatically switched on and off with the media centre. The projector has a RS232 serial port for control, so it was just a case of connecting this to the media centre with an appropriate cable and writing a few scripts to send commands on startup and shutdown.

However, I’ve just replaced the ancient AMD E350 based Mini-ITX box with a shiny new OSMC Vero 4k, an ARM-based box that you don’t really shut down.

Although I could still do this on the Vero, I decided to implement it as a standalone device. Take an ESP8266 NodeMCU board (a nice breakout board for an ESP-12 module) and combine it with a TTL to RS232 adaptor. Then, write firmware for it that connects to a MQTT server, and we’ll be able to control the projector from the web interface of HomeAssistant or any of the Amazon Echo devices.

Read more →

1000Base-T is so 2005 - but 10GbE is cheaper than you think

I’ve got a fileserver with two ZFS pools on it. Many terabytes of storage and much more reliable than individual disks. Single drives aren’t fast or reliable and I can’t fit all my Steam games on my RAID0 SSD pair. But the fileserver can read and write at close to 500MB/second. However, it’s on the other end of a gigabit ethernet connection, so it tops out at 120MB/sec - barely faster than a normal HDD. So what can we do? Isn’t 10GbE still crazy expensive?

I ended up with a drive letter on my desktop mapped to a SMB share on the fileserver and (most) Windows apps treat it no differently to a local drive. With a Steam library on it, I’m not going to be short on space for a while. But every time I go to load something, it’s bottlenecked by the gigabit connection.

(why ‘panzer’? The default name of a zfs pool is ‘tank’ and there already was one on the server)

Read more →