4. Outputin ohjaaminen php-sivulla

Kokeilemme luoda nettisivun Raspberry Pi:lle, jonka avulla ohjaamme aikaisemmin kytkemäämme lediä.

Ensin pitää asentaa Apache web-serveri ja tuki php-ohjelmointikielelle.

Avaa tutuksi tullut Terminal ja aja seuraavat komennot. Ensimmäisenä asennetaan Apache.

sudo apt-get install apache2 -y

Jos satuit kirjoittamaan muistiin 1. harjoituksessa muuttamasi Raspberryn ip-osoitteen, voit asennuksen jälkeen testata Apachen asennuksen onnistumisen kirjoittamalla samassa verkossa olevan tietokoneen selaimeen raspberryn ip-osoitteen (esim: http://192.168.1.2) tai raspberryn omaan Epiphany Web Browseriin http://localhost/. Onnistuneen asennuksen jälkeen edellisillä ohjeilla aukeaa alla olevan kuvan mukainen nettisivu.

kuva4-1

Jotta Apache nettiserveri voisi ajaa PHP-sivuja, täytyy Raspberryyn asentaa tuki PHP-kielelle. Aja seuraava komento:

sudo apt-get install php5 libapache2-mod-php5 -y

Oletussivu on vain html-tiedosto, jonka nimi on index.html. Se on hakemistossa /var/www/html/index.html

Avaa Terminal ja tarkastele mitä kansiosta löytyy.

cd /var/www/html
ls -al

Näet todennäköisesti jotain tällaista:

total 40
drwxr-xr-x 2 root root 4096 Jan 25 17:43 .
drwxr-xr-x 3 root root 4096 Jan 22 12:32 ..
-rw-r--r-- 1 root root 11104 Jan 22 12:33 index.html

Sieltä ei pitäisi vielä löytyä muuta kuin index.html

Testataan ensin PHP:n asennuksen onnistuminen. Avaa nano-tekstieditori ja luo tiedosto index.php

sudo nano index.php

Kirjoita tiedostoon php-koodi:

<?php
 echo "hello world";
 echo "<br>";
 echo date('Y-m-d H:i:s');
?>

Tallenna ctrl+o ja lopeta ctrl+x. Avaa nettiselaimessa Raspberryn osoite http://192.168.1.2/index.php

Aiempien harjoitusten kytkentäsi pitäisi olla vielä koskematta, joten käytämme kytkettyä lediä ja ohjaamme sitä php-sivun kautta.

GPIO-komentoja voi ajaa myös Terminalin komentoriviltä ja tätä ominaisuutta käytämme hyväksemme php-ohjauksessa.

Tee kansioon /var/www/html uusi tiedosto komennolla:

sudo nano pinon.php

Tällä sytytämme ledin. Kirjoita tiedostoon:

<?php
 system("gpio -g mode 18 out");
 system("gpio -g write 18 1");
 header("Location: control.php");
 exit;
?>

Luo toinen tiedosto, jolla sammutamme ledin:

sudo nano pinoff.php

Kirjoita tiedostoon:

<?php
 system("gpio -g mode 18 out");
 system("gpio -g write 18 0");
 header("Location: control.php");
 exit;
?>

Tämän jälkeen tee edelleen uusi tiedosto:

sudo nano control.php

Kirjoita siihen html-sisältö alla olevan kuvan mukaisesti.

kuva4-2

Tallenna ctrl+o ja lopeta ctrl+x. Avaa nettiselaimessa Raspberryn osoite http://192.168.1.2/control.php ja testaa linkkien toiminta.

kuva4-3