Как стать автором
Обновить

Комментарии 30

А смотрели в сторону Node-Red?
Оно умеет брать данные из файла, шлет красоту в браузер по вебсокетам, то есть вполне себе динамически.
Есть набор UI компонентов, как раз решает задачу отрисовки:
flows.nodered.org/node/node-red-dashboard
Всё это более элегантные решения. Но я не знал раньше вообще web-программирования. Плюс, программа, которая сохраняет CSV была изначально.
для такого небольшого опыта очень хорошо получилось
Большое спасибо!
Осциллограф в браузере

2015 год. Сетевой осциллограф с контроллера на Mega 2560 в браузере – в реальном времени осциллограммы сетевого напряжения и тока по, если мне не изменяет память, 13-и каналам.

https://habr.com/ru/post/382177/
Классное решение, но думаю внедрить было бы слишком проблематично. Так как всё равно надо было бы CSV-парсить, и делать cgi-скрипт перезапуска.
Я не в том смысле, что это нужно внедрить, просто увидел надпись «Осциллограф в браузере» и вспомнил о своих экспериментах на эту тему. :)
А, я скорее сделал призывный заголовок. Конечно это не осциллограф :)
Одно время я работал в компании, которая разрабатывала бесконтактные датчики… а другой в Питере

Случайно не та ли, что в ТРАНЗАСе располагается?
Случайно. :)
НЛО прилетело и опубликовало эту надпись здесь
VPN. Я деталей не помню, но там был специализированный софт, который работал вот только так, по ключам. В результате я написал свою программу, которая делала это локально.
я вот в своё время пытался что-то похожее сделать,
мне нужно было что-то типа анализатора спектра в радиочастотном эфире,

и поэтому меня смущает заголовок статьи «в реальном времени», и потом оказывается что отрисовка 2000 мсек обновление…

пытался найти библиотеку для отрисовки графика в реальном времени.
у меня была задача отрисовать со скользящим окном график именно в реальном времени как осциллограф… 1.5мегабит/сек поток валится и надо рисовать на экране примерно 32655 точек на линию (точка uint32), восемь линий на графике…
в файл оно писалось нормально,
а вот я уперся именно в отрисовку, я не смог найти библиотеки, которая может так быстро перерисовывать график.

и вот я так и не смог найти библиотеку для отрисовки. самую быструю которую я нашел, рисует кадр раз в полторы секунды, а мне надо было смотреть в реальном времени… (ms-chart рисует раз в две секунды кадр, на не слабом компе типа i7)

я пришел к выводу, что надо как-то ускорители графики подключать из игр типа опенЦВ
если кто может посоветовать для c# или для ява скрипта, какуюто простенькую библиотеку для быстрой отрисовки графиков, я был бы благодарен.

Не забывайте, что мозг человека более 15 кадров в секунду уже не...

да хотябы 10 кадров в секунду получить, а не один кадр в две секунды…

Посмотрите в сторону webGL, а для простоты можно использовать библиотеку Three.js. Orthography camera для построения 2D графиков.

Посмотрите на результаты конкурса телеграмм по JS charts. Там реализации выдают 60fps

НЛО прилетело и опубликовало эту надпись здесь
Со стороны js не отвечу, вероятно нет, судя по комментариям. А со стороны железа, оно отдавало данные не чаще раза в секунду.
снимал данные с датчика ардуинкой, на которой был «websocket-server», который и передавал данные по ws на сервер, который по ws передавал данные в браузер, который и отображал «бегущий график» в «реальном времени» — всё просто, основным тормозом была скорость отдачи данных с датчика. основной особенностью — если физически вынуть сетевой коннектор идущий от адуинки на 10+секунд — и воткнуть обратно — потерь не происходило. сетевой модуль ардуинки имел память и накапливал там не отправленное, при подключении — выплёвывал сохранённое.

Немного не по теме статьи. Больше касательно датчиков
Всегда не понимал, зачем люди так сильно усложняют решение простейшей задачи?
Аналогичную задачу (мониторинг температуры шин) можно решить более простыми способами:
1) ИК термометр, из готового это различные устройства типа "зной" и им подобных
2) Контактные датчики с питанием от трансформаторов на самих шинах
3) Бесконтактный датчик с питанием от наводок 50 Гц
Зачем этот оверинжиниринг?

1) ИК термометр, из готового это различные устройства типа «зной» и им подобных
2) Контактные датчики с питанием от трансформаторов на самих шинах
3) Бесконтактный датчик с питанием от наводок 50 Гц
Зачем этот оверинжиниринг?

1. У каждого тела свой коэффициент излучения. При этом, если будет облучаться солнышком, вы будете получать попугаи. Если покрасить серебрянкой, то будет попугаи. Пролёт. Но справедливости ради, так работает тепловиденье.
2. С питанием от трансформатора? На 220 кВ, как вы себе это представляете? Вам ни один энергетик не даст сделать такое питание.
3. Все кто пытался делать такие бесконтактные датчики с питанием от наводок, бросали эту затею. Я видел десятки проектов. Крайне низкая надёжность, и всё выгорает при бросках напряжения (молния где-то ударила).

Вот на фото полностью пассивные датчики температуры. Просто кусок кремния и антенна. Чудовищная надёжность и простота.
  1. С питанием от трансформатора? На 220 кВ, как вы себе это представляете?

Насчёт 220 кВ — надо считать. А насчёт меньших напряжений, где токи повыше, — имеется в виду трансформатор тока на контролируемой шине, от которого запитан измеритель.

именно

рефреш по аяксу — это немножечко капельку чуть-чуть совсем не реалтайм
Очень классно получилось! Реальная история, когда была пользовательская боль и она решена.
Спасибо!

Подскажите, как вы подключались к считывателю? по какому протоколу. Подключение шло через машину на linux или же она только была посредником между считывателем и пк настройщика?

Всё шло по modbus
Зарегистрируйтесь на Хабре, чтобы оставить комментарий