Живые индикаторы на pChart

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

BATONS
Сообщения: 107
Зарегистрирован: Сб июн 30, 2012 7:54 am
Благодарил (а): 0
Поблагодарили: 14 раз

Re: Живые индикаторы на pChart

Сообщение BATONS » Пт ноя 16, 2012 6:19 pm

Сделал по Вашему примеру...
Подскажите, почему график не отображается.
появляется только вот такой "квадратик"
Изображение

другие графики у меня так же не отображаются. видимо что-то в системе не установлено?
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Живые индикаторы на pChart

Сообщение sergejey » Пт ноя 16, 2012 7:05 pm

Надо посмотреть ссылку на картинку и запустить её отдельно -- должна вывестись ошибка в браузер.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Живые индикаторы на pChart

Сообщение Alex » Пт ноя 16, 2012 8:02 pm

Сделал по Вашему примеру...
В смысле? Вы хотели вывести градусник?
другие графики у меня так же не отображаются
Не совсем понятно о каких «других» графиках идёт речь.

Если всё таки речь идёт о градуснике, то внимательно прочитайте инструкцию и точно следуйте указаниям. А ваши графики должны остаться на месте, если вы создали вторую папку pChart.

Если всё таки не заработает подробно по шагам опишите, что вы делали.
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Живые индикаторы на pChart

Сообщение Alex » Сб ноя 17, 2012 6:28 pm

Код: Выделить всё

//---------------------------- Types objests  

/*
Добавляем therm3
*/

if ($_GET['objt']=='generic') {
  $objtype = "generic";
  } elseif ($_GET['objt']=='therm1') {
    $objtype = "therm1";
  } elseif ($_GET['objt']=='therm2') {
    $objtype = "therm2";
  } elseif ($_GET['objt']=='therm3') {
    $objtype = "therm3";
  } elseif ($_GET['objt']=='sensors2') {
    $objtype = "sensors2";
  } else {
    
}

//---------------------------- Title (name) objests    

/*
title - это подпись на сенсоре
*/
  
  $name=$_GET['title'];

//---------------------------- ID of sensor 

/*
Вводим параметр ids (ID sensor) &ids=65, например. 
Для передачи ID сенсора через параметры вызова графика
*/
  
  if ($_GET['ids']) {
        $idsens=$_GET['ids'];
      } else {
         $idsens=1;
        }

Код: Выделить всё

//---------------------------- Индикатор

