So you’ve built a central server and filled your house with WiFi-connected nodes all speaking to each other using the MQTT protocol. In short, you’ve got the machine-to-machine side of things entirely squared away. Now it’s time to bring the humans into the loop! We’re going to explore a couple graphical user interfaces.
You could build a physical knob and/or LED display for every little aspect of your entire system, but honestly, this is where GUIs really shine. In this installment of Minimal MQTT, we’re going to look at human-friendly ways of consuming and producing data to interact with your connected sensors, switches, and displays. There are a ton of frameworks out there that use MQTT to build something like this, but we’re going to cut out the middle-man and go straight for some GUI MQTT clients.
If you’ve been to an apartment complex with a locked front door, you’ve seen the buzzer systems. You press the corresponding button for the apartment you want and can talk to the resident. They can press a button to unlock the door briefly, and then you go up to their apartment and they don’t have to come down to let you in. But what if you’re the resident and you want to go for a run without your keys jingling in your pocket? What if you want to open it using just your smartphone?
I knew this was a silly problem, and everyone I told about it thought that for the amount of time and effort it might save, it was hardly worth it.
How fast can I put this together using only parts I have around the apartment? Turns out about 2 hours.
Keeping track your overall electricity usage is a good thing, and it’s even better if you know where all the kilowatt-hours are going. [Anurag Chugh’s] house has the three phases coming from the electrical distribution box tidily organized: One for the lighting and fans, one for household appliances, and one for the hot water supply. To monitor and analyze the electrical fingerprint of his house, [Anurag] installed a 3 phase energy meter and hooked it up to the internet.
Commercially available motorized window blinds are a nice high-end touch for today’s automated home, but they tend to command a premium price. Seems silly to charge so much for what amounts to a gear motor and controller, which is why [James Wilcox] took matters into his own hands and came up with this simple and cheap wireless blind control.
[James] started his project the sensible way, with a thorough analysis of the problem. Once COTS alternatives were eliminated – six windows would have been $1200 – he came up with a list of deliverables, including tilting to pre-determined positions, tilt-syncing across multiple windows, and long battery life. The hardware in the head rail of each blind ended up being a Moteino on a custom PCB for the drivers, a $2 stepper motor, and a four-AA battery pack. The Moteino in one blind talks to a BeagleBone Black over USB and wirelessly to the other windows for coordinated control. As for battery life, [James] capitalized on the Moteino’s low-power Listen Mode to reduce the current draw by about three orders of magnitude, which should equate to a few years between battery changes. And he did it all for only about $40 a window.
A few years ago, you could buy an IRIS 9000 Bluetooth speaker. Its claim to fame was that it looked like the “eye” from the HAL 9000 computer on 2001: A Space Oddessy. There’s something seductive about the idea of having a HAL eye answer your queries to Google Now or Siri. The problem is, it still sounds like Google or Siri, not like HAL.
[Badjer1] had the same problem so he decided to build his own eye. His goal wasn’t to interface with his smartphone’s virtual assistant, though. He settled on making it just be an extension cord with USB ports. As you can see in the video below, the build has HAL-style memory units, a key, and can speak phrases from the movie (well, 28 of them, at least). The key is like the one Dave used to deactivate HAL in the movie.
Depending on your opinion of these little critters, that could be a good thing or a bad thing. We don’t deny that mice are cute as all get-out, but when they do damage to foodstuffs that you’ve put an entire summer’s effort into growing, harvesting and preserving, cute isn’t worth much.
Our preference for taking care of rodent problems is either bioremediation or rapid cervical dislocation, but if you’re more of the catch-and-release type, this trap is for you. It’s just a 2-liter soda bottle on a wire pivot and mounted to a scrap wood frame; when the offending critter unwisely enters the neck of the bottle, its weight flips the bottle down and blocks the exit. Release is as simple as removing the bottle from the frame and letting Monsieur Jingles wiggle free. The questions of where to release and how many times you’ll keep catching the same mouse are left as an exercise for the reader.
Remember – a live catch trap is only humane if it’s checked regularly. To that end, maybe something like das Katzetelegraf could be added to this trap.
Last time on Minimal MQTT, we used a Raspberry Pi to set up an MQTT broker — the central hub of a home data network. Now it’s time to add some sensor and display nodes and get this thing running. So pull out your ESP-8266 module of choice, and let’s get going.
We’re using the NodeMCU firmware because it’s quick and easy to get running. But you’re not stuck with NodeMCU if you want to go it alone: MQTT has broad support. [TuanPM] ported over an MQTT library to the native ESP8266 SDK and of course there’s espduino, a port for an Arduino-plus-ESP combo. He also ported the MQTT module to NodeMCU that we’ll be using today. Thanks, [TuanPM]!