визуализация данных

Модератор: Alex

alexsis_76
Сообщения: 792
Зарегистрирован: Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

Re: визуализация данных

Сообщение alexsis_76 » Ср дек 06, 2017 4:44 pm

Я сейчам нахожусь в командировке в Якутии,поэтому ничем помочь пока не могу,приеду прмерно числа 23 декабря.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: визуализация данных

Сообщение nick7zmail » Ср дек 06, 2017 4:46 pm

Ну мы подождем, дабы красоту прикрутить =D
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
alexsis_76
Сообщения: 792
Зарегистрирован: Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

Re: визуализация данных

Сообщение alexsis_76 » Ср дек 06, 2017 4:49 pm

Угу
Sps
Сообщения: 45
Зарегистрирован: Вт окт 27, 2015 4:23 pm
Благодарил (а): 6 раз
Поблагодарили: 1 раз

Re: визуализация данных

Сообщение Sps » Вс дек 17, 2017 10:15 am

ser009 писал(а):вот примеры датчиков.
Помогите с функцией передачи значений.
https://canvas-gauges.com/documentation/examples/

вот пример все с того же сайте. Но как передать значение???
СпойлерПоказать

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

<script src="gauge.min.js"></script>
<canvas data-type="linear-gauge"
        data-width="200"
        data-height="600"
></canvas>

<script>
var gaugeElement = document.getElementsByTagName('canvas')[0];

gaugeElement.setAttribute('data-border-radius', 20);
gaugeElement.setAttribute('data-color-numbers', 'red');
gaugeElement.setAttribute('data-type', 'radial-gauge');
gaugeElement.setAttribute('data-type', 'linear-gauge');
</script>
вот кусок моего кода получения данных. выполнено в виде цикла for
СпойлерПоказать

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

...
var ghvalue = ["hum_air", "hum_gr", "press", "temp_air", "temp_woter"];
...
function getValue() {
  var request = new XMLHttpRequest();
  request.onreadystatechange = function() {
    if (this.readyState == 4) {
      if (this.status == 200) {
        if (this.responseXML != null) {
          // net activ
          insertTick(30, bufferCpuLoad2);
            for (var i = 0; i < ghvalue.length; i++) {
              try {
                var temp = this.responseXML.getElementsByTagName(ghvalue[i])[0].childNodes[0].nodeValue;
              } catch (err) {
                  temp = "-1";
                }
              try {
                document.getElementById(ghvalue[i]).innerHTML = temp;
              } catch (err) { }
            }
            }

        } //if (this.responseXML != null)
      } // if (this.status == 200)
    } // if (this.readyState == 4)
  request.open("GET", "request_valgh" + randomNoCache(), true);
  request.send(null);
  setTimeout('getValue()', 3000);
  }
...
<p>Влажность грунта: <span class="value" id="hum_gr">-999</span> % </p>
Интересно удалось запустить эти датчики? Я тоже пытаюсь скормить им переменную температуры результат 0. Если у Вас есть положительный результат, буду признателен если поделитесь.

*** Сообщение запрещено. Сообщение похоже на спам. ***
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: визуализация данных

Сообщение serghei » Вт дек 19, 2017 10:48 pm

Это все очень сильно смахивает на "SteelSeries". Благодаря Xor на МД все это давно работает. Библиотеки в АМС подсунуть не проблема , так же отображать рандомные значения. Я уже год терраризирую всех знакомых программистов , но пока безрезультатно. Последняя надежда - ждем 25 декабря и слезно просим Alexsis_76 в 110-й раз запустить эти индикаторы.
Максимально что мне удалось в АМС - запустить один индикатор , но на стороннем сервере и вручную созданном на SD карте XML файле. Осталось только создать его автоматически. Тем более с новой sdFat будет намного проще.
СпойлерПоказать
Steel.jpg
Steel.jpg (243.03 КБ) 4002 просмотра
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
alexsis_76
Сообщения: 792
Зарегистрирован: Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

Re: визуализация данных

Сообщение alexsis_76 » Пт дек 22, 2017 3:17 pm

ну вроде добрался можете задавать вопросы.
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: визуализация данных

Сообщение serghei » Пт дек 22, 2017 4:32 pm

Привет ! Для начала об'ясни для всех , как с помощью jqery передать какое нибудь число ( температуру ) в браузер. Библиотеки подключены. Подробности могу только вечером. У меня время - 1 по Москве. И на работе только планшет.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
alexsis_76
Сообщения: 792
Зарегистрирован: Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

Re: визуализация данных

Сообщение alexsis_76 » Пт дек 22, 2017 5:23 pm

