Väder rutnätet (Powered By Intel Edison) (4 / 7 steg)
Steg 4: Konfigurera webbservern (Apache2)
Konfigurera Apache2
Som jag beskrev ovan, kommer vi att använda ett PHP-skript på Linux sidan av Edison att samla väderdata och skicka den till Arduino skiss. Så det första vi behöver göra är att installera Apache2 (en populär webbserver) och sedan installera PHP.
Det installera det, måste du använda "AlexT" programvarudatalager. Du hittar den här (http://alextgalileo.altervista.org/edison-package-repo-configuration-instructions.html) tillsammans med all nödvändig dokumentation. När reporäntan är inställt kan du köra följande för att installera apache:
Opkg installera apache2
Opkg installera php-modphp
När Apache2 är installerat måste du ändra porten som Apache2 tjänsten kommer att titta på. Du gör det genom att redigera konfigurationsfilen Apach2: /etc/apache2/httpd.conf
Det finns två sätt att redigera filen. Du kan använda en editor som VI vill skapa och redigera filen på plats, eller WinSCP kan du fjärrstyra manipulera filen. WinSCP fungerar via en SSH-anslutning så att du kan manipulera filsystemet för a ta bort Linux-box. Mer information om WinSCP och Intel Edison bör du läsa över de följande Instructable:
När du är redo att redigera filen leta upp raden "lyssna" (runt linje 52) och uppdatera den till:
Lyssna på 84
Nu måste du konfigurera Apache2 att starta vid omstart (vanligen refereed till som gör det ihållande) och du kommer också vill starta tjänsten. Du kan göra dessa saker med de följande commandlines:
systemstl stop apache2
systemstl aktivera apache2
systemstl start apache2
Apache2 och PHP bör nu vara igång på din Edison. Standardkatalogen för roten på webbservern är på: /usr/share/apache2/htdocs.
Nu är det dags att testa Apache2. Ladda en webbläsare på en dator i samma nätverk och komma åt Edison på:
http://[EDISONS-IP]:84/index.html
Byt namn "index.html" till "index.php" och används den andra datorn för att ladda:
http://[EDISONS-IP]:84/index.php
Ställa in PHP-skript.
Nu måste vi lägga filen "väder-set-1.php" (länk nedan) till den Edisons webbrot (/ usr/share/apache2/htdocs). Du kan använda antingen WinSCP eller skapa och redigera filen med en editor som VI.
https://github.com/nam37/weathergrid/BLOB/Master/w...
När filen är skapad eller kopierat över kan du testa skriptet använder:
http://[EDISONS-IP]:84/Weather-set-1.php/Weather-s...
och
http://[EDISONS-IP]:84/Weather-set-1.php/Weather-s...
Som innan, är det inte omfattas av detta Instructable att fullt ut förklara varje rad av manus, men i allmänhet finns det två viktiga saker som händer här. Först använder vi ipinfo.io för geolocation. För att göra detta använder vi "file_get_contents" trycka på ipinfo.io webbplats och de svara tillbaka med våra postnummer. Vi tar sedan denna zip koden och (med "file_get_contents" igen) begär vår väder från Yahoo väder med en redigerad version av ett skript från http://www.hastuts.com/display-weather-forecast-b... . Slutligen, vi tar väder eller temperatur data och skicka den till Arduino via webbservern körs på Arduino.
En mer komplett struktur av skriptet:
- Början av skriptet anger den lokala tidszonen. Du bör ställa din tid zonen. För mer information, titta här: http://php.net/manual/en/function.date-default-ti...
- Nästa skriptet avgör om vi försöker ställa in temperaturen eller väder koden utifrån querystring.
- Skriptet slutar till sist med funktioner gör allt arbete.