Hackaday Prize Entry: Smart Low Voltage Lighting

A common theme around Internet of Things things is connecting a relay to the web. It’s useful for everything from turning on a lamp from across the country to making sure your refrigerator is still running without the twice-hourly calls from the International Refrigeration Commission. For his Hackaday Prize project, [Matt] is turning lights on and off with an ESP8266 WiFi module, but not just any lights: he’s focusing on low-voltage lighting with the ESPLux.

Most downlights and landscape lights run off a 12 or 24 V transformer, and because [Matt] wanted to add dimming to his lighting box, he’s rectifying the low voltage AC to DC; PWMing an output to light an LED is a much better idea than chopping AC with a triac.

With a rectifier, MOSFET, and an ESP8266, the ESPLux is a simple build, but the project doesn’t end with electronics. for automation and control of these lights, [Matt] is turning to OpenHAB, automation software that works with everything you would ever use to make your home smart.

The 2015 Hackaday Prize is sponsored by:

Hackaday Prize Entry: An Arduino Alarm System

The last few years have seen an incredible increase in the marketing for home automation devices. Why this tech is just picking up now is something we’ll never understand – home automation systems have been around for decades, mostly in the form of security systems. For his Hackaday Prize entry, [IngGaro] is building an Arduino-based security system that does everything you would expect from a home automation system, from closing the shutters to temperature monitoring.

[IngGaro]’s system is built around a shield for an Arduino Mega. This shield includes connections to an alarm system, a GSM modem, temperature and humidity sensors, an Ethernet module, and IR movement sensors. This Arduino Mega attaches to a control box mounted near the front door that’s loaded up with an LCD, an NFC and RFID reader, and a few buttons to arm and disarm the system.

This project has come a long way since it was featured in last year’s Hackaday Prize. Since then [IngGaro] finally completed the project thanks to a change in the Ethernet library. It’s much more stable now, and has the ability to completely control everything in a house that should be automated. Now all [IngGaro] needs to do is create a cool PCB for the project, but in our opinion you can’t do much better than the mastery of perfboard this project already has.

The 2015 Hackaday Prize is sponsored by:

Hacking Amazon Echo Through Its Remote

This one’s crazy… literally one electronic device is talking to another. In spoken English. And it works.

We’ve covered several hacks for the Amazon Echo, but some might be surprised to learn that there is another piece of interesting hardware that comes along with it – a remote control. Wire in a Raspberry Pi to it, and you’ve given yourself a way to automate control of the Echo without ever taking the Echo itself apart. [Gamaral] did just this and gave his Echo some significantly enhanced capabilities.

He started off by identifying the power rails of the remote. Then he wires in a 3.3v voltage regulator and uses a 100 ohm resistor as a voltage divider to bring it down to the 1.8 volt logic level used by the Echo remote. A single wire runs from the Raspi GPIO to one of the tactile switches on the controller.

For software, the Raspi is running RPi buildroot with Espeak and a cron scheduler compiled in. This allows him to send commands to the Echo which makes it say just about anything he wants. But any voice commands accepted by the Echo should work. If you want to go outside of those boundaries check out the method of spoofing WeMo devices we saw the other day.

Be sure to check out the [gamaral’s] entertaining video below to see the hack in action.

Continue reading “Hacking Amazon Echo Through Its Remote”

How to Make Amazon Echo Control Fake WeMo Devices

[Chris] has been playing with the Amazon Echo. It’s sort of like having Siri or Google Now available as part of your home, but with built-in support for certain other home automation appliances like those from Belkin WeMo and Philips. The problem was [Chris] didn’t want to be limited to only those brands. He had other home automation gear that he felt should work with Amazon Echo, but didn’t. That’s when he came up with the clever idea to just emulate one of the supported platforms.

The WeMo devices use UPnP to perform certain functions over the network. [Chris] wanted to see how these communications actually worked, so he fired up his laptop and put his WiFi adapter into monitor mode. Then he used Wireshark to start collecting packets. He found that the device detection function starts out with the Echo searching for WeMo devices using UPnP. The device then responds to the Echo with the device’s URL using HTTP over UDP. The Echo then requests the device’s description using that HTTP URL. The description is then returned as an HTTP response.

The actual “on/off” functionality of the WeMo devices is simpler since the Echo already knows about the device. The Echo simply connects to the WeMo over the HTTP interface and issues a “SetBinaryState” command. The WeMo then obliges and returns a confirmation via HTTP.

WeMo Echo
How Echo Communicates with WeMo Devices

[Steve] was able to use this information to set up his own WeMo “virtual cloud”. Each virtual device would have its own IP address. They would also need to have a listener for UDP broadcasts as well as an HTTP listener running on the WeMo port 49153. Each virtual device would also need to be able to respond to the UPnP discovery requests and the “on/off” commands.

[Chris] used a Linux server, creating a new virtual Ethernet interface for each virtual WeMo switch. A single Python script runs the WeMo emulation, listening for the UPnP broadcast and sending a different response for each virtual device. Part of the response includes the device’s “friendly name”, which is what the Echo listens for when the user says voice commands. Since the virtual WeMo devices are free, this allows [Chris] to make multiple phrases for each device. So rather than be limited to “television”, he can also make a separate device for “TV” that performs the same function. [Chris] is also no longer limited to only specific brands of home automation gear.

There’s still a long way to go in hacking this device. There’s a lot of hardware under the hood to work with. Has anyone else gotten their hands (and bench tools) on one of these?