uhh.7z
(28.31 КБ) 133 скачивания
как с помощью jqery передать какое нибудь число ( температуру ) в браузер
с помощью jqery передать число нельзя.
но можно запросить это число на сервере.
<script src="jquery.js"></script>
<div id="sensor"<h2>Null</h2></div>
<div id="date"<h2>Null</h2></div>
<div id="value"<h2>0</h2></div>
<div id="number1"<h2>0</h2></div>
<div id="number2"<h2>0</h2></div>
<div id="number3"<h2>0</h2></div>
<div id="number4"<h2>0</h2></div>
<script>

function Get(){
$.getJSON('gotdata.json', function(data){
$('#sensor').html('<h1> Name : '+data.name+'</h1>');
$('#date').html('<h1> Data : '+data.date+'</h1>');
$('#value').html('<h1> Value : '+data.value+'</h1>');
$('#number1').html('<h1> Tel 1 : '+data.phoneNumbers[0]+'</h1>');
$('#number2').html('<h1> Tel 2 : '+data.phoneNumbers[1]+'</h1>');
$('#number3').html('<h1> Tel 3 : '+data.phoneNumbers[2]+'</h1>');
$('#number4').html('<h1> Tel 4 : '+data.phoneNumbers[3]+'</h1>');

});
}
setInterval('Get()', 1000);
код выводит содержимое gotdata.json на экран
содержимое gotdata.json.
{ "date": "24-05-2017",
"value": 692,
"name": "sensor21",
"phoneNumbers": [
814256995,
4555223332,
5555555554,
568645885669

]
}
на экране видим
Name : sensor21
Data : 24-05-2017
Value : 692
Tel 1 : 814256995
Tel 2 : 4555223332
Tel 3 : 5555555554
сам код скрипта распологается в функции Get
function Get(){
$.getJSON('gotdata.json', function(data){
$('#sensor').html('<h1> Name : '+data.name+'</h1>');
$('#date').html('<h1> Data : '+data.date+'</h1>');
$('#value').html('<h1> Value : '+data.value+'</h1>');
$('#number1').html('<h1> Tel 1 : '+data.phoneNumbers[0]+'</h1>');
$('#number2').html('<h1> Tel 2 : '+data.phoneNumbers[1]+'</h1>');
$('#number3').html('<h1> Tel 3 : '+data.phoneNumbers[2]+'</h1>');
$('#number4').html('<h1> Tel 4 : '+data.phoneNumbers[3]+'</h1>');

});
}
функция запрашивает файл gotdata.json методом get,затем вызывается функция data, которая извлекает из полей json файла значения и помещает их по соответствующим id,вот собственно и все.

[attachment]uhh.7z[/attachment]

*** Сообщение запрещено. Слишком быстрая отправка формы, попробуйте еще раз через несколько секунд. Содержит контактную информацию. ***

*** Сообщение запрещено. Слишком быстрая отправка формы, попробуйте еще раз через несколько секунд. Содержит контактную информацию. ***

*** Unknown response from http://moderate3.cleantalk.org/api2.0. Error 2: Quantifier follows nothing in regex; marked by <-- HERE in m/* <-- HERE ** Сообщение запрещено Слишком быстрая отправка формы попробуйте еще раз через несколько секунд Содержит контактную информацию \s*
\s**** Сообщение запрещено Слишком быстрая отправка формы попробуйте еще раз через несколько секунд Содержит контактную информацию / at /usr/local/cleantalk/lib/Cleantalk/VisitorProfile.pm line 191.
Antispam service cleantalk.org ***
Вложения
445.RAR
(29.43 КБ) 142 скачивания
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: визуализация данных

Сообщение nick7zmail » Пт дек 22, 2017 8:23 pm

alexsis_76 писал(а):ну вроде добрался можете задавать вопросы.
https://majordomo.smartliving.ru/forum/ ... 289#p65289
Вот собственно вопросик...
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: визуализация данных

Сообщение serghei » Сб дек 23, 2017 8:30 am

Вот страница с индикаторами.
STEEL21.rar
(1.25 КБ) 154 скачивания
Рандомные значения отображаются. Так же ,если жестко вбить

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

  // Let's set some values...
  radial1.setValueAnimated(70); 
,то четко покажет 70 .
Значит надо в скрипте дергать функцию
СпойлерПоказать

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

  // Start the random update
        setInterval(function(){ setRandomValue(radial1, 100); }, 4200);
        setInterval(function(){ setRandomValue(radial2, 100); }, 4300);
        setInterval(function(){ setRandomValue(radial3, 100); }, 4400);
   

    function setRandomValue(gauge, range) {
        gauge.setValueAnimated(Math.random() * range); } 
Вот как прицепить реальные значения из скетча? Для температуры current_temp[0] ?
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Ответить