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

Модератор:Alex

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

Сообщение alexsis_76 » Вт май 23, 2017 3:44 am

Скрипт демонстрирует работу с jquery,счетчик нажатий кнопки и простая анимация.
585_Orange_pi_JS.7z
(84.56КБ)170 скачиваний
alexsis_76
Сообщения:792
Зарегистрирован:Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

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

Сообщение alexsis_76 » Пт май 26, 2017 8:52 am

простенький вывод из json файла ,пример работы с аяксом(запрос раз в секунду)
445.7z
(872байт)214 скачиваний
никаких мозговыносящих XMLHttpRequest и бесконечных getElementById :D
вдогонку
чтоб не лез в кеш написать
$.ajaxSetup({
cache: false
});
Аватара пользователя
ser009
Сообщения:595
Зарегистрирован:Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

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

Сообщение ser009 » Ср май 31, 2017 10:52 am

Применял кто такие визуализации для полученных данных на АМС???
http://beloweb.ru/javascript-jquery/bes ... ektov.html
Изображение
Изображение
serghei
Сообщения:2575
Зарегистрирован:Пт ноя 06, 2015 10:22 am
Откуда:Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

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

Сообщение serghei » Ср май 31, 2017 11:43 am

Я устанавливал SteelSeries. Сами библиотеки воткнуть не проблема. Вот прицепить Ажакс-запросы к данным АМС - не могу уже полгода.Alexsis-76 объяснял десяток раз , но до меня так и не доходит, как прицепить жквери. Вечером выложу htm-страницу.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
alexsis_76
Сообщения:792
Зарегистрирован:Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

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

Сообщение alexsis_76 » Ср май 31, 2017 12:36 pm

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

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

Сообщение serghei » Ср май 31, 2017 10:40 pm

Очень просто (2 месяца) понадобилось для запуска цветного спидометра через XML-страницу. Еще полгода назад прикрутил и вывел на страницу SteelSeries. Все что не требует Get URL работает ( часы , секундомеры и рандомные значения). Благодаря Xor все это заработало на МД. Тупой перенос на АМС не работает ( естественно). Когда прикрутил модуль RobotDyn к Дуе и случайно открыл страницу со спидометрами , в сериале увидел это
СпойлерПоказать
6_.jpg
Из всего работают только часы
6_.jpg (225.05КБ)6020 просмотров
То есть браузер спрашивает АМС согласно коду , а ответ не попадает в библиотеку.
Вот и вопрос - что надо вписать в код АМС , чтобы библиотека увидела наше значение? При этом если вместо 0 у начального положения стрелки задаю какое нибудь значение - она правильно отображается.
Ну и страничка
6.rar
(1.54КБ)206 скачиваний
Библиотеки
Вложения
SteelSeries.rar
(45.72КБ)182 скачивания
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
alexsis_76
Сообщения:792
Зарегистрирован:Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

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

Сообщение alexsis_76 » Чт июн 01, 2017 2:55 am

Ну да тебе и пишут err_empty_response
твой парсер не нашел данных подходящих под этот запрос(каков вопрос таков и ответ)
посмотри внимательно вот этот код
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);
он один в один повторяет твой только проще
вот это
$.getJSON('gotdata.json', function(data)});
то же самое что и вот это
$.ajax({
url: url,
}).done(function(data) {

});
сдесь я говорю "пришли мне файл gotdata.json'"
после завершения запроса будет вызвана анонимная функция function с твоими данными
а зачем делать кучу
setInterval(function(){ live_upd("GET /objects/?object=tempSTR&op=m&m=update&v=", RadialTout); },6000);// конечно это не работает
setInterval(function(){ live_upd("request_generic=tempSTR", RadialTin); },7000);
setInterval(function(){ live_upd("/pChart/?op=value&p=ws.windLatest", windSpeed);}, 1500);
setInterval(function(){ live_upd("/pChart/?op=value&p=weather_my.pressure", RadialPress); },12000);
если все данные можно получить одним запросом?
в файле FULL.htm есть такое
// send HTTP GET request
request.open("GET", "req_el_freq" + 'oscill' + randomNoCache(), true);
request.send(null);
setTimeout('getElectroForm()', 2000);
} // getElectroForm()
request.open("GET", "req_el_freq" + 'oscill' + randomNoCache(), true);
req_el_freq
а в server_ajax.ino такое
else if (StrContains(HTTP_req, "req_el_freq")) {sendXmlAnswer(cl); checkOscill(); responseElectroFreq(cl);}
в ответ на твое
req_el_freq
тебе посылают
responseElectroFreq(cl);
вот и все
Аватара пользователя
ser009
Сообщения:595
Зарегистрирован:Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

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

Сообщение ser009 » Пт июн 02, 2017 5:12 am

вот примеры датчиков.
Помогите с функцией передачи значений.
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>
alexsis_76
Сообщения:792
Зарегистрирован:Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

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

Сообщение alexsis_76 » Пт июн 02, 2017 5:31 am

https://canvas-gauges.com/documentation/examples/ не открывается
данные в каоком формате нужно получить (xml,json)?

по виду кода в xml
Аватара пользователя
ser009
Сообщения:595
Зарегистрирован:Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

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

Сообщение ser009 » Пт июн 02, 2017 6:04 am

alexsis_76 писал(а):https://canvas-gauges.com/documentation/examples/ не открывается
данные в каком формате нужно получить (xml,json)?

по виду кода в xml
Данные на страничке есть.
Нужно передать эти значения в график
Ответить