Prototype wrapup #40

Last week was more milights, and this week was more more milights. I also had a little time to mess around with a fun little ESP8266 relay board.


The relay board was pretty simple once I had everything wired up. I wanted to use it to turn my TV on and off, so I really just needed the stock ESP8266 webserver. Unfortunately, I wasted a ridiculous amount of time on what turned out to be a bug in its HTTP handling. It expects camel-cased HTTP headers, but the spec says they're case-insensitive. Everything else sends them camel-case anyway, except the fetch API. The mDNS/Zeroconf/Bonjour implementation also seems a bit buggy. Also it has CORS on by default, which is a bit of a security hole. I got it going, but can't escape the sinking feeling that I'm yet another contributor to the Internet of Shitty Things.


For lights this week, I just wanted to make a simple command line utility so I could control my room lights from my computer. This was a relatively by-the-numbers job but I did get to have some fun realising that, yes, my quadratic fit from last week was actaully necessary to get the hues right. Ugh. Still, it's pretty fun to type lights rgb #FF0000 and yell "ROXANNE" as loudly and off-key as possible.