Étape 4: Configuration du serveur Web (Apache2)
Configurer Apache2
Comme j’ai décrit ci-dessus, nous allons utiliser un script PHP du côté de Linux de l’Edison pour recueillir les données météorologiques et passez-la sur le croquis de l’Arduino. Donc la première chose que nous devons faire est d’installer Apache2 (un serveur Web populaire) et ensuite installer PHP.
Il l’installer, vous aurez besoin d’utiliser le référentiel de « agiaport ». Vous pouvez le trouver ici (http://alextgalileo.altervista.org/edison-package-repo-configuration-instructions.html) ainsi que tous les documents nécessaires. Une fois le repo est configuré, vous pouvez exécuter la commande suivante pour installer apache :
Une fois installé Apache2, vous devrez changer le port qui regarder le service Apache2. Vous faites cela en éditant le fichier de config Apach2 : /etc/apache2/httpd.conf
Il y a deux façons pour modifier le fichier. Vous pouvez utiliser un éditeur tel que VI pour créer et éditer le fichier en place, ou vous pouvez utiliser WinSCP pour manipuler à distance les fichiers. WinSCP fonctionne via une connexion SSH pour vous permettre de manipuler le système de fichiers d’une suppression de GNU / Linux. Pour plus d’informations sur WinSCP et l’Edison Intel, vous devriez lire sur l’Instructable suivant :
Une fois que vous êtes prêt à éditer le fichier recherchez la ligne « listen » (autour de la ligne 52) et mettre à jour à :
Maintenant, vous devrez configurer Apache2 pour démarrer au redémarrage (communément arbitré comme rend persistants) et vous aurez également besoin de démarrer le service. Vous pouvez faire ces choses avec les commandlines suivants :
Apache2 et PHP devraient maintenant fonctionner sur votre Edison. Le répertoire par défaut pour la racine du serveur Web se trouve à: /usr/share/apache2/htdocs.
Il est maintenant temps de test Apache2. Charger un navigateur web sur un ordinateur sur le même réseau et accéder à l’Edison à :
http://[EDISONS-IP]:84/index.html
Le changement de nom "index.html" à « index.php » et permettant de charger l’autre ordinateur :
http://[EDISONS-IP]:84/index.php
Mise en place du script PHP.
Maintenant, nous aurons besoin de mettre le fichier « météo-ensemble-1.php » (lien ci-dessous) dans la racine web d’Edison (/ usr/share/apache2/htdocs). Vous pouvez utiliser soit WinSCP ou créer et éditer le fichier avec un éditeur tel que VI.
https://github.com/nam37/weathergrid/BLOB/Master/w...
Une fois que le fichier est créé ou copié plus, vous pouvez tester le script en utilisant :
http://[EDISONS-IP]:84/weather-set-1.php/Weather-s...
et
http://[EDISONS-IP]:84/weather-set-1.php/Weather-s...
Comme avant, c’est à l’extérieur de la portée de ce Instructable à expliquer en détail toutes les lignes du script, mais en général il y a deux choses importantes qu’on effectue. Tout d’abord, nous utilisons ipinfo.io pour la géolocalisation. Pour ce faire, nous utilisons « file_get_contents » pour frapper le site de ipinfo.io et ils répliquent revient avec notre code postal. Nous prenons ensuite ce zip code et (à l’aide de « file_get_contents » nouveau) sollicitez notre Météo Météo Yahoo en utilisant une version modifiée d’un script de http://www.hastuts.com/display-weather-forecast-b... . Enfin, nous prenons les données météorologiques ou température et passez-le à l’Arduino via le serveur web s’exécutant sur l’Arduino.
Une structure plus complète du script :
- Au début du script définit le fuseau horaire local. Règlez la vôtre au fuseau horaire applicable. Pour plus d’informations, regardez ici : http://php.net/manual/en/function.date-default-ti...
- Script suivant détermine si nous tentons de définir la température ou le code de temps basé sur la chaîne de requête.
- Enfin le script termine avec les fonctions du faire tout le travail.