Mundarija:

Malinali PIda IOT ma'lumotlari uchun o'z grafikalarimni yarating: 3 qadam
Malinali PIda IOT ma'lumotlari uchun o'z grafikalarimni yarating: 3 qadam

Video: Malinali PIda IOT ma'lumotlari uchun o'z grafikalarimni yarating: 3 qadam

Video: Malinali PIda IOT ma'lumotlari uchun o'z grafikalarimni yarating: 3 qadam
Video: Этот розово-малиновый салатный помидор не уступает по вкусу Микадо 2024, Noyabr
Anonim
Raspberry PIda IOT ma'lumotim uchun o'z grafikalarimni yarating
Raspberry PIda IOT ma'lumotim uchun o'z grafikalarimni yarating

O'zingizning IOT grafiklarini 7 satrli kod yordamida yaratishni xohlasangiz, o'qing.

Men veb -sahifadagi IOT sensorlarimdan ma'lumotlarni grafik formatda ko'rsatish uchun jadvallar tuzmoqchi edim. Ilgari, men Php deb nomlanuvchi dasturlash tilidan foydalanib, ma'lumotlar bazasi tizimi - Mysql uchun uchinchi tomon xizmatlari (ba'zi pullik) va uchinchi tomon grafik funktsiyalaridan foydalanganman. Men bu uchinchi tomon xizmatlarini joylashtirish juda qiyin yoki juda qimmat deb topdim. Shuning uchun men o'zimning oddiy Php funktsiyasini yozdim, u ma'lumotlarni fayldan yoki ma'lumotlar bazasi jadvalidan (Mysql dan) massiv sifatida oladi va ularni veb -sahifada chiziqli grafik sifatida ko'rsatadi. Men barcha php kodlarini github-da mavjud qildim-https://github.com/scanos/php-simple-chart. Men bu erda kodning bir qismini qo'shdim - birinchi php fayli - PhpSimpleChart2.php - chiziqli grafik funktsiyasi faylini o'z ichiga oladi, ikkinchisi - PhpSimpleChart_ex1.php, uni qanday ishlatishni ko'rsatuvchi misolli fayl. Sizga kod yangilanishlarini olish uchun github sahifasiga kirishni taklif qilaman.

Men buni Raspberry Pi -da joylashtiryapman. Mana sizga nima kerak:

1) Apache kabi veb -serverni, Mysql va PHP kabi ma'lumotlar bazasini joylashtirish bo'yicha ba'zi bilimlar. Ularni birgalikda LAMP - Linux, Apache, Mysql va PHP deb atashadi. va ularni Raspberry Pi -ga joylashtirish haqida Internetda juda ko'p ma'lumotlar mavjud. Shuning uchun, men bu erda bu haqda gapirmayman.

2) LAMP linux muhit - yana, Raspberry Pi kabi.

3) Veb -muhitingizga fayllarni yuklash va yaratish vositasi, ya'ni PHP dasturlarini joylashtiradigan Raspberry Pi papkalari.

Keyinchalik, men sizga aytib o'tgan ikkita php -fayl yordamida o'z Php -fayllaringizni qanday yaratishni ko'rsataman.

1 -qadam: PHP funktsiya kodi - PhpSimpleChart2.php

PHP funktsiya kodi - PhpSimpleChart2.php
PHP funktsiya kodi - PhpSimpleChart2.php

Bu fayl PhpSimpleChart2.php deb nomlanadi - uni yuklash / klonlash tugmasini bosish orqali git omboridan yuklab olishingiz kerak bo'ladi - yuqoridagi rasmga qarang. Buni qilganingizdan so'ng, standart FTP mijozidan foydalanib, ikkita php faylini veb -serveringizga o'tkazing yoki Raspberry Pi -da samba ulanishini o'rnatdingiz, bu sizning papkalarni Windows papkasiga o'xshatadi.

PhpSimpleChart2.php - bu asosiy Php faylidagi kodni o'zgartirishga hojat yo'q. Bu Php uchun oddiy chiziqli grafik yaratish funktsiyasi. Asosan, funktsiyaga 2 ta massiv, shuningdek, grafik o'lchamlari kabi boshqa dalillar beriladi. Birinchi qatorda harorat va boshqalar kabi birinchi xom qiymatlar mavjud. Ikkinchi qatorda tegishli sana qiymatlari mavjud. Dastur diapazonga, min, max va massiv elementlariga qarab grafikni avtomatlashtirishga harakat qiladi. Olingan jadvalni MS Office hujjatlariga gif,-p.webp

