Mündəricat:

Moruq PI -də IOT məlumatlarım üçün öz qrafiklərimi yaradın: 3 addım
Moruq PI -də IOT məlumatlarım üçün öz qrafiklərimi yaradın: 3 addım

Video: Moruq PI -də IOT məlumatlarım üçün öz qrafiklərimi yaradın: 3 addım

Video: Moruq PI -də IOT məlumatlarım üçün öz qrafiklərimi yaradın: 3 addım
Video: Как сделать систему для расширенного измерения тока в ... 2024, Noyabr
Anonim
Moruq PI -də IOT məlumatlarım üçün öz qrafiklərimi yaradın
Moruq PI -də IOT məlumatlarım üçün öz qrafiklərimi yaradın

7 kod xətti istifadə edərək öz IOT qrafiklərinizi yaratmaq istəsəniz oxuyun.

Veb səhifədəki IOT sensorlarımdan məlumatları qrafik formatda göstərmək üçün cədvəllər yaratmaq istədim. Əvvəllər, bunun üçün, Php kimi tanınan bir proqramlaşdırma dilindən istifadə edərək, verilənlər bazası sistemim - Mysql üçün üçüncü tərəf xidmətlərindən (bəzi ödənişli) və üçüncü tərəf qrafik funksiyalarından istifadə edirdim. Bu üçüncü tərəf xidmətlərini yerləşdirmək üçün çox çətin və ya çox bahalı gördüm. Buna görə məlumatları mətn faylından və ya verilənlər bazası cədvəlindən (bəlkə də Mysql -dən) dizi kimi götürən və onları veb səhifədə xətt qrafiki kimi göstərən öz sadə Php funksiyamı yazdım. Bütün php kodlarını github-da mövcud etdim-https://github.com/scanos/php-simple-chart. Kodun bir hissəsini də bura daxil etdim - ilk php faylı - PhpSimpleChart2.php - digərinin xətti qrafik funksiyası faylını ehtiva edir, PhpSimpleChart_ex1.php, bunun necə istifadə olunacağını göstərən bir nümunə faylıdır. Kod yeniləmələrini almaq üçün github səhifəsinə daxil olmağı da təklif edirəm.

Bunu Raspberry Pi -də yerləşdirirəm. İşdə sizə lazım olan budur:

1) Apache kimi bir web serveri, Mysql və PHP kimi verilənlər bazası yerləşdirməklə bağlı bəzi məlumatlar. Ümumilikdə bunlar LAMP - Linux, Apache, Mysql və PHP kimi tanınır. və bunları bir Raspberry Pi üzərində yerləşdirməklə bağlı internetdə çoxlu məlumatlar var. Buna görə də burada bunu əhatə etməyəcəyəm.

2) LAMP linux mühiti - yenə də Raspberry Pi kimi.

3) Veb mühitinizə, yəni proqram php fayllarınızı yerləşdirdiyiniz Raspberry Pi qovluqlarınıza fayl yükləmək və yaratmaq vasitəsi.

Daha sonra, əvvəllər qeyd etdiyim iki php faylını istifadə edərək öz Php sənədlərinizi necə yaratacağınızı sizə göstərəcəyəm.

Addım 1: PHP Funksiya Kodu - PhpSimpleChart2.php

PHP Funksiya Kodu - PhpSimpleChart2.php
PHP Funksiya Kodu - PhpSimpleChart2.php

Bu fayl PhpSimpleChart2.php adlanır - yükləmə / klon düyməsini basaraq git deposundan yükləməli olacaqsınız - yuxarıdakı şəklə baxın. Bunu etdikdən sonra standart FTP müştəri istifadə edərək iki php faylını veb serverinizə köçürün və ya bəlkə də Raspberry Pi -də Pi qovluqlarınızı Windows qovluqlarına bənzəyən bir samba paylaşımı qurdunuz.

Əsas Php sənədindəki kodu dəyişdirməyə ehtiyac yoxdur - PhpSimpleChart2.php. Bu, Php üçün sadə bir cədvəl yaratmaq funksiyasıdır. Əsasən, diaqram ölçüləri kimi digər arqumentlər kimi funksiyaya 2 sıra ötürülür. 1 -ci sıra, temperatur və s. Kimi ilk xam dəyərləri ehtiva edir. İkinci sıra əlaqəli tarix dəyərlərini ehtiva edir. Proqram, aralığa, minə, maksimuma və sıra elementlərinə bağlı olaraq qrafiki avtomatik ölçüləşdirməyə çalışır. Nəticə cədvəli, MS Office sənədlərinə gif,-p.webp

Veb serverinizə PhpSimpleChart2.php yüklədikdən sonra bundan istifadə etmək üçün öz skriptinizi yaza bilərsiniz. Bu, növbəti səhifədə göstərilir.

Addım 2: Nümunə Proqramı əsasında Öz Proqramınızı Yazın

Nümunə Proqramı əsasında Öz Proqramınızı Yazmaq
Nümunə Proqramı əsasında Öz Proqramınızı Yazmaq

Bir nümunə proqramı göstərdim, PhpSimpleChart_ex1.php yenə git deposunda olan. Kodun ilk sətri, diaqram funksiyasını ehtiva edən php skriptini çağırmaqdır -

tələb ("PhpSimpleChart2.php");

Bu halda, PhpSimpleChart2.php faylı, onu yazmaq üçün yazdığınız skriptlə eyni qovluğa yerləşdirilir. Ümid edirik ki, php fayllarının 755 doğru oxu / yazma xüsusiyyətlərinə malik olduğunu biləcəksiniz.

Sonra, məlumat mənbələrinizi yaratmalısınız və serialı doldurmalısınız. Budur, biri məlumat üçün, biri də əlaqəli tarix və saatlar üçün nümunə dizilər. Aydındır ki, hər iki serialda eyni sayda dəyər olmalıdır.

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

$ date_array = array ("12 -ci 14 saat", "12 -ci 15 saat", "12 -ci 16 saat", "12 -ci 17 saat", "12 -ci 18 saat", "12 -ci 19 saat", "12 -ci 20 saat", "12 -ci 21 saat”, "12 -ci 15 saat”, "12 -ci 16h", "12 -ci 17h", "12 -ci 18h", "12 -ci 19h", "12 -ci 20h", "12 -ci 21h");

Tipik olaraq, bu dəyərləri bir verilənlər bazası sorğusundan oxuyardınız və ya mətn faylından yükləyərdiniz.

Sonra qrafikinizin parametrlərini təyin etməlisiniz. Olduqca düzdür. Əvvəlcə başlıqları təyin edirsiniz və sonra qrafikin hündürlüyünü və genişliyini düzəldirsiniz.

$ chart_text = "Test kartım iyul 2018";

$ y_title = "Temp Deg C";

$ x_scale = 1000;

$ y_scale = 400;

Sonra aşağıdakı kimi bir funksiya çağırışı edirsiniz.

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

Bu nümunə proqramın çıxışını əlavə olunmuş şəkildə göstərmişəm. Diaqram funksiyası avtomatik olaraq ölçüsünü dəyişməyə və y oxu və qrafik təsviri nöqtələrinin qarışıqlığından qaçmağa çalışır. İnşallah sizin üçün işləyir. Ehtiyacınız olan budur.

Addım 3: Nəticə

Ümid edirəm bunu faydalı hesab etdiniz. Sizin üçün işləyən başqa bir metoddan istifadə edə bilərsiniz, amma hər halda burada bir neçə fikir var;

1) Əksər üçüncü tərəf IOT qrafik xidmətləri, ümumiyyətlə API olaraq əldə edilə bilən bir onlayn xidmət olaraq fəaliyyət göstərir.

2) IOT istifadəçilərinin qrafik funksiyalarını tətbiq etməklə bağlı geniş səlahiyyətləri var.

Çözümümün PROS

a) Oflayn işləyə bilər

b) sıfır xərc.

c) Kiçik ayaq izi

ƏKSLƏR

a) Böyük proqram evləri ilə eyni ciddi sınaqdan keçirilməmişdir.

b) İşləmə qabiliyyəti məhduddur, yəni bar qrafikləri və s.

Düşünmək üçün yemək!

Tövsiyə: