Inhaltsverzeichnis:

Eigene Diagramme für meine IOT-Daten auf einem Raspberry PI erstellen - Gunook
Eigene Diagramme für meine IOT-Daten auf einem Raspberry PI erstellen - Gunook

Video: Eigene Diagramme für meine IOT-Daten auf einem Raspberry PI erstellen - Gunook

Video: Eigene Diagramme für meine IOT-Daten auf einem Raspberry PI erstellen - Gunook
Video: [Tutorial] Raspberry Pi - Temperatur in einem Diagramm darstellen (MySQL, Apache, PHP) 2024, November
Anonim
Erstellen Sie meine eigenen Diagramme für meine IOT-Daten auf einem Raspberry PI
Erstellen Sie meine eigenen Diagramme für meine IOT-Daten auf einem Raspberry PI

Bitte lesen Sie weiter, wenn Sie in der Lage sein möchten, Ihre eigenen IOT-Graphen mit 7 Codezeilen zu erstellen.

Ich wollte Diagramme erstellen, um Daten von meinen IOT-Sensoren in einem grafischen Format auf einer Webseite anzuzeigen. Zuvor hatte ich dafür Dienste von Drittanbietern (einige kostenpflichtig) und Graphfunktionen von Drittanbietern für mein Datenbanksystem - Mysql - mit einer Programmiersprache namens PHP verwendet. Ich fand diese Dienste von Drittanbietern zu schwierig oder zu teuer in der Bereitstellung. Deshalb habe ich meine eigene einfache PHP-Funktion geschrieben, die Daten als Arrays aus einer Textdatei oder Datenbanktabelle (vielleicht aus Mysql) nimmt und sie als Liniendiagramm auf einer Webseite anzeigt. Ich habe den gesamten PHP-Code auf github verfügbar gemacht - https://github.com/scanos/php-simple-chart. Ich habe auch einen Teil des Codes hier eingefügt - die erste PHP-Datei - PhpSimpleChart2.php - enthält die Liniendiagrammfunktionsdatei, die andere, PhpSimpleChart_ex1.php, ist eine Beispieldatei, die zeigt, wie man sie verwendet. Ich schlage vor, dass Sie auch die Github-Seite besuchen, um Code-Updates zu erhalten.

Ich setze dies auf meinem Raspberry Pi ein. Hier ist, was Sie brauchen:

1) Einige Kenntnisse über die Bereitstellung eines Webservers wie Apache, einer Datenbank wie Mysql und PHP. Zusammen sind diese als LAMP bekannt - Linux, Apache, Mysql und PHP. und es gibt eine riesige Menge an Informationen im Web, um diese auf einem Raspberry Pi bereitzustellen. Daher werde ich hier nicht darauf eingehen.

2) Eine LAMP-Linux-Umgebung - wieder wie Raspberry Pi.

3) Ein Mittel zum Hochladen und Erstellen von Dateien in Ihre Webumgebung, d. h. die Ordner auf Ihrem Raspberry Pi, in denen Sie Ihre Programm-PHP-Dateien bereitstellen.

Als nächstes zeige ich Ihnen, wie Sie Ihre eigenen PHP-Dateien mit den beiden PHP-Dateien erstellen, auf die ich zuvor angespielt habe.

Schritt 1: Der PHP-Funktionscode - PhpSimpleChart2.php

Der PHP-Funktionscode - PhpSimpleChart2.php
Der PHP-Funktionscode - PhpSimpleChart2.php

Diese Datei heißt PhpSimpleChart2.php - Sie müssen sie aus dem Git-Repository herunterladen, indem Sie auf die Schaltfläche Download / Klonen klicken - siehe Bild oben. Wenn Sie das getan haben, übertragen Sie die beiden PHP-Dateien mit Ihrem Standard-FTP-Client auf Ihren Webserver oder vielleicht haben Sie auf Ihrem Raspberry Pi eine Samba-Freigabe eingerichtet, die Ihre Pi-Ordner wie Windows-Ordner aussehen lässt.

