Today’s story is one of victory and defeat, of mystery and adventure… It’s time to automate the garage door. Connecting the garage door to the internet was a must on my list of smart home features. Our opener has internet connection capabilities built-in. As you might guess, I’m very skeptical of connecting a device to the internet when I have no control over the software running on it.
The garage door is controlled by a button hung on the garage wall. There is only a pair of wires, so a simple relay should be all that is needed to simulate the button press from a Raspberry Pi. I wired a relay module to a GPIO on the Pi mounted in the garage ceiling, and wrote a quick and dirty test program in Python. Sure enough, the little relay was clicking happily– but the garage door wasn’t budging. Time to troubleshoot. Does the push button still work? *raises the garage door* yep. How about the relay now? *click…click* nope.
You may have figured out by now, but this garage door opener isn’t just a simple momentary contact push button. Yes, that’s a microcontroller, in a garage door button. This sort of scenario calls for forensic equipment more capable than a simple multimeter, and so I turned to Amazon for a USB oscilloscope that could do some limited signal analysis. A device with Linux support was a must, and Pico Technology fit the bill nicely.
Searching for a Secret We Don’t Actually Need
My 2 channel Picotech oscilloscope, the 2204A, finally arrived, and it was time to see what sort of alien technology was in this garage door opener. There are two leads to the button, a ground and a five volt line. When the button is pressed, the microcontroller sends data back over that line by pulling the 5 V line to ground. If this isn’t an implementation of Dallas 1-wire, it’s a very similar concept.
Continue reading “Hack My House: Garage Door Cryptography Meets Raspberry Pi”
The art of brewing beer is as old as civilization itself. Many people enjoy brewing their own beer at home. Numerous steps must be taken before you can take a swig, but fermentation is one of the most critical. [Martin Kennedy] took up the hobby with his friends, and wanted a convenient way to monitor the fermentation temperature remotely. He started working on the BrewMonitor, a cloud-based homebrewing controller powered by an Arduino clone.
His goal was to create something cheap, convenient, and easy to set up. Traditional fermentation monitoring equipment is very expensive. The typical open-source alternative will set you back 80 euros (roughly $101), using the Arduino-sensor with a Raspberry Pi gateway via the BrewPi webserver. [Martin] did not want to go through the hassle of viewing BrewPi remotely, since it requires a home network and all of the configuration that would entail. Instead, he coupled an Arduino clone with a DS18B20 temperature sensor while using an ESP8266 module for wireless communication, all for less than 18 euros ($23). This connects to a simple webpage based on Scotch.io with a PHP backend (Laravel with RESTful API), a MySQL database, and an AngularJS frontend to display the graph. Once the sensor is placed into the fermenter bucket’s thermowell, the temperature is transmitted once a minute to the REST API. You can see the temperature over time (in Celsius). The design files are available on GitHub.
[Martin] would like to expand the functionality of BrewMonitor, such as adding the ability to adjust the temperature remotely by controlling a heater or fridge, and lowering its cost by single boarding it. Since the information is stored on the cloud, upgrading the system is much easier than using a separate gateway device. He doesn’t rule out crowdfunding campaigns for the future. We would like to see this developed further, since different yeast species and beer styles require very stringent conditions, especially during the weeks-long fermentation process; a 5-degree Celsius difference can ruin an entire brew! Cloud-based temperature adjustment seems like the next big goal for BrewMonitor. DIY brewers salute you, [Martin]!
[via Dangerous Prototypes]