Hacklet 55 – Home Automation Projects

Home automation – the idea of a smart home that monitors and controls the inside environment, takes commands from occupants, and generally makes living easier. Hackers, makers, and engineers have been building their own vision of the smart home for decades. Thanks to cell phones and the revolution of the “internet of things”, home automation is now in the public eye. The hackers haven’t stopped though. They’re still building dreams, one circuit and one line of code at a time. This week’s Hacklet is dedicated to some of the best home automation projects on Hackaday.io!

jarvisWe start at the top – [IamTeknik’s] Project Jarvis has been in the top five skulled and viewed projects on Hackaday.io for as long as we’ve been keeping records. Just like the fictional Tony Stark design which inspired its name, Jarvis is based on artificial intelligence. [IamTeknik] has created a system using the BeagleBone Black running his own custom software. He’s also creating Jarvis from the ground up – even the relay modules have been designed and built by [IamTeknik]. So far Jarvis has a great 3D printed door lock unit, and a really nice wall mounted tablet. We’re watching to see what modules [IamTeknik] adds next!

 

hcs[Morrisonpiano] is no home automation noob. He’s been running his own system for two decades. HCS_IV Home Automation System is a project to update his HCS_C home automation system. For the uninitiated, the original HCS was created by [Steve Ciarcia] of Byte and Circuit Cellar fame. There have been several generations of the hardware and software since then, with plenty hackers adding their own custom features. [Morrisonpiano] is updating his system with an NXP Arm Cortex M4 CPU, three big Altera Cyclone FPGAs, and plenty of flash storage. Why use a FPGA on a home automation system? I/O of course! HCS uses a ton of I/O. There are 16 RS485 ports and 10 RS232 serial ports. Going with an FPGA makes things flexible as well. Want to add CAN bus? Just drop in some CAN HDL code and you’re golden!

 

[Sswitchteven] is giving the smart home more senses with Squirco Smart Home System – Sensor Network. Rather than just have a temperature sensor at the thermostat, or a motion detector in the front foyer, [Steven] wants a network of unobtrusive sensors to blanket the home. He’s doing this by replacing the common light switch with a smart module that has sensors for temperature, humidity, and human presence. [Steven] has spent quite a bit of time researching and experimenting microwave tomography as a means to detect humans. Going with microwaves means no obvious PIR windows.

 

bbb-haFinally, we have [Ansaf Ahmad] with BeagleBone Black Home Automation. The idea for this project came from a calculus class on optimization. [Ansaf] is putting mathematical theorems to use in the real world by monitoring usage patterns and current demands of a device. With that data, he can optimize the usage to make things greener. So far, [Ansaf] has been experimenting with a lamp. The system has a web front end which uses PHP. The GPIO pins on the board are controlled using Python and Flask. As an early project, BeagleBone Home Automation is doing great – it’s already earned [Ansaf] high grades in his computer engineering class!

If you want more smart home goodness, check out our updated home automation projects list! Did I miss your project? Don’t be shy, just drop me a message on Hackaday.io. That’s it for this week’s Hacklet, As always, see you next week. Same hack time, same hack channel, bringing you the best of Hackaday.io!

Arduino Controlled Air Conditioner

Now that summer is coming, it’s time to break out the Air Conditioners! There are some old AC units out there that still work just fine, but nowadays we are used to everything being remotely controlled and automatic. [Phil] had an old window-mounted AC unit that still worked but was installed in a not-so-convenient place. To access the AC’s controls, one would have to climb over a large desk. This is a perfect opportunity to use the plethora of widely available hobby electronics to make an automatic AC controller retrofit.

First things first, there needs to be a way to turn the current control knob on the AC. [Phil] modeled up a 3D bracket to hold an RC car servo to the AC control panel. Attached to the servo horn is a slotted cylinder sized appropriately to fit the shape of the control knob. An Arduino measures the temperature of the room via a DS18B20 temperature sensor which then has the servo turn the control knob to the appropriate position, on or off. The Arduino sends temperature data back to a PC via MegunoLink Pro which graphs past data and also displays current temperature data. Using MegunoLink Pro, the min/max temperature points can also be set without uploading a new sketch to the Arduino.

Arduino Controlled AC

From the temp vs time graph, it looks like the room temperature stays a consistent 23 +/- 1 °C. [Phil] did us summer-swelterers a favor and made all his design files available. This is a great idea but wonder if leaving the air conditioner unit switch in the ‘on’ position and turning the unit on/off via a relay connected to the 120vac line would work just as well.

Monitoring Power With A 555

[Diederich] is running a Raspberry Pi loaded up with Pimatic, a great home automation server that does just about anything you can throw at it. One thing it doesn’t do is monitor electricity and gas directly from the meter – you’re going to need hardware for that. [Diederich] stepped up to the plate and built that hardware using just a 555 timer. The total cost of adding this to his Pimatic setup was less than a dollar.

The 555 can be used as a timer, a trigger, and a bunch of them can be cobbled together into a CPU. [Diederich] isn’t using some fancy logic here; he’s just using the 555 as a Schmitt trigger with a phototransistor and his electricity meter. The output of the 555 is connected to the GPIO of the Raspberry Pi, and a Python script ties into Pimatic.

It’s a neat solution that only costs a dollar, and using the 555 has a few advantages: the 555 makes it possible to use long and thin wires back to the Pi, which means [Diederich]’s Pi doesn’t have to be located right next to his meter.