/*
Собственно код индикатора
*/
     } elseif ($objtype == "therm3") {

         $wi=100;
         $hi=100;
	 $t2bg=255;
		 
	 $Test = new pChart($wi,$hi);
         $Test->setColorPalette(0,100,140,220);

         $Test->setFontProperties("./pChart/Fonts/tahoma.ttf",8);  
         $Test->setGraphArea(0,0,$wi,$hi);  
	
	 // Background
         $Test->drawBackground($t2bg,$t2bg,$t2bg);
	
	 // SQL q
	 $qTempStreet2=SQLSelectOne("SELECT * FROM pvalues WHERE pvalues.ID='$idsens'");
         $TempStreetValue2=$qTempStreet2[VALUE];
	
         // Body
	 $Test->drawFilledRoundedRectangle(0,0,100,100,8,$caR,$caG,$caB); // body

	
	 // Marks
         $Test->drawLine(10,60,90,60,220,220,220,FALSE);

     
	 // Current temp
         $Test->setFontProperties("./pChart/Fonts/tahoma.ttf",24);
         $Test->drawTextBox(20,20,90,40,"$TempStreetValue2"."°",0,255,255,255,ALIGN_CENTER,FALSE,-1,-1,-1,100);
         $Test->setFontProperties("./pChart/Fonts/tahoma.ttf",13);
	 $Test->drawTextBox(10,70,90,80,"$name",0,255,255,255,ALIGN_CENTER,FALSE,-1,-1,-1,100);
         $Test->setFontProperties("./pChart/Fonts/tahoma.ttf",8);

Код: Выделить всё

//---------------------------- Вызов


      <div align="left">
      <img src="/pChart/?p=tempStreet.temp&objt=therm3&ids=65&caR=100&caG=160&caB=230&type=1h&title=На улице&width=280&height=610&unit= &gcolor=blue">&nbsp&nbsp&nbsp
      <img src="/pChart/?p=tempStreet.temp&objt=therm3&ids=89&caR=100&caG=200&caB=100&type=1h&title=В доме&width=280&height=610&unit= &gcolor=blue">&nbsp&nbsp&nbsp
      <img src="/pChart/?p=tempStreet.temp&objt=therm3&ids=80&caR=200&caG=130&caB=200&type=1h&title=Сенсор 3&width=280&height=610&unit= &gcolor=blue">&nbsp&nbsp&nbsp
      <img src="/pChart/?p=tempStreet.temp&objt=therm3&ids=83&caR=200&caG=100&caB=100&type=1h&title=Сенсор 4&width=280&height=610&unit= &gcolor=blue">&nbsp&nbsp&nbsp
      <img src="/pChart/?p=tempStreet.temp&objt=therm3&ids=95&caR=120&caG=120&caB=120&type=1h&title=Сенсор 5&width=280&height=610&unit= &gcolor=blue">&nbsp&nbsp&nbsp
      <img src="/pChart/?p=tempStreet.temp&objt=therm3&ids=86&caR=230&caG=150&caB=70&type=1h&title=Отопление&width=280&height=610&unit= &gcolor=blue">
      </div>

---------------
Вложения
t3.png
t3
t3.png (20.33 КБ) 12142 просмотра
Vit
Сообщения: 867
Зарегистрирован: Вт янв 17, 2012 12:31 pm
Благодарил (а): 121 раз
Поблагодарили: 78 раз

Re: Живые индикаторы на pChart

Сообщение Vit » Вс ноя 18, 2012 9:09 am

Классно смотрятся.... Alex может сможете сделать для примера папку pchart2 с данными вариантами и примеры вызова таких графиков либо градусников.... кто самостоятельно не сможет...просто скачает папку и сделает у себя такие варианты...


думаю многие будут благодарны за помощь...


заранее спасибо...
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Живые индикаторы на pChart

Сообщение Alex » Вс ноя 18, 2012 10:40 am

Изменения вносятся только в файл index.php, так что достаточно только этого файла и примеров вызова. Надо будет почистить этот файл, разобраться с недоработками, упорядочить параметры вызова и выложить тут.
Vit
Сообщения: 867
Зарегистрирован: Вт янв 17, 2012 12:31 pm
Благодарил (а): 121 раз
Поблагодарили: 78 раз

Re: Живые индикаторы на pChart

Сообщение Vit » Вс ноя 18, 2012 11:52 am

Alex писал(а):Изменения вносятся только в файл index.php, так что достаточно только этого файла и примеров вызова. Надо будет почистить этот файл, разобраться с недоработками, упорядочить параметры вызова и выложить тут.

ок....будем ждать....спасибо...
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Живые индикаторы на pChart

Сообщение Alex » Вс ноя 18, 2012 6:42 pm

По идее так.

Обычные графики остаются в папке pChart. Создаём копию этой папки и называем pChart2. Замещаем файл index.php на новый. Вызываем так.

Код: Выделить всё

<font size="4" color="gray" face="Arial"><b>Object type: sticker1</b></font><br><br>
<img src="/pChart2/?objt=sticker1&ids=65&caR=100&caG=160&caB=230&label=Sensor1&unit=°">&nbsp
<img src="/pChart2/?objt=sticker1&ids=89&caR=100&caG=200&caB=100&label=Sensor2&unit=°">&nbsp
<img src="/pChart2/?objt=sticker1&ids=80&caR=200&caG=130&caB=200&label=Sensor3&unit=°">&nbsp
<img src="/pChart2/?objt=sticker1&ids=83&caR=200&caG=100&caB=100&label=Sensor4&unit=°">&nbsp
<img src="/pChart2/?objt=sticker1&ids=95&caR=120&caG=120&caB=120&label=Sensor5&unit=°">&nbsp
<img src="/pChart2/?objt=sticker1&ids=86&caR=230&caG=150&caB=70&label=Sensor6&unit=°"><br><br>

<font size="4" color="gray" face="Arial"><b>Object type: therm1</b></font><br><br>
<img src="/pChart2/?objt=therm1&ids=65&dca=blue&max=40&middle=0&min=-40">&nbsp
<img src="/pChart2/?objt=therm1&ids=89&dca=green&max=40&middle=0&min=-40">&nbsp
<img src="/pChart2/?objt=therm1&ids=80&dca=magenta&max=40&middle=0&min=-40">&nbsp
<img src="/pChart2/?objt=therm1&ids=83&dca=red&max=40&middle=0&min=-40">&nbsp
<img src="/pChart2/?objt=therm1&ids=95&dca=gray&max=40&middle=0&min=-40">&nbsp
<img src="/pChart2/?objt=therm1&ids=86&dca=orange&max=40&middle=0&min=-40"><br><br>
Обратите внимание на параметр ids — это номер датчика в таблице pvalues, без правильного значения работать не будет (у всех эти значения разные).

Параметры вызова

Код: Выделить всё

&objt=  - type of object (default "")
&ids=   - ID of sensor (default 1)
&label= - label of sensor (default "")
&unit=  - units (default "")

//Limits
max=    - max value (default "")
min=    - min value (default "")
middle= - middle value (default "")
limit=  - break color (default "")

//RGB active
&caR=   - R component color active (default 230)
&caG=   - G component color active (default 100)
&caB=   - B component color active (default 100)

//RGB passive
&cpR=   - R component color passive (default 100)
&cpG=   - G component color passive (default 100)
&cpB=   - B component color passive (default 100)

//default colors active
&dca=blue    - &caR=100&caG=160&caB=230
&dca=green   - &caR=100&caG=200&caB=100
&dca=magenta - &caR=200&caG=130&caB=200
&dca=red     - &caR=200&caG=100&caB=100
&dca=gray    - &caR=120&caG=120&caB=120
&dca=orange  - &caR=230&caG=150&caB=70

//default colors passive/alarm
&dcp=blue    - &cpR=100&cpG=160&cpB=230
&dcp=green   - &cpR=100&cpG=200&cpB=100
&dcp=magenta - &cpR=200&cpG=130&cpB=200
&dcp=red     - &cpR=200&cpG=100&cpB=100
&dcp=gray    - &cpR=120&cpG=120&cpB=120
&dcp=orange  - &cpR=230&cpG=150&cpB=70
Объектов всего два

therm1 — термометр
и
sticker1 — индикатор
Вложения
index.zip
v.1.0.0
(2.3 КБ) 313 скачиваний
t4.png
t&s
t4.png (28.54 КБ) 12140 просмотров
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Живые индикаторы на pChart

Сообщение Alex » Вс ноя 18, 2012 9:24 pm

Ещё примеры.
Вложения
s3.png
s3
s3.png (48.4 КБ) 13299 просмотров
Vit
Сообщения: 867
Зарегистрирован: Вт янв 17, 2012 12:31 pm
Благодарил (а): 121 раз
Поблагодарили: 78 раз

Re: Живые индикаторы на pChart

Сообщение Vit » Пн ноя 19, 2012 1:32 pm

Спасибо Alex, на темной сцене с цветами что то ...плывет все...


Изображение


и каким обраом уменьшаются размеры стикеров как впримерах стикер 2, стикер 3 стикер 3а


может это можно в функцию сделать и при вызове указывать параметр
Ответить