Sie müssen den Code in dieser Haupt-PHP-Datei - PhpSimpleChart2.php - nicht wirklich ändern. Dies ist eine einfache Funktion zum Erstellen von Liniendiagrammen für PHP. Grundsätzlich werden der Funktion 2 Arrays sowie weitere Argumente wie die Diagrammdimensionen übergeben. Das 1. Array enthält die ersten Rohwerte wie Temperatur etc. Das zweite Array enthält die zugehörigen Datumswerte. Das Programm versucht, den Graphen in Abhängigkeit von Bereich, Min, Max und Array-Elementen automatisch zu vergrößern. Das resultierende Diagramm kann ausgeschnitten und als gif,-p.webp

Nachdem Sie PhpSimpleChart2.php auf Ihren Webserver hochgeladen haben, können Sie Ihr eigenes Skript schreiben, um dies zu verwenden. Dies wird auf der nächsten Seite gezeigt.

Schritt 2: Schreiben Sie Ihr eigenes Programm basierend auf dem Beispielprogramm

Schreiben Sie Ihr eigenes Programm basierend auf dem Beispielprogramm
Schreiben Sie Ihr eigenes Programm basierend auf dem Beispielprogramm

Ich habe ein Beispielprogramm gezeigt, PhpSimpleChart_ex1.php, das sich wiederum im Git-Repository befindet. Die erste Zeile des Codes besteht darin, das PHP-Skript aufzurufen, das die Diagrammfunktion enthält -

require("PhpSimpleChart2.php");

In diesem Fall wird die Datei PhpSimpleChart2.php im selben Ordner abgelegt wie das Skript, das Sie schreiben, um es aufzurufen. Hoffentlich wissen Sie, dass die PHP-Dateien die richtigen Lese-/Schreibeigenschaften 755 haben müssen.

Als Nächstes müssen Sie Ihre Datenquellen erstellen und das Array auffüllen. Hier sind die Beispiel-Arrays, eines für Daten und eines für zugehörige Datums- und Uhrzeitangaben. Offensichtlich muss in beiden Arrays die gleiche Anzahl von Werten vorhanden sein.

$data_array = array("12", "15", "18", "12", "11", "23", "11", "24", "15", "18", "12", " 11", "23", "11", "24");

$date_array = array("12. 14h", "12. 15h", "12. 16h", "12. 17h", "12. 18h", "12. 19h", "12. 20h", "12. 21h", "12. 15h", "12. 16 Uhr", "12. 17 Uhr", "12. 18 Uhr", "12. 19 Uhr", "12. 20 Uhr", "12. 21 Uhr");

Normalerweise würden Sie diese Werte aus einer Datenbankabfrage lesen oder aus einer Textdatei laden.

Als nächstes müssen Sie die Parameter für Ihr Diagramm einstellen. Es ist ziemlich direkt. Sie legen zuerst die Titel fest und legen dann die Höhe und Breite des Diagramms fest.

$chart_text="Mein Testchart Juli 2018";

$y_title="Temp Grad C";

$x_scale=1000;

$y_scale=400;

Anschließend führen Sie wie folgt einen Funktionsaufruf durch.

draw_line_chart($data_array, $date_array, $chart_text, $x_scale, $y_scale, $y_title);

Ich habe die Ausgabe dieses Beispielprogramms im angehängten Bild gezeigt. Die Diagrammfunktion versucht, die y-Achse und die Diagrammdeskriptorpunkte automatisch zu skalieren und ein Durcheinander zu vermeiden. Hoffentlich funktioniert es für Sie. Das ist alles, was Sie brauchen.

Schritt 3: Fazit

Ich hoffe, dass Sie dies nützlich fanden. Möglicherweise verwenden Sie eine andere Methode, die für Sie funktioniert, aber hier sind auf jeden Fall einige Gedanken;

1) Die meisten IOT-Grafikdienste von Drittanbietern arbeiten als Online-Dienste, auf die normalerweise als API zugegriffen werden kann.

2) IOT-Benutzer verfügen über ein breites Spektrum an Kompetenzen in Bezug auf die Bereitstellung von Grafikfunktionen.

PROS meiner Lösung

a) Kann offline arbeiten

b) Null Kosten.

c) Geringer Platzbedarf

NACHTEILE

a) Nicht mit der gleichen Strenge getestet wie große Softwarehäuser.

b) Eingeschränkte Funktionalität, d.h. keine Balkendiagramme etc.

Denkanstoß!

Empfohlen: