Spisu treści:

Utwórz własne wykresy dla moich danych IOT na Raspberry PI: 3 kroki
Utwórz własne wykresy dla moich danych IOT na Raspberry PI: 3 kroki

Wideo: Utwórz własne wykresy dla moich danych IOT na Raspberry PI: 3 kroki

Wideo: Utwórz własne wykresy dla moich danych IOT na Raspberry PI: 3 kroki
Wideo: .NET na Raspberry PI #3: Instalacja i konfiguracja PostgreSQL, minimal API [KURS C#] 2024, Grudzień
Anonim
Twórz własne wykresy dla moich danych IOT na Raspberry PI
Twórz własne wykresy dla moich danych IOT na Raspberry PI

Przeczytaj dalej, jeśli chcesz mieć możliwość tworzenia własnych wykresów IOT przy użyciu 7 linii kodu.

Chciałem stworzyć wykresy do wyświetlania danych w formacie graficznym z moich czujników IOT na stronie internetowej. Wcześniej korzystałem w tym celu z usług firm trzecich (niektóre płatne) i funkcji graficznych firm trzecich dla mojego systemu bazy danych - Mysql, używając języka programowania znanego jako Php. Uznałem, że te usługi innych firm są zbyt trudne lub zbyt drogie do wdrożenia. Dlatego napisałem własną prostą funkcję Php, która pobiera dane jako tablice z pliku tekstowego lub tabeli bazy danych (być może z Mysql) i wyświetla je jako wykres liniowy na stronie internetowej. Udostępniłem cały kod php na github - https://github.com/scanos/php-simple-chart. Zamieściłem tu również część kodu - pierwszy plik php - PhpSimpleChart2.php - zawiera plik funkcji wykresu liniowego, drugi, PhpSimpleChart_ex1.php, to przykładowy plik pokazujący, jak go używać. Proponuję również odwiedzić stronę github, aby uzyskać aktualizacje kodu.

Wdrażam to na moim Raspberry Pi. Oto, czego potrzebujesz:

1) Trochę wiedzy na temat wdrażania serwera WWW, takiego jak Apache, bazy danych, takiej jak Mysql i PHP. Łącznie są one znane jako LAMP - Linux, Apache, Mysql i PHP. w sieci jest ogromna ilość informacji dotyczących wdrażania ich na Raspberry Pi. Dlatego nie będę tego tutaj omawiał.

2) Środowisko linuxowe LAMP - znowu takie jak Raspberry Pi.

3) Środki do przesyłania i tworzenia plików do środowiska internetowego, tj. folderów na Twoim Raspberry Pi, w których wdrażasz pliki php programu.

Następnie pokażę Ci, jak tworzyć własne pliki PHP za pomocą dwóch plików php, do których wspomniałem wcześniej.

Krok 1: Kod funkcji PHP - PhpSimpleChart2.php

Kod funkcji PHP - PhpSimpleChart2.php
Kod funkcji PHP - PhpSimpleChart2.php

Ten plik nazywa się PhpSimpleChart2.php - będziesz musiał pobrać go z repozytorium git, klikając przycisk download / clone - zobacz obrazek powyżej. Gdy to zrobisz, przenieś dwa pliki php na swój serwer internetowy za pomocą standardowego klienta FTP lub być może skonfigurowałeś udział samby na swoim Raspberry Pi, dzięki czemu foldery Pi wyglądają jak foldery Windows.

Tak naprawdę nie musisz zmieniać kodu w tym głównym pliku PHP - PhpSimpleChart2.php. Jest to prosta funkcja tworzenia wykresu liniowego dla PHP. Zasadniczo do funkcji przekazywane są 2 tablice, a także inne argumenty, takie jak wymiary wykresu. Pierwsza tablica zawiera pierwsze surowe wartości, takie jak temperatura itp. Druga tablica zawiera powiązane wartości dat. Program próbuje automatycznie dopasowywać wykres w zależności od zakresu, min, max i elementów tablicy. Otrzymany wykres można wyciąć i wkleić do dokumentów MS Office jako gif,-p.webp

Po przesłaniu PhpSimpleChart2.php na swój serwer WWW możesz napisać własny skrypt, który będzie z niego korzystał. Jest to pokazane na następnej stronie.

Krok 2: Napisanie własnego programu na podstawie przykładowego programu

Pisanie własnego programu na podstawie przykładowego programu
Pisanie własnego programu na podstawie przykładowego programu

Pokazałem przykładowy program, PhpSimpleChart_ex1.php, który ponownie znajduje się w repozytorium git. Pierwsza linia kodu to wywołanie skryptu php zawierającego funkcję wykresów -

require("PhpSimpleChart2.php");

W tym przypadku plik PhpSimpleChart2.php jest umieszczony w tym samym folderze co skrypt, który piszesz, aby go wywołać. Mamy nadzieję, że będziesz wiedział, że pliki php muszą mieć poprawne właściwości odczytu/zapisu 755.

Następnie musisz utworzyć źródła danych i wypełnić tablicę. Oto przykładowe tablice, jedna dla danych i jedna dla skojarzonych dat i godzin. Oczywiście w obu tablicach musi być taka sama liczba wartości.

$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.16h”, „12.17h”, „12.18h”, „12.19h”, „12.20h”, „12.21h”);

Zazwyczaj można odczytać te wartości z zapytania bazy danych lub załadować je z pliku tekstowego.

Następnie musisz ustawić parametry swojego wykresu. To całkiem proste. Najpierw ustawiasz tytuły, a następnie ustalasz wysokość i szerokość wykresu.

$chart_text="Mój wykres testowy lipiec 2018";

$y_title="Temp. Stopni C";

$x_skala=1000;

$y_scale=400;

Następnie wykonujesz wywołanie funkcji w następujący sposób.

draw_line_chart($tablica_danych, $tablica_dat, $tekst_wykresu, $x_skala, $y_skala, $y_tytuł);

Pokazałem wyjście tego przykładowego programu na załączonym obrazku. Funkcja wykresów próbuje automatycznie skalować i unikać bałaganu w osi y i punktach deskryptorów wykresu. Mam nadzieję, że to działa dla Ciebie. To wszystko, czego potrzebujesz.

Krok 3: Wniosek

Mam nadzieję, że uznałeś to za przydatne. Być może używasz innej metody, która działa w Twoim przypadku, ale w każdym przypadku jest kilka przemyśleń;

1) Większość zewnętrznych usług graficznych IOT działa jako usługa online, która jest zwykle dostępna jako API.

2) Użytkownicy IOT mają szeroki zakres kompetencji w zakresie wdrażania funkcji graficznych.

Plusy mojego rozwiązania

a) Może działać w trybie offline

b) Zerowy koszt.

c) Mały ślad

CONS

a) Nie testowane tak rygorystycznie jak duże firmy programistyczne.

b) Ograniczona funkcjonalność, tj. brak wykresów słupkowych itp.

Do myślenia!

Zalecana: