alexvu 5 23 апреля, 2021 Опубликовано 23 апреля, 2021 · Жалоба Здравствуйте. Посоветуйте готовую программу для решения подобной задачи. Делаю несложный контроллер на ардуино с ПИД-регуляторами (пока для своего дома), и хочу посмотреть на компе виде графиков, как он работает, и записать лог. Нужно несколько (штук 6-8) графиков (контроллер будет каждые 0.5с присылать строку чисел со знаком float и int в том формате, который я выберу. Нужна запись и просмотр лога, а в идеале - просмотр этого лога просто прокруткой назад графика, который строится в данный момент. Также желательно отмечать на графиках события, которые присылает контроллер в виде слов (например, если в строке присутствует слово CLOSED1 - то отображать какую-то метку на временной шкале). И это тоже должно попадать в лог. Еще желательно менять и отправлять параметры в контроллер с этого же экрана. Вот нашел такую разработку https://github.com/sebnil/RealtimePlotter это на Processinge, с которым я не имел дела раньше. Это хороший вариант для меня? Или есть что-то подобное, но более популярное и удобное и которым все обычно пользуются? Хочется именно готовое решение, а не писать самому. Но в то же время с открытым кодом (хотя, если есть много настроек, это не обязательно). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
amaora 25 23 апреля, 2021 Опубликовано 23 апреля, 2021 (изменено) · Жалоба У всех разные требования, готовое не подходит и пишут свое. У меня нет текстовых меток и отправки параметров обратно, и не думаю в эту сторону. https://sourceforge.net/projects/graph-plotter/ Изменено 23 апреля, 2021 пользователем amaora Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexvu 5 24 апреля, 2021 Опубликовано 24 апреля, 2021 · Жалоба Процессинг у меня не запустился на ноуте (видеокарта не поддерживает OpenGL 2) Ваша программа запустилась (хотел попробовать), 13 часов назад, amaora сказал: https://sourceforge.net/projects/graph-plotter/ но я не нашел по ней описания, какие данные присылать, как задавать цвета и названия графиков и т.д. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
arhiv6 20 24 апреля, 2021 Опубликовано 24 апреля, 2021 · Жалоба Использую для подобного SerialPlot (последняя версия тут). Вроде почти всем пожеланиям должен удовлетворять, только: 16 часов назад, alexvu сказал: Также желательно отмечать на графиках события, которые присылает контроллер в виде слов (например, если в строке присутствует слово CLOSED1 - то отображать какую-то метку на временной шкале). я не пробовал, не уверен, что такое там есть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
amaora 25 24 апреля, 2021 Опубликовано 24 апреля, 2021 · Жалоба 3 hours ago, alexvu said: но я не нашел по ней описания, какие данные присылать, как задавать цвета и названия графиков и т.д. Есть README.md и пример конфигурационного файла с описанием всех настроек. Так же можно запустить GP с единственным параметром именем файла и порта. Или можно выбрать файл нажав "O". Настройки порта программа не умеет, всегда работал с уже настроенным портом. Пример CSV файла, заголовок с названиями параметров, единиц измерений и числовые данные. Такой файл можно открыть без настроек, и выбрать столбцы/оси/цвета уже в программе. Или вот пример моей конфигурации для real-time построения. #!/home/amaora/util/gp # vi: ft=conf chunk 20 load 0 1200 text "/dev/rfcomm0" mkpages -1 group 0 -1 deflabel 0 "Time (s)" defscale 0 0.05 0 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexvu 5 24 апреля, 2021 Опубликовано 24 апреля, 2021 · Жалоба 1 час назад, arhiv6 сказал: Использую для подобного SerialPlot Спасибо, запустилась, завтра попробую в деле. 9 минут назад, amaora сказал: Есть README.md и пример конфигурационного файла Спасибо, попробую тоже. У Вас хорошо сделан просмотр мелких участков графика. 10 минут назад, amaora сказал: Или можно выбрать файл нажав "O". А что еще можно нажать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
amaora 25 24 апреля, 2021 Опубликовано 24 апреля, 2021 · Жалоба 4 minutes ago, alexvu said: А что еще можно нажать? Клавиши назначены не на все действия. Посмотреть действия можно вызвав контекстное меню на каком-нибудь элементе, они подсвечиваются при наведении. Можно на заголовке сверху, на каждой оси, на легенде фигур. В каждом меню слева подписано если есть клавиша для этого действия. По большому списку меню есть нечёткий поиск (при открытом меню начинаем набирать текст, в меню останутся только совпадения), для тех у кого ~100+ графиков или файлов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Herz 6 24 апреля, 2021 Опубликовано 24 апреля, 2021 · Жалоба Здесь один известный ардуинщик, демонстрируя PID, выводит графики, похоже, средствами самого IDE. Тоже заинтересовало. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 79 24 апреля, 2021 Опубликовано 24 апреля, 2021 · Жалоба любой понравившийся скриптовый язык для приёма своих каких-то особых меток (вроде "CLOSED1") и gnuplot, Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
whale 6 24 апреля, 2021 Опубликовано 24 апреля, 2021 (изменено) · Жалоба Пишется на buildere или delfi за вечер с любыми извращениями. Если не знаете builder или delfi это хороший повод их начать изучать, потребуются еще не раз. Изменено 24 апреля, 2021 пользователем whale Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexvu 5 24 апреля, 2021 Опубликовано 24 апреля, 2021 · Жалоба 5 часов назад, Herz сказал: Здесь один известный ардуинщик, демонстрируя PID, выводит графики, похоже, средствами самого IDE. Это вариант простейший и неудобный. Вот что я сразу увидел: 1) Графики отображаются в едином масштабе, т.е. если один принимает значения до 1000, то другие будут болтаться около 0. Можно, конечно, нормировать в самом контроллере, но зачем? 2) При запуске этого монитора контроллер ресетится, и это нельзя отключить. Т.е. нельзя в процессе запустить монитор и посмотреть графики. 3) Нельзя прокручивать и т.д. Ничего нельзя, в общем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Herz 6 6 мая, 2021 Опубликовано 6 мая, 2021 · Жалоба На чём в итоге остановились? Сейчас озаботился аналогичной задачей. 24.04.2021 в 18:10, alexvu сказал: Спасибо, запустилась, завтра попробую в деле. Как впечатления? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ARV 1 6 мая, 2021 Опубликовано 6 мая, 2021 · Жалоба Я пытался сделать программу, которая могла бы удовлетворить практически все пожелания, но, пожалуй, экзотические пожелания вроде установки текстовых меток на график, не сумеет... Моей фантазии на такое попросту не хватило. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexvu 5 6 мая, 2021 Опубликовано 6 мая, 2021 · Жалоба 9 часов назад, Herz сказал: На чём в итоге остановились? Сейчас озаботился аналогичной задачей. Вот эту использовал: 24.04.2021 в 16:14, arhiv6 сказал: Использую для подобного SerialPlot (последняя версия тут). Там простой интерфейс, она может автоматически опознавать количество графиков по строке чисел до символа конца строки, есть масштабирование каждого графика, просмотр с увеличением и т.д. Записывает файл (я пока не пробовал). И можно посылать текстовые команды контроллеру. Регуляторы тем временем заработали как надо, и я пока к этой программе больше не возвращался и всех ее особенностей не знаю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Herz 6 7 мая, 2021 Опубликовано 7 мая, 2021 · Жалоба 12 часов назад, alexvu сказал: Там простой интерфейс, она может автоматически опознавать количество графиков по строке чисел до символа конца строки, есть масштабирование каждого графика, просмотр с увеличением и т.д. А мне она показалась даже менее удобной, чем встроенный в Ардуино Плоттер: если в Плоттер можно запросто передавать большие числа в формате ASCII посредством Serial.print() и он сам переводит их в десятичный вид, то с SerialPlot это не прокатывает: нужно пользоваться Serial.write() и выводить байты по одному. Учитывая, что в Ардуино-среде самый популярный формат - int, это становится каким-то абсурдом... Кроме того, я не нашёл, как можно масштабировать каждый график, и даже как управлять осью ординат - она всё время автоматически подстраивается под максимальный масштаб, охватывающий диапазон входных данных. Выглядит плохо. Впрочем, и в Плоттере та же проблема: нельзя жёстко задать шкалу по оси Y. Ещё мне пока не удалось настроить "ход времени", то есть скорость смещения графиков по горизонтали. Вы знаете, как это делается? 13 часов назад, alexvu сказал: Регуляторы тем временем заработали как надо, и я пока к этой программе больше не возвращался и всех ее особенностей не знаю. Если не секрет, какой алгоритм использовали? И чем управляли? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться