Клубный форум - обо всем, кроме радио
  · Форум про радио здесь! · LPD-Форум · Копилка
  · Наш магазин · Объявления · Рейтинг · Файлы
На сайте: гостей - 38,
участников - 0
 · Начало · Статистика · Поиск · Регистрация · Правила ·
 Клубный Форум —› Компьютеры, сети, программы —› Как вывести переодически обновляемый график на WEB ресурс?
Автор Сообщение
ЧЕГЕТ_35
Участник
Offline3.5
с июн 2005
Москва
Сообщений: 31

Дата: 24 Май 2010 13:23:06 · Поправил: ЧЕГЕТ_35 (24 Май 2010 13:25:56) #  

Прошу знатоков посоветовать, как решить задачку:
имеется некий датчик (пока условно), который соединён с компьютером.
Необходимо сделать базу данных (какую? на чём прощще?), которая собирает значения с датчика
раз в час и на основе этих данных строит график зависимости показания датчика от времени, для размещения этого графика на WEB странице, как , например , ЗДЕСЬ, см.
грвфики внизу страницы.
Ясь
Участник
Offline4.0
с дек 2006
Пушкино МО
Сообщений: 152

Дата: 24 Май 2010 14:06:07 #  

Никакой базы данных тут не надо. Надо, чтобы программа брала данные с датчика и писала их в файл вместе с метками времени. Тупо в формате:
<t[1]><TAB><value[1]><ВК>
<t[2]><TAB><value[2]><ВК>
...
...
<t[n]><TAB><value[n]><ВК>;
где t[] -- метка времени (целое число без знака -- unsigned int), value[] -- значение (к примеру float), которое надо выводить на график.
А параллельно этой программе работает скрипт, который этот файл, к примеру, раз в минуту скармливает gnuplot-у. А затем результат (картинку) по ftp отправляет на хостинг. Это легко средствами *nix делается, к примеру, в виде скрипта bash. Да и в виндах тоже ничего сложного -- скрипт тупой, один цикл и все, две программы по очереди запускаем.
Реклама
Google
Kostas
Участник
Offline1.0
с мая 2007
Москва
Сообщений: 75

Дата: 24 Май 2010 14:07:50 #  

А в чём вопрос-то? Проще - на чём знаешь, можно скриптом на перле, яве, можно на любом языке (хоть на ассемблере), формируешь картинку в любом графическом формате (по ссылке - это .png), .jpg, .gif. .tiff и тэдэ, а на страничке линк на этот файл...
antony
Участник
Offline3.1
с фев 2005
Санкт-Петербург
Сообщений: 1111

Дата: 24 Май 2010 14:51:42 #  

График должен быть активным? т.е. самообновляемым на странице, без или с перегрузкой самой страницы?
ЧЕГЕТ_35
Участник
Offline3.5
с июн 2005
Москва
Сообщений: 31

Дата: 24 Май 2010 15:25:26 #  

Спасибо всем, кто так быстро откликнулся.
Дело для меня новое и почти совсем незнакомое, поэтому иду с самых азов.
antony
График должен быть активным, самообновляемым с перезагрузкой страницы.

Ясь
А можно подробнее про "gnuplot"?
ЧЕГЕТ_35
Участник
Offline3.5
с июн 2005
Москва
Сообщений: 31

Дата: 24 Май 2010 15:28:43 #  

Kostas
Вопрос-то в том, что я пока не представляю как сформировать график (картинку), в том-же PNG,
мне б самое начало, в какую сторону смотреть, что почитать?
Kostas
Участник
Offline1.0
с мая 2007
Москва
Сообщений: 75

Дата: 24 Май 2010 15:57:10 #  

Вопрос-то в том, что я пока не представляю как сформировать график (картинку), в том-же PNG,
мне б самое начало, в какую сторону смотреть, что почитать?


У-у-у... :) Ну почитать надо про многое, судя по всему, например, про языки программирования хоть какие-нибудь и про стандарты графических файлов... Если серьёзно, когда будешь точно знать в каком формате у тебя будут на входе данные, тогда попроси хоть какого знакомого проггера, он такую программулю напишет за полчаса-час. А так здесь уже упоминали вроде гнуплот (http://fsweb.info/calculations/gnuplot.html) можно и его приспособить наверное.
ЧЕГЕТ_35
Участник
Offline3.5
с июн 2005
Москва
Сообщений: 31

Дата: 24 Май 2010 16:47:54 #  

Kostas
попроси хоть какого знакомого проггера, он такую программулю напишет за полчаса-час.
Нет, это не мой метод, я могу проще - купить. Вот вопрос то в том, что САМ хочу НАУЧИТЬСЯ.
Я понимаю, что можно долго рассуждать про языки программирования хоть какие-нибудь и про стандарты графических файлов... , а можно просто кнкретно сказать - читать это, смотреть сюда и пр.
Просто хочется чётко, внятно и по существу.
Это не компроект, это просто идея. На которой хочется научиться тому, что ещё не умею.
ЧЕГЕТ_35
Участник
Offline3.5
с июн 2005
Москва
Сообщений: 31

Дата: 24 Май 2010 17:00:36 #  

Kostas
А насчёт гнуплота - спасибо за ссылку - изучу.
Ясь
Участник
Offline4.0
с дек 2006
Пушкино МО
Сообщений: 152

Дата: 24 Май 2010 17:03:59 #  

ЧЕГЕТ_35
А можно подробнее про "gnuplot"?
Вот здесь -- http://linux.unn.ru/debian/node/13 -- есть пример использования данной программы. Это довольно мощное средство построения графиков с собственным входным языком управления, позволяющее вывести построенный из файла с данными график в любой графический файл. Что нам собственно и надо. Знать, как устроен png-файл при этом не надо.
Kostas
Участник
Offline1.0
с мая 2007
Москва
Сообщений: 75

Дата: 24 Май 2010 17:53:30 #  

Просто хочется чётко, внятно и по существу.

Для того, чтобы было так, нужно правильно формулировать задачу. Известно, что грамотно сформулированный вопрос содержит 90% ответа. :)

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

Ну и тэдэ. В любом случае я бы посоветовал что-нибудь из клонов языков С. Кроссплатформенное, быстрое, работает как под вынь так и под линухом. Учебников по нему море, библиотек тоже. Плюс описание желаемого графического формата на выходе - тоже не тайна.
ЧЕГЕТ_35
Участник
Offline3.5
с июн 2005
Москва
Сообщений: 31

Дата: 24 Май 2010 18:28:09 #  

Kostas
1. Win
2. пока не знаю, скорее всего в hex
2a. пока это не принципиально (очень хорошо, что Вы обозначили этот вопрос - я-то - дилетант)
3. всё на одной машине.
3б. Unix наверное. У большинства хостеров так наверное (поправьте, если ошибся).
4. скорость обновления не чаше раза в час, данные с датчика можно снимать с такой же скоростью).
5. График обычный, двухмерный - по оси ординат - текущее значение, по оси абсцисс - время в часах.

А я уж было склонился к Яве именно по причине кроссплатформенности.

Ясь
Kostas

Спасибо вам большое!
Отставить лежание на диване!
Вот теперь я знаю , чем занять себя на ближайший месяц(ы)!
De4m
Участник
Offline1.2
с сен 2006
Москва
Сообщений: 1

Дата: 24 Май 2010 18:44:19 · Поправил: De4m (24 Май 2010 18:45:37) #  

1. Win
2. пока не знаю, скорее всего в hex
2a. пока это не принципиально (очень хорошо, что Вы обозначили этот вопрос - я-то - дилетант)
3. всё на одной машине.
3б. Unix наверное. У большинства хостеров так наверное (поправьте, если ошибся).
4. скорость обновления не чаше раза в час, данные с датчика можно снимать с такой же скоростью).
5. График обычный, двухмерный - по оси ординат - текущее значение, по оси абсцисс - время в часах.

А я уж было склонился к Яве именно по причине кроссплатформенности.




На торантах есть программа (даже наверное среда разработки) XCelsius. На входе файл с данными (форматы понимает разные) на выходе флэшка с графиком (графики в некоторых пределах анимированные). Работает под виндой. Может работать a фоне. обновление можно запускать bat ником по времени или вывести на страничку кнопку "обновить". Умеет в некоторых пределах преобразовывать данные.

Программа предназначена именно для визуализации данных ( много всяких графиков и элементов управления).

P.s. Ставил данную программу для расширения кругозора. Анимированный флэш график получил минут через 10 ( интерфейс интуитивно понятен). Если нужна будет более подробная информация - могу поинтересоваться у коллег по работе, которые ее используют.
ЧЕГЕТ_35
Участник
Offline3.5
с июн 2005
Москва
Сообщений: 31

Дата: 24 Май 2010 22:10:56 #  

De4m
Спасибо за информацию.
Обязательно посмотрю. Я вообщем то тоже занимаюсь этим для расширения кругозора.
В последнее время стал интересоваться программингом (хотя пока не написал ни единой
строчки программного кода, думаю это дело наживное)на асме и яве.
ixoid
Участник
Offline1.1
с окт 2006
Санкт-Петербург
Сообщений: 20

Дата: 25 Май 2010 21:35:33 #  

Могу предложить посмотреть на mrtg.
ЧЕГЕТ_35
Участник
Offline3.5
с июн 2005
Москва
Сообщений: 31

Дата: 26 Май 2010 11:47:56 #  

ixoid
Спасибо!
Это уже из разряда для продвинутых. Перл для меня пока китайская грамота.
twister
Участник
Offline3.1
с апр 2007
Архангельск
Сообщений: 3264

Дата: 26 Май 2010 14:38:54 #  

Вот можно как сделать:
картинка
rrstara
Участник
Offline1.5
с мар 2009
Сообщений: 23

Дата: 26 Май 2010 20:00:09 #  

А мне интересно - график переодический или всё таки периодический?
ЧЕГЕТ_35
Участник
Offline3.5
с июн 2005
Москва
Сообщений: 31

Дата: 26 Май 2010 22:33:41 #  

twister
А как?
Говорите помедленннее, я записываю (С).
ЧЕГЕТ_35
Участник
Offline3.5
с июн 2005
Москва
Сообщений: 31

Дата: 26 Май 2010 22:37:31 #  

rrstara
Да мне б график построить, а с периодичностью потом разберёмся.
twister
Участник
Offline3.1
с апр 2007
Архангельск
Сообщений: 3264

Дата: 27 Май 2010 14:57:46 · Поправил: twister (27 Май 2010 14:58:31) #  

Картинка по моей ссылке периодически меняется ... так понимаю что это просто сохраняют софтом её периодически в файл .png (картинка).
Чем и как конкретно сделано - х.з.

Графики можно попробовать построить тем же Exel или например MathCAD.
Newvo
Участник
Offline1.0
с дек 2009
Украина
Сообщений: 2

Дата: 27 Май 2010 17:01:16 #  

Если дружите с английским, может стоит посмотреть в сторону http://oss.oetiker.ch/rrdtool/index.en.html ?
Newvo
Участник
Offline1.0
с дек 2009
Украина
Сообщений: 2

Дата: 27 Май 2010 17:01:38 #  

Если дружите с английским, может стоит посмотреть в сторону http://oss.oetiker.ch/rrdtool/index.en.html ?
ixoid
Участник
Offline1.1
с окт 2006
Санкт-Петербург
Сообщений: 20

Дата: 27 Май 2010 20:32:44 #  

Перл для меня пока китайская грамота
Да там вроде не обязательно перл ковырять, достаточно конфиг грамотно составить. Как данные-то с датчика снимаются?

А rrdtool - это продвинутая версия mrtg и есть.

Принцип-то в основном один у всех - сгенерировать картинку, а потом засунуть ее в html с параметром "обновлять каждые N секунд". Картинку, соответственно, строить - кому что проще. Я бы mrtg/rrdtool/gnuplot использовал. Это если дизайн не важен, иначе придется писать таки программу/скрипт, с разрисовыванием в нужном стиле.
ЧЕГЕТ_35
Участник
Offline3.5
с июн 2005
Москва
Сообщений: 31

Дата: 27 Май 2010 22:09:44 #  

Newvo
С английским - запросто, спасибо.
ЧЕГЕТ_35
Участник
Offline3.5
с июн 2005
Москва
Сообщений: 31

Дата: 27 Май 2010 22:22:27 #  

ixoid
Сигнал с датчика подаётся через согласователь уровней (max232) на COM-порт.
С формированием картинки вроде разобрались, с выводом в html - тоже. А вот как забрать данные с порта
и конвертануть их в формат, понятный гнуплоту - пока непонятно.
ixoid
Участник
Offline1.1
с окт 2006
Санкт-Петербург
Сообщений: 20

Дата: 28 Май 2010 10:11:46 #  

А COM-порт в виндоусе или юниксе? Под виндоус надо писать программу, как ни крути. Я бы python использовал.
А в юниксе в простейшем случае поможет команда 'cat /dev/ttyS0'. Гнуплоту как исходные данные нужен файл с парами чисел время-значение.

Если хотите - давайте подробности, думаю в одну-две строчки "программа преобразования" уложится :)

Одно из направлений моего хобби - съем информации с датчиков :)
Реклама
Google
 

Создавать сообщения могут только зарегистрированные участники форума.


Войти в форум :: » Логин » Пароль
 
Начало
Рации, приемники, антенны. Радиостанции Motorola, Yaesu, Vertex.
Время загрузки страницы (сек.): 0.016. Поддержка: miniBB / radioscanner © 2004