Съдържание:

Създайте мои собствени графики за моите IOT данни на малинов PI: 3 стъпки
Създайте мои собствени графики за моите IOT данни на малинов PI: 3 стъпки

Видео: Създайте мои собствени графики за моите IOT данни на малинов PI: 3 стъпки

Видео: Създайте мои собствени графики за моите IOT данни на малинов PI: 3 стъпки
Видео: Анализ на данни от PCR в реално време по метода 2^делтаCt, по Ливак 2008 2024, Юли
Anonim
Създайте мои собствени графики за моите IOT данни на Raspberry PI
Създайте мои собствени графики за моите IOT данни на Raspberry PI

Моля, прочетете, ако искате да можете да създавате свои собствени IOT графики, използвайки 7 реда код.

Исках да създам диаграми за показване на данни в графичен формат от моите IOT сензори на уеб страница. Преди това за това бях използвал услуги на трети страни (някои платени) и графични функции на трети страни за моята система от бази данни - Mysql, използвайки език за програмиране, известен като Php. Намирам тези услуги на трети страни за твърде трудни или твърде скъпи за внедряване. Затова написах моя собствена проста Php функция, която взема данни като масиви от текстов файл или таблица от база данни (може би от Mysql) и ги показва като линейна графика на уеб страница. Направих целия php код достъпен на github-https://github.com/scanos/php-simple-chart. Тук също съм включил част от кода - първият php файл - PhpSimpleChart2.php -съдържа файла с линейната графика, а другият, PhpSimpleChart_ex1.php, е примерен файл, показващ как да го използвате. Предлагам ви също да посетите страницата на github, за да получите актуализации на кода.

Разгръщам това на моя Raspberry Pi. Ето какво ви трябва:

1) Някои познания за разполагане на уеб сървър като Apache, база данни като Mysql и PHP. Като цяло те са известни като LAMP - Linux, Apache, Mysql и PHP. и има огромно количество информация в мрежата по отношение на разполагането им на Raspberry Pi. Следователно няма да покривам това тук.

2) LAMP Linux среда - отново, като Raspberry Pi.

3) Средство за качване и създаване на файлове във вашата уеб среда, т.е. папки на вашия Raspberry Pi, където разполагате вашите php файлове на програмата.

След това ще ви покажа как да създавате свои собствени Php файлове, като използвате двата php файла, за които споменах по -рано.

Стъпка 1: Функционалният код на PHP - PhpSimpleChart2.php

Кодът на функцията PHP - PhpSimpleChart2.php
Кодът на функцията PHP - PhpSimpleChart2.php

Този файл се нарича PhpSimpleChart2.php - ще трябва да го изтеглите от хранилището на git, като щракнете върху бутона за изтегляне / клониране - вижте изображението по -горе. След като направите това, прехвърлете двата php файла към вашия уеб сървър, използвайки вашия стандартен FTP клиент, или може би сте настроили споделяне на samba на вашия Raspberry Pi, което прави вашите папки Pi да изглеждат като папки с windows.

Всъщност не е нужно да променяте кода в този основен Php файл - PhpSimpleChart2.php. Това е проста функция за създаване на линейна диаграма за Php. По принцип към функцията се предават 2 масива, както и други аргументи, като например размерите на диаграмата. Първият масив съдържа първите необработени стойности като температура и т.н. Вторият масив съдържа свързаните стойности на датата. Програмата се опитва да автоматизира графиката в зависимост от обхвата, мин, макс и елементите на масива. Получената диаграма може да бъде изрязана и поставена в офис документи на MS като gif,-p.webp

След като сте качили PhpSimpleChart2.php на вашия уеб сървър, можете да напишете свой собствен скрипт, за да използвате това. Това е показано на следващата страница.

Стъпка 2: Написване на собствена програма въз основа на примерната програма

Писане на собствена програма въз основа на примерната програма
Писане на собствена програма въз основа на примерната програма

Показах примерна програма, PhpSimpleChart_ex1.php, която отново е в хранилището на git. Първият ред на кода е да извикате php скрипта, който съдържа графичната функция -

require ("PhpSimpleChart2.php");

В този случай файлът PhpSimpleChart2.php се поставя в същата папка като скрипта, който пишете, за да го извикате. Надяваме се, че ще знаете, че php файловете трябва да имат правилните свойства за четене / запис 755.

След това трябва да създадете източници на данни и да попълните масива. Ето примерните масиви, един за данни и един за свързани дати и часове. Очевидно трябва да има еднакъв брой стойности и в двата масива.

$ data_array = масив ("12", "15", "18", "12", "11", "23", "11", "24", "15", "18", "12", " 11 "," 23 "," 11 "," 24 ");

$ date_array = array ("12th 14h", "12th 15h", "12th 16h", "12th 17h", "12th 18h", "12th 19h", "12th 20h", "12th 21h", "12th 15h", „12 -ти 16ч“, „12 -ти 17ч“, „12 -ти 18ч“, „12 -ти 19ч“, „12 -ти 20ч“, „12 -ти 21ч“);

Обикновено бихте прочели тези стойности от заявка към база данни или ги заредите от текстов файл.

След това трябва да зададете параметрите за вашата диаграма. Това е доста право напред. Първо задавате заглавията и след това фиксирате височината и ширината на графиката.

$ chart_text = "Моята тестова диаграма юли 2018 г.";

$ y_title = "Темп. градус C";

$ x_scale = 1000;

$ y_scale = 400;

След това правите извикване на функция, както следва.

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

Показах резултата от тази примерна програма в прикаченото изображение. Функцията за диаграми се опитва да мащабира автоматично и да избягва претрупването на оси y и точки на дескриптора на диаграмата. Надяваме се, че работи при вас. Това е всичко, от което се нуждаете.

Стъпка 3: Заключение

Надявам се, че сте намерили това полезно. Може да използвате друг метод, който работи за вас, но ето няколко мисли във всеки случай;

1) Повечето графични услуги на IOT на трети страни работят като онлайн услуга, която е достъпна обикновено като API.

2) Потребителите на IOT имат широк спектър от компетенции по отношение на внедряването на графична функционалност.

Плюсове на моето решение

а) Може да работи офлайн

б) нулева цена.

в) Малък отпечатък

ПРОТИВ

а) Не е тестван със същата строгост като големите софтуерни къщи.

б) Ограничена функционалност, т.е. без стълбове и т.н.

Храна за размисъл!

Препоръчано: