Smartphone operated garage door is beginning of Arduino home automation system

[Tim] is showing off the first step in his home automation projected with this smart-phone garage door interface. In the video after the break you can see him open and close the garage door with the touch of a button. There’s also an open or closed indicator that he can check when away from home.

An Arduino takes care of a portion of the control for this project. Like the post we saw yesterday, he’s using PHP code on a webpage to manipulate the Arduino via its USB connection in order to open and close the door using a relay. The door status is also monitored by the Arduino and sent to the PC over the serial connection. The computer uses a Python script to monitor the incoming data and update a text file which is merged into the web interface using a PHP include. Future plans for the system include adding control for heating and air conditioning systems.

If you’re looking to do something like this but wirelessly here’s some advice on ditching the Arduino and using an XBee module instead.

[Read more...]

The basics of controlling an Arduino with PHP

You can easily add Internet-based control for your Arduino if it is close enough to your server to be connected via USB. This tutorial will give the basics you need to get it working.

The gist of this method involves a webpage that includes PHP elements. When one of those elements is manipulated, a command is sent via serial connection to the Arduino which then reacts based on what it received. This example uses an Ubuntu box that is running an Apache server. The Arduino sketch sets up the serial connection and then listens for incoming traffic. Whenever it receives a non-zero character an LED will blink. On the server side of things you’ll need to make sure that the system user that runs Apache (www-data) has permission to write to a serial port.

This base example may seem extremely simple, but there’s no end to what you can build on top of it. Different PHP events can be added to push new commands over the serial connection with matching test conditions added to the sketch.

[Thanks Jarryd]

PC monitor sleep mode using iPhone

[Mike Silverman] rigged up a way to make his monitor sleep from an iPhone. Working with a Windows system, he installed QuickPHP and NirCmd to add PHP and command line controls. Some quick PHP code writing and this has the effect of creating a sleep button toggled via a network address. He loads up the IP and port information in the Safari browser of his iPhone, creating a Home Screen short cut seen in the image above. Now he clicks on the button and puts the screen to sleep.

It’s not that we find this functionality useful since most monitors sleep after a few minutes of inactivity. But we like the methodology and you can bet we’re already planning uses for this. Any PHP server (like the copy of Apache running on this machine) will do as long as it’s on the same LAN as the iPhone’s WiFi connection.

Network enabled window air conditioner

It’s no secret that the central US is feels like a very humid oven right now. [Erik's] window AC hack might help you out if you’re coping with triple-digit temperatures. He added network connectivity to the unit above but the picture is a bit deceiving. The blue CAT-5 cable that enters the bottom isn’t connecting directly to the network, but extends the up and down button connections for the unit to an external relay board. From there he uses an SNMP board to connect it to the network and uses PHP commands to reset the temperature. The unit has a working range of 66-88 degrees Fahrenheit so he cycles enough button press to reach the maximum or minimum level, then sets the desired temperature (avoiding the need to know what temperature the unit is currently set at).

If you’ve got an AC unit with a remote control you could always use an IR device to patch into the system for similar functionality.

PHP runtime rewritten, by Facebook?

Yes, its true. Facebook has completely rewritten the PHP runtime to make it faster and more efficient, and its completely open source. Named HipHop, its described as a source code transformer, changing PHP into optimized C++ which is then compiled using g++. Thus keeping the best aspects of PHP while taking advantage of the performance of C++. Using HipHop, the Facebook web server CPU usage has been decreased by about fifty percent! And who would have thought that this and many other cool advances in programming, started at a Hackathon.

Arduino “python” integration


[Cyberspice] informs us she likes snakes. Hey, who doesn’t? She’ll soon be adopting a lovely ball python and wanted to keep close tabs on the sensitive creature’s environment. To that end she assembled a network-enabled vivarium monitoring system based on Adafruit’s Boarduino (a minimalist Arduino clone), a TMP36 analog temperature sensor, Saelig’s WIZ810MJ Ethernet interface, and a common LCD screen. The Arduino rig periodically issues updates to a web server, which can then generate informative graphs using a set of PHP scripts (what, no Python?).

Okay, so we could probably count on one hand the number of readers in need of fancy reptile monitoring and still have fingers left over. There are countless other applications where networked sensor monitoring of this sort is a frequent necessity, so the article could be a good starting point for your own projects. There’s lots of source code to work with, on both the Arduino and web server sides. And the parts list demonstrates serious frugality: the Boarduino, the generic LCD, and especially the Ethernet interface; even with the breadboard adapter, this unit is about half the cost of the usual Arduino Ethernet shield, leaving more funds available for the snake food budget!

Using Bittorrent on Amazon EC2

Bittorrent is a great distribution method for large files, but its heavy bandwidth usage can be disruptive to both work and home networks. [Brett O'Connor] has decided to push all of his torrenting activity into the cloud. Amazon’s EC2 service lets you run any number of Amazon Machine Images (AMI, virtual machines) on top of their hardware. You pay for processing time and data transferred. [Brett] put together a guide for building your own seedbox on the service. First, you set up the Security Group, the firewall for the machine. Next, you specify what AMI you want to use. In this example, it’s a community build of Ubuntu. Once you have your SSH keypair, you can start the instance and install Apache, PHP, and MySQL. TorrentFlux is the web frontend for bittorrent in this case. It manages all the torrents and you just need to click download when you want to grab the completed file.

Even if you don’t plan on setting up a seedbox, the post is a straightforward example of how-to get started with EC2. He’s not sure what the cost will be; the current estimate is ~$30/mo.

[via Waxy]

[photo: nrkbeta]