This Instructable is now depreciated.
Click here for the updated, much improved, version.
Hi there,
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.
Remove these ads by
Signing UpStep 1: Overview + Warning
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
Overview
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.




































Visit Our Store »
Go Pro Today »




1) I create a php file with the given code (gpio.txt) then I placed in var / www
2) I create a txt file with the given code (gpioCheck.txt) then I placed in a directory (the first available: home)
3) I logged in as root via Putty and i placed in the home directory (cd / home)
4) I have run this commands :
-"mv gpioCheck.txt gpioCheck.sh"
-"chmod +x gpioCheck.sh"
-"./gpioCheck.sh"
5) and this is what I get: http://hpics.li/4b247d7
I don't Understand !! What's the Problem ??? Thanks
Many thanks. Dan.
I am not a specialist, but there seems to be a problem in the script "gpioCheck",
Here is the code I downloaded and copy:
"echo "Please enter a wait time"
read waitTime
echo "Please enter GPIO number"
read pin
if [ "$pin" != "4" ] && [ "$pin" != "17" ] && [ "$pin" != "18" ] && [ "$pin" != "21" ] && [ "$pin" != "22" ] && [ "$pin" != "23" ] && [ "$pin" != "24" ] && [ "$pin" != "25" ]; then
echo "Pin error - GPIO number doesn't exist"
else
echo "$pin" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio$pin/direction
while :
do
if [ -f /var/www/gpio.txt ]
then
echo "Turn GPIO on"
echo "1" > /sys/class/gpio/gpio$pin/value
else
echo "Turn GPIO off"
echo "0" > /sys/class/gpio/gpio$pin/value
fi
sleep $waitTime
done
fi"
terminal says write error: Device or resource busy
how to fix it please reply soon........
I am having problems uderstanding this line of code from gpioCheck.txt
if [ -f /var/www/gpio.txt ]
I understand that it is checking to see if the file gpio.txt is there or not, it's the -f part I can't seem to find on the internet. All I find for python language is os.path.exists or something similar to check if the file exists not -f.
Thanks in advance. You have really helped me out with this instructable. Thank you for shareing.
http://www.freeos.com/guides/lsst/ch03sec02.html
Shell also test for file and directory types
Test Meaning
-s file Non empty file
-f file Is File exist or normal file and not a directory
-d dir Is Directory exist and not a file
-w file Is writeable file
-r file Is read-only file
-x file Is file is executable
Once again thanks for the tutorial.
Best regards Rogerramjetrdn
Turn GPIO on
./gpioCheck.sh: line 16: /sys/class/gpio/gpio25/value: Permission denied
Can you please help with what I might be doing wrong
Thanks
I'm new to Linux so learning as I go.
Thanks again for the great tutorial