Here's a very brief set of steps to install and set up apache2
// [add “-y” to bypass Y/n? go ahead] sudo apt-get update sudo apt-get upgrade sudo apt-get install apache2 [-y] sudo apt-get install php5 libapache2-mod-php5 [-y] // set up permissions for /var, /var/www, /var/www/html folders sudo addgroup www-data sudo chown -R www-data:www-data /var sudo adduser pi www-data // let everyone rw www cd /var/www/ sudo chmod 777 www cd /var/www sudo chmod 777 html // delete index.html from /html cd /var/www/html sudo rm index.html // remove /html cd /var/www sudo rm html //restart apache sudo service apache2 restart // change the document root for apache2 cd /etc/apache2/sites-available/ sudo nano 000-default.conf // change the line to "DocumentRoot /var/www" Exit ^X - "Y" and saveLIGHTS CONTROLLER
Now you are ready to put files in /var/www/. The first should be a new server index file. For the Home Automation project the index.html file is:
And then also in the /var/www/ folder put the gpio.php file:
When you point your browser at the R_IP "IP address", e.g. raspberrypi.local, you will see the index.html file
And when you click one of the two buttons R_PI gPIO 17 or 27 will switch ON or OFF. What is all this HTML and PHP?
In the HTML file create a "form", define the action to take when this form is sent from client to server, i.e. execute "gpio.php" program on the server. Send data to the server using the method "POST" if the button "table_on" or "ON", table_off" or "OFF" are clicked. "Table Lights:" is the text to put on the form, before creating these buttons. The "submit" creates the button with a value written on it of "ON". (the second "input" creates a second button "OFF"). Pressing the button sends a value of "True" only when a button is pressed.
In the PHP file, the variable "$_POST['table_on']" is tested by "isset(...) function to see if it is set "True" becaue this button was pressed. If so it executes the command in "exec(...);"
No comments:
Post a Comment