Мазмұны:

Таңқурай PI -де IOT деректері үшін жеке графиктерімді жасаңыз: 3 қадам
Таңқурай PI -де IOT деректері үшін жеке графиктерімді жасаңыз: 3 қадам

Бейне: Таңқурай PI -де IOT деректері үшін жеке графиктерімді жасаңыз: 3 қадам

Бейне: Таңқурай PI -де IOT деректері үшін жеке графиктерімді жасаңыз: 3 қадам
Бейне: HACKSTER - HACKSTER ДЕГЕН СӨЗ ҚАЛАЙ ОЙЛАШЫЛАДЫ? #хакстер (HACKSTER - HOW TO PRONOUNC 2024, Шілде
Anonim
Таңқурай PI -дегі IOT деректерім үшін жеке графиктерімді жасаңыз
Таңқурай PI -дегі IOT деректерім үшін жеке графиктерімді жасаңыз

Егер сіз 7 жол кодын қолдана отырып, IOT графигін өзіңіз құрғыңыз келсе, оқыңыз.

Мен веб -беттегі IOT сенсорларымнан деректерді графикалық форматта көрсету үшін диаграммалар жасағым келді. Бұған дейін мен Php деп аталатын бағдарламалау тілін қолдана отырып, Mysql деректер базасы жүйесінде үшінші тарап қызметтерін (кейбір ақылы) және үшінші тарап графикалық функцияларын қолдандым. Мен бұл үшінші тарап қызметтерін орналастыру тым қиын немесе тым қымбат деп таптым. Сондықтан мен мәтіндік файлдан немесе дерекқор кестесінен (мүмкін Mysql -ден) массивтер ретінде қабылдайтын және оларды веб -бетте сызықтық график ретінде көрсететін жеке Php функциясын жаздым. Мен 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) Веб -ортаға файлдарды жүктеу және жасау құралы, яғни PHP бағдарламаларын орналастыратын Raspberry Pi қалталары.

Әрі қарай, мен сізге жоғарыда айтқан екі PHP файлын пайдаланып, өзіңіздің жеке Php файлдарыңызды қалай жасау керектігін көрсетемін.

1 -қадам: PHP функция коды - PhpSimpleChart2.php

PHP функция коды - PhpSimpleChart2.php
PHP функция коды - PhpSimpleChart2.php

Бұл файл PhpSimpleChart2.php деп аталады - сіз оны жүктеу / клондау түймесін басу арқылы git репозиторийінен жүктеуіңіз керек - жоғарыдағы суретті қараңыз. Сіз мұны жасағаннан кейін, стандартты FTP клиентін қолдана отырып, екі PHP файлын веб -серверге жіберіңіз немесе Raspberry Pi -де samba бөлісуді орнатқан боларсыз, бұл сіздің папкаларды терезе қалталарына ұқсайды.

Сізге PhpSimpleChart2.php негізгі Php файлындағы кодты өзгертудің қажеті жоқ. Бұл Php үшін сызықтық диаграмманы құрудың қарапайым функциясы. Негізінде 2 массив функцияға, сондай -ақ диаграмма өлшемдері сияқты басқа аргументтерге беріледі. 1 -ші массивте температура және т.б сияқты алғашқы шикізат мәндері бар. Екінші массив байланыстырылған күн мәндерін қамтиды. Бағдарлама диапазонға, минимумға, максимумға және массив элементтеріне байланысты графикті автоматты түрде өзгертуге тырысады. Алынған диаграмманы MS Office құжаттарына gif,-p.webp

PhpSimpleChart2.php файлын веб -серверге жүктегеннен кейін оны пайдалану үшін жеке сценарий жаза аласыз. Бұл келесі бетте көрсетілген.

2 -қадам: Мысал бағдарламасына негізделген жеке бағдарламаны жазу

Мысал бағдарламасына негізделген жеке бағдарламаны жазу
Мысал бағдарламасына негізделген жеке бағдарламаны жазу

Мен тағы да git репозиторийінде орналасқан PhpSimpleChart_ex1.php бағдарламасын көрсеттім. Кодтың бірінші жолы - диаграмма функциясын қамтитын php сценарийін шақыру -

талап ету («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 = массив («12 -ші 14 -ші сағат», «12 -ші 15 -ші сағат», «12 -ші 16 -шы сағат», «12 -ші 17 -ші сағат», «12 -ші 18 -ші сағаттар», «12 -ші 19 -шы сағаттар», «12 -ші 20 -ші сағаттар», «12 -ші 21 -ші сандар», «12 -ші 15 -ші сағаттар», «12 -ші 16 сағ», «12 -ші 17 сағ», «12 -ші 18 сағ», «12 -ші 19 сағ», «12 -ші 20 сағ», «12 -ші 21 сағ»);

Әдетте, сіз бұл мәндерді дерекқор сұранысынан оқи аласыз немесе оларды мәтіндік файлдан жүктейсіз.

Әрі қарай, диаграмманың параметрлерін орнату керек. Бұл өте тура. Сіз алдымен тақырыптарды қоясыз, содан кейін графиктің биіктігі мен енін бекітесіз.

$ chart_text = «Менің тест диаграммам 2018 жылдың шілдесі»;

$ y_title = «C температурасы C»;

$ x_scale = 1000;

$ y_scale = 400;

Содан кейін сіз келесідей функционалды қоңырау шаласыз.

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

Мен осы үлгідегі бағдарламаның шығуын қоса берілген суретте көрсеттім. Диаграмма функциясы автоматты түрде масштабтауға тырысады және у осі мен диаграмма дескриптор нүктелерінің былықтарын болдыртпайды. Бұл сіз үшін жұмыс істейді деп үміттенемін. Бұл сізге қажет.

3 -қадам: Қорытынды

Сізге бұл пайдалы болды деп үміттенемін. Сіз өзіңізге сәйкес келетін басқа әдісті қолданып жатқан шығарсыз, бірақ кез келген жағдайда бірнеше ой бар;

1) Көптеген IOT графикалық қызметтерінің көпшілігі API ретінде қол жетімді онлайн қызметі ретінде жұмыс істейді.

2) IOT қолданушыларының графикалық мүмкіндіктерді қолдану бойынша құзыреттіліктердің кең ауқымы бар.

Менің шешімімнің PROS

а) офлайн режимде жұмыс жасай алады

б) Нөлдік құн.

в) кішігірім із

КОНС

а) Үлкен бағдарламалық үйлер сияқты қатаң тексерілмеген.

б) функционалдығы шектеулі, яғни диаграммалар жоқ және т.

Ой үшін тамақ!

Ұсынылған: