This Instructable is now depreciated.
Click here for the updated, much improved, version.
This will hopefully show you how to control electronics across the internet using your Raspberry Pi.
It's not the best way to do it, and soon I will update this with a way to use MySQL to do the same thing.
Here's a link to YouTube showing it in action: http://www.youtube.com/watch?v=OCZlfAFcm7Q
For this, please ensure that you have apache with php running on your Raspberry Pi, Instructions can be found here.
Also, it would be a good idea to read my previous instructable on general GPIO control, which can be found here.
Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.
Step 1: Overview + Warning
This is not the best way of doing this, and I hope to update this soon with a MySQL solution.
Until then, I'd recommend keeping this to your local network (not over the internet yet).
However, there shouldn't be any issues, it's just a warning. :D
This will (at the moment) allow you to control your GPIO pins via a web interface.
The program running on your Raspberry Pi checks to see if a file exists, if it does - it turns the output on, otherwise it turns it off. All the web interface does (at the moment) is to either create or delete this file.
Step 2: Web Page Code
The web page is really quite simple, and is one php page.
As earlier, you will need Apache and PHP installed onto your Raspberry Pi (A guide can be found here).
The php code is attached to this step, and must be uploaded to the raspberry pi (/var/www/ directory).
Step 3: Shell Script Code
The shell script attached must be run on the server as root.
Upload this to your Raspberry Pi, then perform the following commands:
mv gpioCheck.txt gpioCheck.sh
chmod +x gpioCheck.sh
It will ask you to input a delay - 1 second is usually quite good, although if you enter 0 there will be minimal lag between you pressing the web button, and the raspberry pi setting the GPIO.
PLEASE NOTE: This is timed in seconds by default.
It will then ask you for the GPIO number, not the pin number. (attached is a pinout)
I used 21 for this example.
Then it will output whether or not the web interface has told it to be on or not.
Step 4: Finish
That's it really,
Just run the shell script (./gpioCheck.sh) and click the buttons.
The rest is up to you.
If you felt lost, you might want to check out this instructable first, otherwise leave a comment :D
Hope this helps,