Although the Internet of Things (IoT) is a reasonably new term, the idea isn’t really all that new. Many engineers and hackers have created networked embedded systems for many years. So what’s different? Two things: the Internet is everywhere and the use of connected embedded systems in a consumer setting.
Like anything else, there’s a spectrum of usefulness to IoT. Watching The Expanse, the other day (which is not a bad show, by the way), I noticed that if you had the right IoT lights, you could run an app that would change your lighting to suit the show in real-time. I don’t have those lights, but I suppose when the action moves to a dark sub-basement, your lights dim and when you are in a space ship’s reactor room, they turn red, and so on. Fun, but hardly useful or life-changing.
On the other hand, there are some very practical IoT items like the Nest thermostat. It might seem lazy to want to monitor and control your thermostat from your tablet, but if you are frequently away from home, or you have multiple houses, it can be a real positive to be able to control things remotely. With the recent blizzard on the U.S. east coast, for example, it would be great to turn on the heat in your weekend cottage 150 miles away while you were still at work or home. However, the Nest recently had a hiccup during an upgrade and it has made many of their customers mad (and cold). I’ll get back to that, in a minute. First, I want to talk about the problems with deploying something that will be in many varied environments (like people’s homes) that controls something real.
[ZPriddy] was looking for a way to control his Nest thermostats with Amazon Echo. He didn’t want to settle for using AWS or some other hosted service. [ZPriddy] wanted something that he could host and manage completely on his own. The end result is what he calls EchoNestPy.
[ZPriddy] started by learning how to use the Alexa Skills Kit (ASK). ASK is the official SDK that allows enthusiasts to add functionality to their Amazon Echo. Unfortunately for [ZPriddy], most of the example code he found was designed to be used on Amazon Lambda, but that didn’t stop him. After finding a few examples of Amazon Echo requests and responses, he was on his way.
[ZPriddy] chose to implement a simple web server using Flask. The web server listens for the Amazon requests and responds appropriately. It also Oauth2 authentication to ensure some level of security. The server is capable of synchronizing the temperature of multiple Nest devices in the same home, but it can also increment or increment the temperature across the board. This is accomplished with some simple voice commands such as “Tell Nest that I’m a little bit chilly”. If you like Amazon Echo hacks, be sure to check out this other one for controlling WeMo devices. Continue reading “Control Nest Devices with Amazon Echo”→
If you’ve ever lived in a building with manually controlled central heating, you’ll probably understand [Martin]’s motivation for this hack. These heating systems often have old fashioned valves to control the radiator. No Nest support, no thermostat, just a knob you turn.
To solve this problem, [Martin] built a Wi-Fi enabled thermostat. This impressive build brings together a custom PCB based on the ESP8266 Wi-Fi microcontroller and a mobile-friendly web UI based on the Open Thermostat Scheduler. The project’s web server is fully self-contained on the ESP8266.
To replace that manual value, [Martin] used a thermoelectric actuator from a Swiss company called HERZ. This is driven by a relay, which is controlled by the ESP8266 microcontroller. Based on the schedule and the measured temperature, the actuator lets fluid flow through the radiator and heat the room.
As a bonus, the device supports NTP for getting the time, MQTT for publishing real-time data, and ThingSpeak for logging and graphing historic data. The source code and design files are available under a Creative Commons license.
There’s a bright future ahead of us, filled with intelligent computerized assistants that will listen to everything we say and do our bidding. It’ll be like HAL from 2001: A Space Odyssey, but without unverified mission-critical software and a bunch of killing. Until then, we have a few Amazon Echo hacks that tease out a reasonably capable home automation system without a proper API.
This build was inspired by an earlier project that polled the to do list looking for key phrases. Saying, “Alexa, to do, lights on” would turn on an Internet-connected light bulb. Saying, “Alexa, to do, call home” would call a phone number set up with the ‘home’ keyword.
[Glen] has improved that earlier setup somewhat, mostly by getting rid of the requirement to say, ‘to do.’ The Git for the project still shows it’s exploiting the Amazon to do list, but this is a much cleaner build that should end up having a lot more possibilities.
So far, [Glen], or rather, Alexa, can control the temperature of the house through a Nest thermostat, the lighting of a room with a Phillips Hue light bulb, and other random tasks like playing an audio file through the speakers. Not bad, and something that really demonstrates the potential of a smart, connected home.
A few months ago, Google bought a $3.2 billion dollar thermostat in the hopes it would pave the way for smart devices in every home. The Nest thermostat itself is actually pretty cool – it’s running Linux with a reasonably capable CPU, and adds WiFi to the mix for some potentially cool applications. It can also be rooted in under a minute,
As [cj] explains, the CPU inside the Nest has a Device Firmware Update mode that’s normally used for testing inside the Nest factory. This DFU mode can also be used to modify the device without any restrictions at all.
With a simple shell script, [cj] plugs the Nest into his laptop’s USB port, puts the device into DFU mode, and uploads a two-stage booloader to enable complete control over the Linux-powered thermostat.
As a bonus, the shell script also installs an SSH server and enables a reverse SSH connection to get around most firewalls. This allows anyone to remotely control the Nest thermostat, a wonderful addition to the Nest that doesn’t rely on iPhone apps or a cloud service to remotely control your Internet enabled thermostat.
In the wake of Google’s purchase of connected devices interest Nest, the gents at [Spark] set about to making one in roughly a day and for a fraction of the cost it took Nest to build their initial offering. [Spark]’s aim is to put connected devices within reach of the average consumer, and The Next Big Thing within the reach of the average entrepreneur.
The brain is, of course, [Spark]’s own Spark Core wi-fi dev board. The display is made of three adafruit 8×8 LED matrices driven over I²C. Also on the bus is a combination temperature and humidity sensor, the Honeywell HumidIcon. They added some status LEDs for the furnace and the fan, and a Panasonic PIR motion detector to judge whether you are home. The attractive enclosure is made of two CNC-milled wood rings. The face plate, mounting plate, and connection from the twistable wood ring to the potentiometer is laser-cut acrylic.
[Spark]’s intent is for this, like the Nest, to be a learning thermostat for the purpose of increasing energy efficiency over time, so they’ve built a web interface with a very simple UI. The interface also displays historical data, which is always nice. This project is entirely open source and totally awesome.
The demonstration starts off with his garage door being opened and closed. From the YouTube video description we know that he’s using Trendnet IP cameras and it looks like one of them lets him see if he remembered to close the garage. Next he disarms his home security system as shown in the image above. From there he adjusts the Nest thermostat, switches off the living room lights, and changes the TV channels.
We think the need to give voice commands would get old pretty quickly. But that aside we applaud his work to pull everything together into one single interface.