Schritt 4: SOLAR-PANEL Überwachung – PHP-Seiten
Das System nutzt 3 PHP-Seiten und eine Grafik-Bibliothek für die Kommunikation und die Anzeige der Daten.
PHPINFO. PHP
Diese PHP-Seite soll das Setup die PHP-Konfiguration auf dem Linux-Server zu überprüfen. Es ist nicht erforderlich für den täglichen Betrieb. Öffnest du"IP address/sd/spMonitor/phpinfo.php" (ersetzen Sie IP-Adresse mit der IP-Adresse zu Ihrem Arduino-Board) finden Sie die standard PHP-Info. Wichtig ist, dass die folgenden Pakete verfügbar sind:
INDEX. PHP
Als ich, dieses Projekt anfing war mein Hauptziel, Android-Handys/Tablets zu verwenden, um die aufgezeichneten Daten anzuzeigen. Aber für den ersten Test habe ich eine sehr primitive Webseite, die die aufgezeichneten Daten auf einem Web-Browser zeigt. Dies geschieht mit index.php. Das Layout der Webseite ist sehr einfach. Oben befindet sich ein Scroll-Feld, das zeigt alle verfügbaren Datensätze von Tag organisiert.
Für jeden Tag gibt es 2 Möglichkeiten:
YY-MM-DD-gefüllt = > werden alle Datensätze des Tages DD Monat MM im Jahr YY in einem Diagramm angezeigt. YY-MM-DD-zoombare = > zeigt alle Datensätze des Tages DD Monat MM im Jahr YY in ein Diagramm, das ein-und horizontal und vertikal gezoomt werden kann. (Siehe obige Bilder für die verschiedenen Diagrammtypen).
Das Datum, das angezeigt wird, nach einem Klick auf einen Link in der Liste senden, um die PHP-Seite mit dem Parameter ist Tag 15.08.21 =. Der zweite Parameter Typ = Zoomline(oder gefüllt) definiert, welche Art von Diagramm angezeigt wird. Um das Diagramm zu zeichnen verwende ich die FusionCharts Bibliothek mit ihrer PHP-Wrapper. FusionCharts bietet eine kostenlose Testversion (unbegrenzte). Es zeigt nur ein Wasserzeichen auf jeder Graph. Aber wenn Sie es in kommerziellen Anwendungen verwenden möchten, müssen Sie eine Lizenz kaufen. Ich gehe nicht in Details wie die Bibliothek verwenden. Sie können überprüfen, dass die Datei index.php um zu sehen, wie ich den Plot zu erstellen.
ABGEFRAGT WERDEN. PHP
Diese PHP-Seite wird von der Android-Anwendung verwendet, um eine Abfrage an die Sqlite-Datenbank auf dem Arduino-Board senden und empfangen die Ausgabe als JSON String. Die Abfrage wird eingeleitet mit einem Aufruf von "IP-Adresse/query.php?date=param1 & Get = all" ( IP-Adresse mit der IP-Adresse zu Ihrem Arduino Board ersetzen). Der erste Parameter "Datum" setzt der Begrenzer für die Abfrage:
Der zweite Parameter "bekommen = all" erzählt dem Skript, wenn alle Einträge neuere wie in "Datum" definiert als auch gesendet werden soll.
Beispiele:
Die Kernpunkte des PHP-Skripts sind:
die bekommt alle Zeilen, wobei "d" die Teilzeichenfolge $dateSelect enthält, und
die ruft alle Zeilen, die neuer sind als die letzte Zeile in der ersten Abfrage gefunden.
Diese beiden Abfragen aus der Datenbank übermittelten Daten sind dann kodiert als JSON-Array und zurück an den anfordernden Client gesendet.
Haben Sie einen Blick auf query.php um mehr Details zu sehen.
Das war es über die PHP-Seiten.