Étape 12 : Mettre en place une Page de contrôle/Navigation
Si vous désirez, au lieu d’accéder chaque instance de BrewPi en tapant son adresse et le nom que vous pouvez configurer une page d’accueil dans le répertoire /www/var ainsi vous pouvez voir tous les moniteurs d’état LCD à la fois.
Dans le type de terminal :
sudo nano /www/var/chamber1/lcd.php
Ensuite, lorsque l’éditeur s’ouvre, copiez et collez le script suivant :
Code :
<? php * Copyright 2012 BrewPi/Elco Jacobs. * Ce fichier appartient à BrewPi. * BrewPi est un logiciel libre : vous pouvez le redistribuer et/ou le modifier * elle aux termes de la GNU General Public License telle que publiée par * la Free Software Foundation, soit la version 3 de la licence, ou * (à votre choix) toute version ultérieure. * BrewPi est distribué dans l’espoir qu’il sera utile, * mais sans aucune garantie ; sans même la garantie implicite de * qualité marchande ou ADEQUATION a un usage particulier. Voir la * GNU General Public License pour plus de détails. * Vous devriez avoir reçu une copie de la GNU General Public License * avec BrewPi. Si non, voir < http://www.gnu.org/licenses/>. * / //load par défaut des paramètres du fichier $defaultSettings = file_get_contents('defaultSettings.json') ; if($defaultSettings == false) {die ("Impossible d’ouvrir le fichier de paramètres par défaut : defaultSettings.json");} $settingsArray = json_decode(prepareJSON($defaultSettings), true) ; if(is_null($settingsArray)) {die ("Impossible de décoder defaultSettings.json");} / / remplacer les paramètres par défaut avec if(file_exists('userSettings.json')) de paramètres utilisateur {$userSettings = file_get_contents('userSettings.json') ; if($userSettings == false) {die ("erreur d’ouverture de paramètres fichier userSettings.json");} $userSettingsArray = json_decode(prepareJSON($userSettings), true); if(is_null($settingsArray)) {die ("Impossible de décoder userSettings.json");} foreach ($userSettingsArray as $key = > $value) {$settingsArray [$key] = $userSettingsArray [$key];}} $beerName = $settingsArray ["Azn_bakà"] ; $tempFormat = $settingsArray ["tempFormat"] ; $profileName = $settingsArray ["nomProfil"] ; $dateTimeFormat = $settingsArray ["dateTimeFormat"] ; $dateTimeFormatDisplay = $settingsArray ["dateTimeFormatDisplay"] ; function prepareJSON($input) {//This convertira ASCII/ISO-8859-1 à UTF-8. //Be prudent avec le troisième paramètre (codage détecteur de liste), parce que //if mal, certains codages d’entrée réglé obtiendra la $input brouillé (y compris UTF-8!) = mb_convert_encoding ($input, ' UTF-8', 'ASCII, UTF-8, ISO-8859-1'); //Remove BOM UTF-8 s’il est présent, json_decode() n’aime pas lui si (substr ($input, 0, 3) == pack ("CCC", 0xEF, 0xBB, 0xBF)) $input = substr (la $input 3); < /p >< p > retourne la $input ; }? >< ! DOCTYPE html >< html >< tête >< meta http-equiv = « content-type » content = "text/html ; charset = utf-8 "/ >< titre > BrewPi de déclaration en douane! < / titre >< type de liaison =" text/css"href="css/redmond/jquery-ui-1.10.3.custom.css "rel ="stylesheet"/ >< type de liaison =" text/css"href="css/style.css "rel ="stylesheet"/ >< link rel ="apple-touch-icon"href ="touch-icône-iphone.png">< link rel ="apple-touch-icon"tailles ="76 x 76"href =" touch-icône-ipad.png & quoquot ; >< link rel = "apple-touch-icon" tailles = "120 x 120" href = "touch-icône-iphone-retina.png" >< link rel = "apple-touch-icon" tailles = "152 x 152" href = "touch-icône-ipad-retina.png" >< nom de meta = "apple-mobile-web-app-title" content = "BrewPi" >< nom Meta = "apple-mobile-web-app-compatible" content = "yes" / >< link rel = "apple-touch-démarrage-image" href="splash.png" / >< / chef >< corps >< div id = "lcd" class = "lcddisplay" >< span class = "lcd-text" >< span class = "lcd-ligne" id = "lcd-ligne-0" > attente LCD Live < /span >< span class = "lcd-ligne" id = "lcd-ligne-1" > pour mise à jour de < /span >< span class = "lcd-ligne" id = "lcd-ligne-2" > script... < /span >< span class = "lcd-ligne" id = "lcd-ligne-3" >< / span >< / p >< p >< / div >< script type = "text/javascript" src="js/jquery-1.11.0.min.js" >< / script >< script type = "text/javascript" src="js/jquery-ui-1.10.3.custom.min.js" >< / script >< script type = "text/javascript" src = "js/jquery-ui-timepicker-addon.js" >< / script >< script type = "text/javascript" src="js/spin.js" >< / script >< script type = "text/javascript" src = "js/dygraph-combined.js" >< / script >< script type = "text/javascript" > / / passer des paramètres au JavaScript window.tempFormat = <? php echo "" $tempFormat' "? > ; window.beerName = <? php echo « \"$beerName\ »"? > ; window.profileName = <? php echo « \"$profileName\ »"? > ; window.dateTimeFormat = <? php echo « \"$dateTimeFormat\ »"? > ; window.dateTimeFormatDisplay = <? php echo "\"$dateTimeFormatDisplay\""? > ; < /script >< script type = "text/javascript" src="js/main.js" >< / script >< script type = "text/javascript" src = "js/périphérique-config.js" >< / script >< script type = "text/javascript" src = "js/contrôle-Panel.js" >< / script >< script type = "text/javascript" src = "js/entretien-Panel.js" >< / script >< script type = "text/javascript" src = "js/bière-chart.js" >< / script >< script type = "text/javascript" src = "profil-js/table.js" >< / script >< body / >< / html >
- Appuyez sur CTRL-X, enregistrer et quitter. Procéder ainsi pour chaque chambre/répertoire que vous avez créé.
Lorsque vous avez créé tous les scripts de lcd.php que vous avez besoin, tapez la commande suivante dans le terminal :
sudo nano /www/var/main.html
Où « main.html » est le nom-ce que vous voulez utiliser pour votre page de moniteur.
Puis entrez le code html ci-dessous dans l’éditeur :
Code :
Ajouter davantage de lignes si nécessaire si vous avez plus de 3 chambres ou supprimer, si vous avez seulement 2. Appuyez sur CTRL-X, enregistrer et quitter. Ensuite, ouvrez : http://your-rpi-ip/main.html dans votre navigateur, pour ouvrir la page de moniteur.
N’oubliez pas de remplacer l’adresse IP avec l’adresse IP de votre Pi et pour qu’il pointe vers les répertoires appropriés. Vous pouvez ensuite ajouter des liens cliquables, photos ou autre éléments HTML que vous souhaitez à cette page. J’ai même ajouté des liens aux autres chambres dans chaque page Web Interface afin que je peux cliquer en arrière si nécessaire.