İçindekiler:

Raspberry PI'deki IOT Verilerim için Kendi Grafiklerimi Oluşturun: 3 Adım
Raspberry PI'deki IOT Verilerim için Kendi Grafiklerimi Oluşturun: 3 Adım

Video: Raspberry PI'deki IOT Verilerim için Kendi Grafiklerimi Oluşturun: 3 Adım

Video: Raspberry PI'deki IOT Verilerim için Kendi Grafiklerimi Oluşturun: 3 Adım
Video: Arduino Wifi - internet - Esp8266 - Thingspeak veri Gönderme - Arduino projesi - 72 - 2024, Temmuz
Anonim
Raspberry PI'deki IOT Verilerim için Kendi Grafiklerimi Oluşturun
Raspberry PI'deki IOT Verilerim için Kendi Grafiklerimi Oluşturun

7 satır kod kullanarak kendi IOT grafiklerinizi oluşturabilmek istiyorsanız lütfen okumaya devam edin.

Bir web sayfasında IOT sensörlerimden gelen verileri grafik biçiminde görüntülemek için grafikler oluşturmak istedim. Bunun için daha önce, Php olarak bilinen bir programlama dili kullanarak veritabanı sistemim - Mysql için 3. taraf hizmetleri (bazıları ücretli) ve 3. taraf grafik işlevlerini kullanmıştım. Bu 3. taraf hizmetlerini dağıtmayı çok zor veya çok pahalı buldum. Bu nedenle, bir metin dosyasından veya veritabanı tablosundan (belki de Mysql'den) verileri diziler olarak alan ve bunları bir web sayfasında bir çizgi grafiği olarak görüntüleyen kendi basit Php işlevimi yazdım. Tüm php kodunu github'da kullanıma sundum - https://github.com/scanos/php-simple-chart. Ayrıca kodun bir kısmını buraya ekledim - ilk php dosyası - PhpSimpleChart2.php - çizgi grafiği fonksiyon dosyasını içerir, diğeri, PhpSimpleChart_ex1.php, nasıl kullanılacağını gösteren örnek bir dosyadır. Kod güncellemelerini almak için github sayfasını da ziyaret etmenizi öneririm.

Bunu Raspberry Pi'me dağıtıyorum. İşte ihtiyacınız olan:

1) Apache gibi bir web sunucusunu, Mysql gibi bir veritabanını ve PHP'yi dağıtma konusunda biraz bilgi. Bunlar toplu olarak LAMP - Linux, Apache, Mysql ve PHP olarak bilinir. ve bunları bir Raspberry Pi'ye yerleştirmekle ilgili olarak internette çok miktarda bilgi var. Bu nedenle bu konuyu burada ele almayacağım.

2) Bir LAMP linux ortamı - yine Raspberry Pi gibi.

3) Web ortamınıza, yani program php dosyalarınızı dağıttığınız Raspberry Pi'nizdeki klasörlere dosya yüklemek ve oluşturmak için bir araç.

Şimdi size daha önce bahsettiğim iki php dosyasını kullanarak kendi Php dosyalarınızı nasıl oluşturacağınızı göstereceğim.

Adım 1: PHP İşlev Kodu - PhpSimpleChart2.php

PHP İşlev Kodu - PhpSimpleChart2.php
PHP İşlev Kodu - PhpSimpleChart2.php

Bu dosyanın adı PhpSimpleChart2.php - git deposundan indirme / klonlama düğmesine tıklayarak indirmeniz gerekecek - yukarıdaki resme bakın. Bunu yaptıktan sonra, standart FTP istemcinizi kullanarak iki php dosyasını web sunucunuza aktarın veya belki de Raspberry Pi'nizde Pi klasörlerinizin Windows klasörleri gibi görünmesini sağlayan bir samba paylaşımı kurdunuz.

Bu ana Php dosyasındaki kodu gerçekten değiştirmeniz gerekmez - PhpSimpleChart2.php. Bu, Php için basit bir çizgi grafik oluşturma işlevidir. Temel olarak, fonksiyona 2 dizi ve ayrıca grafik boyutları gibi diğer argümanlar iletilir. 1. dizi, sıcaklık vb. gibi ilk ham değerleri içerir. İkinci dizi, ilişkili tarih değerlerini içerir. Program, aralığı, min, max ve dizi öğelerine bağlı olarak grafiği otomatik boyutlandırmaya çalışır. Ortaya çıkan tablo kesilip MS ofis belgelerine gif,-p.webp

PhpSimpleChart2.php dosyasını web sunucunuza yükledikten sonra, bunu kullanmak için kendi betiğinizi yazabilirsiniz. Bu sonraki sayfada gösterilmiştir.

Adım 2: Örnek Programa Dayalı Kendi Programını Yazma

Örnek Programa Dayalı Kendi Programını Yazma
Örnek Programa Dayalı Kendi Programını Yazma

Yine git deposunda bulunan PhpSimpleChart_ex1.php örnek programını gösterdim. Kodun ilk satırı, grafik işlevini içeren php betiğini çağırmaktır -

require("PhpSimpleChart2.php");

Bu durumda, PhpSimpleChart2.php dosyası, onu çağırmak için yazdığınız komut dosyasıyla aynı klasöre yerleştirilir. Umarım, php dosyalarının doğru okuma/yazma özelliklerine sahip olması gerektiğini bileceksiniz 755.

Ardından, veri kaynaklarınızı oluşturmanız ve diziyi doldurmanız gerekir. İşte, biri veriler için, diğeri ilişkili tarihler ve saatler için örnek diziler. Açıkçası, her iki dizide de aynı sayıda değer olması gerekir.

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

$tarih_dizisi = dizi("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");

Tipik olarak, bu değerleri bir veritabanı sorgusundan okur veya bir metin dosyasından yüklersiniz.

Ardından, grafiğiniz için parametreleri ayarlamanız gerekir. Oldukça düz ileri. Önce başlıkları ayarlayın ve ardından grafiğin yüksekliğini ve genişliğini sabitleyin.

$chart_text="Temmuz 2018 test grafiğim";

$y_title="Sıcaklık Derecesi C";

$x_scale=1000;

$y_scale=400;

Daha sonra aşağıdaki gibi bir işlev çağrısı yaparsınız.

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

Bu örnek programın çıktısını ekteki resimde gösterdim. Grafik işlevi, otomatik ölçeklendirmeye ve y ekseni ve grafik tanımlayıcı noktalarının karmaşıklığından kaçınmaya çalışır. Umarım işinize yarar. Tek ihtiyacın olan bu.

3. Adım: Sonuç

Umarım bunu faydalı bulmuşsunuzdur. Sizin için işe yarayan başka bir yöntem kullanıyor olabilirsiniz, ancak her durumda birkaç düşünceniz var;

1) Çoğu 3. taraf IOT grafik hizmeti, genellikle bir API olarak erişilebilen çevrimiçi bir hizmet olarak çalışır.

2) IoT kullanıcıları, grafik işlevselliğini dağıtma konusunda çok çeşitli yetkinliğe sahiptir.

Çözümümün artıları

a) Çevrimdışı çalışabilir

b) Sıfır maliyet.

c) Küçük ayak izi

EKSİLERİ

a) Büyük yazılım evleriyle aynı titizlikle test edilmemiştir.

b) İşlevsellik açısından sınırlıdır, yani çubuk grafik vb. yok.

Düşünce için yemek!

Önerilen: