It’s almost a year ago I wrote about what is wrong with the Internet of Things. In that period a lot has changed, and now we live in the future. I kid. Nothing much has changed and like the Year of Linux on the Desktop is always just a few years away, the Internet of Things is still “just about to go explode.”
My main problem last year was that IoT doesn’t really work yet. There’s not enough devices and they are not smart enough. In this post, I’ll outline what has changed since last time and which projects I’m currently working on. I call it projects, because then it’s as uncommitted as an analyst projection (it’s not a prediction, just a projection) or a hipster working on their manuscript.
Update Hue with Homekit
Two things have happened in that period, though: I got my own house and Apple Homekit was actually released.
As I got my own house, I first replaced all lights with Philips Hue lights. They are even better when they are all over; I have light switches in every room that can control the lights in that room. The switches are mounted using magnets and can be moved around so I can control the lights from the comfort of my couch.
As the lights are smart, I can also control them in more complex multiway configurations than would be possible (or at least feasible) using traditional dumb switches. For example, I have a switch on the first floor where I can switch on the stairwell lights on the ground and first floor, on the first and second floor, or on all floors. That means I can switch on exactly the lights I need to go up or down the stairs from by bedroom. There’s also a switch on the ground floor switching on the lights on the ground and first floor. When I switch off the lights on the first floor switch, it switches off all lights in the stairwell plus all lights on the ground floor (including kitchen and living room). That means I don’t have to bother switching off the light in the living room if I had dinner there or kitchen if I’m carrying a tray of tea and biscuits for upstairs. Finally, I have switches in my living room, which I’ve programmed with 3 scenes: one with blue-heavy light for the morning and one red-heavy for the evening, and one that’s purple to fit the walls. The off-switch switches off all lights in the house for when I go out.
The new Hue bridge supports Apple Homekit. That means I can control all lights using scenes controlled by a general platform on my phone rather then individual applications. So far only my Hue lights support that, so it truly heeds the old saying that computer scientists will look at N different standards and decide that we need a meta-standard, after which we have N+1 standards. A positive of the integration is that I can control my lights using Siri; either from my phone or my Apple Watch. With the new always-on Hey Siri feature, I don’t even need to push anything on my phone as it reacts automatically if I prefix what I want by “Hey Siri”.
Of course, this doesn’t really work as advertised. Why does my Hue switches sometimes just disconnect and disappear? The switch downstairs doesn’t respond now, and for the longest time my kitchen switch just didn’t work. Even re-pairing the switch wouldn’t work and I don’t think it was fixed before I got a software upgrade. I don’t care if failures happen or blahblahblah. What I do care is that for several weeks, my light switch just didn’t work and I had to use Siri.
Siri is mostly working well, but at times it instead doesn’t work at all. The Hey Siri feature only works in very particular cases. The voice recognition is mostly good enough if you know exactly what to say to reduce confusion (“turn the lights on” typically works for me), but it doesn’t work if I’ve closed my phone cover which I do when I’m not using my phone. Second, sometimes it just doesn’t want to do Homekit stuff. Aside from my watch insisting on tacking on that that last “on” even though I don’t say it, sometimes it just doesn’t work. If I tell it to switch on the lights again, still no luck. It’s definitely ye Homekit part, because if I open the Philips app it does work.
The perspective is really great, but it is not yet working. You still have to adapt to the technology rather than vice versa.
More Stuff I Want
I really want a smart lock. Something that I can unlock and lock automatically using my phone. Something that sends me a message and a picture on my phone instead of ringing a bell when somebody pushes the doorbell, so I can electrocute Jehovah’s Witnesses and egg collectors for charity even if I’m not at home. The market seems to almost be there; the Goji Smart Lock does everything I want but has the big disadvantage of being a crowdfunding scam (that previous link goes to a flexible funding IndieGoGo which is the number one sign of a scam). A lock that seems to actually be in the market is the August Smart Lock, which looks like the most promising actual product out there. It even supports Homekit in the newest version. Unfortunately, it only ships to the US at this time, and I’m afraid it won’t work with the Dutch locking system without modification (we only have one deadbolt controlled by the key with not deadbolt controlled by a regular handle, so there’s no “closed but unlocked” state between open and locked). Other names in the smart lock market are Lockitron, Kwikset Kevo, or Schlage Connect. That last one sounds like music my grandmother listened to in the 80s.
Related to smart locks, I also want an automatic garage door. I haven’t scoured the market very thoroughly for that. I know it exists, but I have a feeling it will be more expensive than my entire garage, so for now I persevere with an old-fashioned manual garage door like a homeless person.
Finally, I want to combine electricity with water like any sane person. I would like one of those water faucets that can produce boiling water so I can get rid of my water boiler, but even more I want to listen to music in the shower. for now, I just barely survive with a water-proof bluetooth speaker, but I need to manually charge that every two weeks or so, and also have to jump thru hoops to switch it on and off. What I’d really like is something like the Grohe Spa F-Digital Deluxe. It’s a smart shower supporting music, colored light, steam nozzles and rainshower. From what I can tell of the press release, it even comes with a lovely lady.
On top of that, I’ve backed a bunch of Kickstarters for smart home technology:
VARA Smart Lighting
This project produces a real pretty modular light which touts an open API. The beams can be used for deak lights, wall lights, standing lights, etc. It’s made by a bunch of German guys that look like the villains from Taxi (the original amazing Luc Besson version featureing the always lovely Marion Cotilard, not the shitty 2004 American remake). The campaign is still ongoing – click the picture below to see more.
Lumiere Oil Diffuser
I’ve no idea why it’s named lumiere (which means light – either the French creators bet on nobody speaking French or it’s based on it sort-of looking like a plate of tea lights?). I think it looks really pretty and it can be controlled by an app. I mostly backed this because of the “really pretty” and “supports vanilla scent” properties. Campaign is running for another two days – click picture.
Youmo Power Strips
These are pretty cool with a lot of potential. It’s a power strip that’s modular. It makes it possible to mix and match modules to make a power strip like you want. Modules include USB chargers and regular power outlets. It also comes with a smart module, which makes it possible to monitor and control power usage. The last part is what makes it most interesting for me. I want to see how much power my server uses. They also have plans for wifi modules, wireless charging and all kinds of things we are not going to see for another two years. Also ongoing – click picture for more.
What I really want, right now, however, is a box that allows me to put a ton of sensors into every room and to control my outside sunscreens. The problem is that when I go to bed, I have to switch on my bedside lamp, switch off all other lights, and close my blinds. If I wanted to do repetitive tasks I would move to Detroit and get involved with gangs to become a robot. Even worse, every morning, I need to do much of this in reverse; to the right is a bed’s eye view of the switch for the blinds in my bedroom. Obviously, I cannot reach that without having to leave my bed and nobody, nobody should have to suffer that. It would also be neat if my blinds could open automatically with my alarm clock and shut automatically when the sun is bothering me.
The Brinformatics 100
My house comes with outside electric blinds. They are really lovely and allows me to block out the light entirely at the turn of a knob. Unfortunately, turning that not knob is not metaphorical; I actually have to go to the window and turn a knob that looks like this:
I’m sure this was all very lovely back when the 80s was still a dystopian future prospect, but in the roaring 2010s where we have abolished slavery and the Japanese river otter is nothing but a bad memory, that just won’t fly anymore.
It’s remarkably hard to find something that is sufficiently programmable that I can tinker with it or at least connect it to Homekit.
In addition, I also want a ton of sensors. Temperature sensor, light sensor, humidity sensor, motion sensor. Whatever. I just want to be able to sense a lot of stuff because I’m certain that if I have data I can always figure out a way to use it. For example, I can use a humidity sensor to warn of a forgotten open window during rain. I can use light and temperature sensors to automatically shut the sunscreens if it’s to warm outside. I can use the motion sensor (perhaps with other proximity technologies) to detect which rooms have people in them and switch off lights in other rooms. In conclusion: more sensors = more good.
It is possible to find sensors; probably most notably the Elgato Eve series. They have three things against them, however: they are really limted, allowing only two or three specialized sensors (one box for temperature/humidity/air quality, another for doors, and a third for windows), each of these boxes are battery powered, and these boxes are crazy expensive (€40-€80 a pop).
As it is not possible to get a box that does all I want, I decided to make my own. The working name is the Brinformatics 100, though I might slab on a Pro or something.
Luckily, I’ve been pretty active on Kickstarter, so I’ve also backed two “tiny computer” projects. That’s computers on a tiny piece of print that’s just a dozen or two bucks, consumes little power and can be connected to all kinds of modules to make cool things. You might have heard of the Raspberry Pi or Arduino – it’s just like those except mine are different because I’m special.
Seeed Wio Link
The first I backed is the Wio Link. It’s a tiny computer with a lot of I2C connectors (the white sockets). I2C is a bus developed by Philips in the 80s (now owned by the spin-off NXP) to reduce the number of signal pins needed in embedded devices. It makes it possible to connect simple devices either in parallel or in series. These devices are typically just a single sensor or integrated circuit on a tiny board with one or two I2C connectors. You just connect them to make a device with a computer and sensors.
I got the deluxe pack with 2 computer boards and roughly 20 little Grove modules, including sensors, relays, displays, motors, light strips, etc. The system comes with an iPhone app that lets you control and read from the sensors. I have not received my Wio Link yet (of course not, it’s Kickstarter), but it comes with a really simple application that lets you “program” the device you build.
While the Link seems like a fun toy if you know little about programming, it seems like it will be hard to make it do what I want because it’s a little too user-friendly. Everything is I2C ports and the CPU make a wrist-watch look powerful. Of course, as I use the Apple Watch, the bar is set pretty high. Luckily, I also backed the Pine64 project, which promises a much more powerful computer.
This guy can run Linux and comes with openHAB as a supported feature. It has all kinds of features like wifi, 4k video decoder and tons of memory. It also has “real” connectors making it possible to do quite a bit more than with the Wio Link. At the same time it also supports I2C modules, so it should be possible to use the simple modules for the simple stuff and add more complex electronics if needed.
One module in particular piqued my interest, the “Wifi Remote” module. It’s basically a smaller version of the Wio Link (I believe they even use the same CPU). It looks like this:
It’s basically a device that’s intended to connect an I2C bus to Wifi so it can be remote controlled by a Pine 64. I decided to use this as the brains for my design. It also contains a simple relay and a switch, but we’re not going to be using those.
The main functionality we need is some relays to control my sun screens. They use a switch which takes ground and phase in and has an output with two phases and ground. Depending on which phase is connected, the blinds go up or down. If none of the phases are connected, the blinds just stay put. This means we basically need to split the power in two and then have a switch for up and a switch for down.
A switch controlled electronically is called a relay. You can get relays in many forms, but I was preferring to get a module as last time I did any soldering was 20 years ago, and I think the should just leave it to Chinese toddlers whose hands are much more delicate and fit for the task. You can get relay modules with any number of channels (independently controllable relays), but I went for this one which has two:
It is a bit more advanced as it has a 3 connector output; it has a connection that is “normally open” and one that is “normally closed.” That makes it possible to make it have a default that it either switched off or switched on, and only do something else when instructed to. I’m going to be using the “normally open” version (unless I press a button, the blinds should not move). The relays also use an optocoupler, which is a technology for communication between two circuits. The relay deals both with high current (230V for the power we try to switch on/off towards the blind engine) and low current (5V for signaling and the Wifi remote board), and we would really prefer that the 230V power doesn’t get into the 5V circuits as they would not be able to handle that.
This is all good and well, except it does not use an I2C connector, but just a 5V signal (the 4 pins at the top right). As the Wifi Remote I want to use for controlling them does not have any unused signal pins, we need something to bridge that. And that something is this I/O Expansion board (PCF8574T):
It has an I2C input (right) and output (left) and converts that into 8 individually 5V input or output signals. Two of those can be used for controlling the two relays and the remaining for blinkenlights. I bought myself a couple of bags of LEDs for this explicit purpose. I’m also planning on adding a couple manual overrides to the relays (fancy word for buttons) so it is possible to control the blinds if you just happen to be at the window.
Yes, I’m planning on over-extending the human body analogy to describe all the parts of the box.
As far as sensors go, the Pine 64 already ships with some, so I’m just going to use their temperature/humidity sensor (left/top) and light sensor (right/bottom).
Simple modules with I2C in/out for daisy-chaining them.
I also want a motion sensor, but haven’t decided on a particular one just yet. I might also add window sensors as they will be mounted near windows. The I2C daisy-chain approach should make it possible to add more sensors as I see fit.
To power all of this, I need 5V for the electronics and 230V for the output. Most projects of this kind uses external power supplies, but as I have to plug it into 230V anyway (for the blinds), I decided to go for an internal one. I went with an Artesyn NLP40-7605J, which was relatively cheap, supplies 40W, can produce 5VDC from 90-260VAC, and comes with a matching cage. To the right: my last soldering project from 1996 when I was 15: a power supply. It surprisingly enough still works.
Finally, I need to mount all of this into something. Luckily, I backed a Kickstarter for a 3D printer, the Flux Delta, which is due to be delivered in a month or so:
I’ve go the dimensions of most of the boards already, so it should be possible to make a case and print it myself. I don’t have a lot (= any) experience in case design, so I’m sure it shall prove interesting to make something where the PSU gets enough air to not overhear and where all the sensors can get meaningful data. At least, I’ve made sure to order PLA in colors that match the rooms I’ll end up installing the contraption in.
The Internet of Things is not upon us. Not by a long-shot. The technology is not mature enough, and the products are not on the market or are too expensive.
On the other hand, it is really cool what you can make yourself with even limited knowledge of electronics and my aversion to soldering. I can get modules I can plug together as easily as LEGO bricks. It should be possible to easily adapt software so those things will actually do what I want them to. Not only that, but using modern consumer rapid prototyping, I can 3D print a case and hopefully make the end-result look like a €10 box from China.
Time person of the year 2006, Nobel Peace Prize winner 2012.