PhpSimpleChart2.php -ni veb -serveringizga yuklaganingizdan so'ng, undan foydalanish uchun o'z skriptingizni yozishingiz mumkin. Bu keyingi sahifada ko'rsatilgan.

2 -qadam: Namunaviy dastur asosida o'z dasturingizni yozing

Misol dasturiga asosan o'z dasturingizni yozish
Misol dasturiga asosan o'z dasturingizni yozish

Men yana dasturlar omborida joylashgan PhpSimpleChart_ex1.php dasturini ko'rsatdim. Kodning birinchi qatori - bu grafik funktsiyasini o'z ichiga olgan php skriptiga qo'ng'iroq qilish -

talab qilish ("PhpSimpleChart2.php");

Bunday holda, PhpSimpleChart2.php fayli uni chaqirish uchun siz yozayotgan skript bilan bir xil papkaga joylashtiriladi. Umid qilamizki, php fayllari to'g'ri o'qish / yozish xususiyatlariga ega bo'lishi kerakligini bilasiz 755.

Keyinchalik, siz ma'lumotlar manbalarini yaratishingiz va qatorni to'ldirishingiz kerak. Mana, misollar qatori, biri ma'lumotlar uchun, ikkinchisi tegishli sanalar va vaqtlar uchun. Shubhasiz, ikkala massivda ham bir xil miqdordagi qiymat bo'lishi kerak.

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

$ date_array = qator ("12 -chi 14 -chi", "12 -chi 15 -chi", "12 -chi 16 -chi", "12 -chi 17 -chi", "12 -chi 18 -chi", "12 -chi 19 -chi", "12 -chi 20 -chi", "12 -chi 21 -chi", "12 -chi 15 -chi", "12 -chi 16 -chi", "12 -chi 17 -chi", "12 -chi 18 -chi", "12 -chi 19 -chi", "12 -chi 20 -chi", "12 -chi 21 -chi");

Odatda, siz bu qiymatlarni ma'lumotlar bazasi so'rovidan o'qiysiz yoki ularni matnli fayldan yuklaysiz.

Keyinchalik, siz jadvalingiz parametrlarini o'rnatishingiz kerak. Bu juda to'g'ri. Siz avval sarlavhalarni o'rnatasiz, so'ngra grafikning balandligi va kengligini to'g'rilaysiz.

$ chart_text = "Mening test jadvalim 2018 yil iyul";

$ y_title = "Harorat darajasi C";

$ x_scale = 1000;

$ y_scale = 400;

Keyin siz quyidagi funktsiyani chaqirasiz.

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

Men bu misol dasturining chiqishini biriktirilgan rasmda ko'rsatdim. Diagramma funktsiyasi avtomatik o'lchovni bajarishga harakat qiladi va y o'qi va grafik tavsiflovchi nuqtalarining tartibsizligini oldini oladi. Umid qilamanki, bu siz uchun ishlaydi. Sizga kerak bo'lgan narsa shu.

3 -qadam: Xulosa

Umid qilamanki, siz buni foydali deb topdingiz. Siz uchun foydali bo'lgan boshqa usuldan foydalanayotgan bo'lishingiz mumkin, lekin bu erda har qanday holatda bir nechta fikrlar;

1) Ko'pchilik uchinchi tomon IOT grafik xizmatlari odatda API sifatida mavjud bo'lgan onlayn xizmat sifatida ishlaydi.

2) IOT foydalanuvchilari grafik funktsiyalarini joylashtirish borasida keng ko'lamli vakolatlarga ega.

Mening yechimimning afzalliklari

a) oflayn rejimda ishlash mumkin

b) nol qiymati.

c) kichik iz

KONS

a) Katta dasturiy uylar kabi qattiq sinovdan o'tkazilmagan.

b) funktsional imkoniyatlar cheklangan, ya'ni jadvallar va boshqalar yo'q.

Fikrlash uchun ovqat!

Tavsiya: