[Patrick] wanted to have centralized sensing and control over various parts of his house. His Raspberry Pi Home Automation System integrates a bunch of functionality in one rack mount package, salvaged from an old network switch.
The automation system is based on a Raspberry Pi running Arch Linux, which talks to an ATmega over SPI. We’ve seen this setup used many times before to add additional ports to the Raspberry Pi, but what makes [Patrick]’s build unique is the amount of control he’s built into the system.
The box controls outdoor lighting at sunset and sunrise, generates wakeup calls, controls IR cameras, and plays sounds based on events. It’s capable of monitoring sump pump water level, the state of a house alarm, and more. A custom REST API is used to interact with the device. This allows for programs on any platform to interface with his home, and acts as an API for his house.
[Patrick] provides a lot of details in his build log, which should be helpful to anyone looking to roll their own home automation system. The source is also provided.
Confronted with a monitor that would display neither HDMI signal, nor composite video, [Joonas Pihlajamaa] took on a rather unorthodox task of getting his oscilloscope to work as a composite video adapter. He’s using a PicoScope 2204 but any hardware that connects to a computer and has a C API should work. The trick is in how his code uses the API to interpret the signal.
The first thing to do is make sure the voltage levels used in the composite signal are within the tolerances of your scope. [Joonas] used his multimeter to measure the center pole of the RCA connector and found that the Raspberry Pi board puts out from 200 mV to 2V, well within the PicoScope’s specs. Next he started to analyze the signal. The horizontal sync is easy to find, and he ignored the color information — opting for a monochrome output to ease the coding process. The next big piece of the puzzle is to ascertain the vertical sync so that he knows where each frame starts. He got it working and made one last improvement to handle interlacing.
The proof of concept video after the break shows off the he did. It’s a bit fuzzy but that’s how composite video looks normally.
Continue reading “Using an oscilloscope as a composite video adapter”
So you can spend a bundle on a new phone and it comes with a voice-activated digital assistant. But let’s be honest, it’s much more satisfying if you coded up this feature yourself. Here’s a guide on doing just that by combining an Asterisk server with the Wolfram Alpha API.
Asterisk is a package we are already familiar with. It’s an open source Private Branch Exchange suite that lets you build your own telephone network. Chances are, you’re not going to build one just for this project, but if you do make sure to document the process and let us know about it. With the Asterisk server in place you just need to give the assistant script an extension (in this case it’s 4747).
But then there’s the problem of translating your speech into text which can be submitted as a Wolfram query. There’s an API for that too which uses Google to do that translation. From there you can tweak abbreviations and other parameters, but all-in-all your new assistant is ready to go. Call it up and ask what to do when you have a flat tire (yeah, that commercial drives us crazy too).
[GuySoft] threw together a cellphone-based SMS gateway that allows him to push text messages to Twitter. Once up and running, it can be used by multiple people, either with shared or individual Twitter accounts. At its core, this setup uses the cellphone as a tethered modem on a Linux box. The open source software package, Gammu SMSD, provides hardware hooks for phones running in modem mode. The package is already in the Ubuntu repositories but it runs cross-platform and can be downloaded from the project site. This gave [GuySoft] the ability to script a framework that checks for received SMS messages, compares the incoming phone number for a match on a saved list, then pushes the message from a confirmed number to Twitter via their API.
A web interface is used to register new numbers and associate them with Twitter accounts. On the back-end, [GuySoft’s] own Python script handles the translation of the message. You can download all of the code, and get more insight on setup from the readme file, over at the GitHub repository.
[Graham Auld] got his hands on an energy monitor for free from his utility company. The device seen in the insert provides a nice LCD display but he wanted a way to graph the data over time. There was an included cable and a method of using Google PowerMeter but only for Windows computers. He did a little poking around and came up with a Perl script to interface the meter with Google’s tools.
The hardware module is known as the Current Cost CC128 and the developer was nice enough to publish an XML output description which [Graham] used in his script. From there it’s just a matter of registering and authenticating through the Google PowerMeter API. The script is not fully polished yet but it serves as a road map for your own implementation.
Google’s tentacles continue to wrap around every portion of our lives with the addition of an API for their PowerMeter software. The PowerMeter tool works with smart electricity meters to monitor and display power usage in the home. This will allow manufacturers (and hackers alike) to design new devices with the Google interface in mind.
We’ve got an old-fashioned power meter with a spinning dial and no blinking LED. This means we can’t monitor that blink to add our own PowerMeter interface. But if you do have an easy way to grab data from your meter you can design a home system that takes full advantage of Google’s tools.
Ok, who’s going to be the first to have their Google PowerMeter-compatible hack featured on Hackaday?
[related: Google Chrome roundup]