Проблемы с показом температуры

Здесь обсуждаются любые продукты компании СофтЛаб-НСК для телевизионного вещания (Форвард Т, Форвард ТС, Форвард Голкипер, Форвард Рефери, Форвард Офис, Форвард Инжест)

Модераторы: Людмила, PR, vd, Даниленко Сергей

Ответить
Evg3559
Сообщения: 7
Зарегистрирован: 13 ноя 2015 12:23

Проблемы с показом температуры

Сообщение Evg3559 »

Здравствуйте.
Такая ситуация. Показываем часы и под часами сделали инфо о погоде. Просто цифры, температура. Проблема в том, что процесс зависает. Начну всё с начала.
Была версия программы и плагинов где-то 5.7.3. Работало через чур плохо. Информацию о погоде брали из интернета, с яндекса. Могло зависнуть через час, максимум в течении суток. Поработало неделю и выключили. Через пол года администратор поумнел, и решил сделать собственный датчик температуры. Данные запрашиваются уже локально, по адресу 192.168.0.177. Зависания те же. Были даже наложения обновлений температуры друг на друга.
За это время вышли обновления. Установил ForwardT Software и Plugins 5.7.990. Процесс стал стабильнее. Самое долгое работало месяц без остановки. Но, всё равно, часто виснет либо через 2 минуты, либо "еще недельку поработает". Как повезёт. Пробовали на OnAir и OnAir2.

Как идёт запрос. Создан проект FDImage. В проекте через файл WebTracker запрашиваются данные каждые 3 секунды, делал и 10 и 15. Дольше 20 не обновляется вообще. Сохраняется изображение с температурой. Далее в программе в проекте FDTitleDesigne обновляется и выводится в эфир с помощью OnAir. В какой-то момент цепочка виснет, tga файл не обновляется. В последние две недели очень часто. Перезапускаю по 10 раз за день. Погода обновляется рандомно, когда каждые установленное время, а когда и через 60 секунд...

Процесс перезапуска такой. В начале я пробовал просто перезагрузить титровальный объект в настройках программы. Не помогает, иногда выдает ошибку, и все титры отключаются. Значит сервис выключился. Либо закрываю в диспетчере задач процесс SLTitleRunTimeServer, находящийся в папке FDTitle. Титры отключаются. Тогда просто перезапускаю OnAir. Сейчас я просто перезапускаю OnAir. Через браузер данные приходят моментально и корректные.

Сегодня случайно обнаружил. В момент зависания, я открыл проект FDImage и попробовал подготовить проект. Зависло, сработал таймаут. Не получилось. Сейчас попробовал "подготовить проект", подготовилось, нажал "Старт". На экран стало выводится две температуры поочереди, корректная и зависшая.
Помогите найти какое-то решение.
Людмила
Сообщения: 1403
Зарегистрирован: 10 сен 2004 12:09

Сообщение Людмила »

Версии программного обеспечения, про которые Вы пишите, не отличаются особой устойчивостью, и являются устаревшими.
Сейчас уже актуальны версии более новые, чем выпуск 5.8.0
https://forwardsl.blogspot.ru/
Так что хорошо бы обновить программное обеспечение.
Если есть желание, пришлите, пожалуйста, информацию о настройках, собранную в программе
C:\Program Files\ForwardT Software\Tools\SaveInfo\SLSaveInfo.exe
в отдел технической поддержки
forward@softlab.tv
forward@sl.iae.nsk.su
forward@softlab-nsk.com
со ссылкой на это сообщение в форуме.
Хотя, к работе WebTracker это отношения не имеет, старая или новая версия. Потому что это приложение устаревшее и этот проект уже не развивается, ошибки не исправляются.
Если хотите продолжить с ним работать, то наиболее устойчивый вариант - это когда приложение работает всё время, сохраняя информацию в текстовый файл, а ImageUpdater уже забирает информацию из этого текстового файла через задание типа Text (не Web).
На смену этому приложению для получения информации с сайтов Gismeteo и Yandex в своё время было разработано приложение
C:\Program Files\ForwardT Software\Tools\SLWeatherTracker\SLWeatherTracker.exe
http://www.softlab.tv/rus/forward/docs/ ... her_tr.pdf
Или более новое - через QML- информеры от сервиса Яндекс.Погода
C:\Program Files\ForwardT Software\QT\SLYandexWeatherDesigner.exe
http://www.softlab.tv/rus/forward/docs/ ... eather.pdf
Evg3559
Сообщения: 7
Зарегистрирован: 13 ноя 2015 12:23

Сообщение Evg3559 »

В ближайшее время обновим до 5.8
Предложенная схема (сначала в текст, потом из текста в картинку) отработала недолго. Она работала с яндексом. Как правило, через час-два работы выходила какая-нибудь ошибка Explorer или ошибка скрипта страницы или еще что-нибудь, или просто зависала, и не обновлялось. На QML информеры нужна лицензия. Бесплатно, если только будет висеть логотип яндекса. Нас не устраивает. Поэтому вывесили датчик просто за окно и через web его опрашиваем.

А могу ли я в SLWeatherTracker добавить свой сайт? Там только гисметео и яндекс (раньше был).
Людмила
Сообщения: 1403
Зарегистрирован: 10 сен 2004 12:09

Сообщение Людмила »

Нет, свой добавить не получится
Даниленко Сергей
Сообщения: 7091
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

Сообщение Даниленко Сергей »

На QML информеры нужна лицензия. Бесплатно, если только будет висеть логотип яндекса.
А если логотипа нет, то Яндекс просит денег? Или о какой лицензии речь идёт? Мы, по крайней мере, никакой лицензии не требуем. Кому деньги платить?
Нас не устраивает. Поэтому вывесили датчик просто за окно и через web его опрашиваем.
Что за датчик? Модель, описание?
Даниленко Сергей
Сообщения: 7091
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

Сообщение Даниленко Сергей »

Предложенная схема (сначала в текст, потом из текста в картинку) отработала недолго.


А почему вашему админу не написать приладу, которая пишет температуру с вашего датчика в текстовый файл по формату задания Text для программы ImageUpdater?

И можно узнать о каких зависаниях FDTitle идёт речь? Программа вообще в процессе вывода информации в эфир никак не участвует.
Evg3559
Сообщения: 7
Зарегистрирован: 13 ноя 2015 12:23

Сообщение Evg3559 »

Даниленко Сергей писал(а): А если логотипа нет, то Яндекс просит денег? Или о какой лицензии речь идёт? Мы, по крайней мере, никакой лицензии не требуем. Кому деньги платить?
Да, стоимость не уточняли, но общались с ними. Нужно было договор подписывать, и тд. и тп. Они дадут ключ на использование.
У нас не тот бюджет. Да и яндекс частенько врёт. Иногда бывает аж на целых 10 градусов
Что за датчик? Модель, описание?
Обычный ардуинка.
А почему вашему админу не написать приладу, которая пишет температуру с вашего датчика в текстовый файл по формату задания Text для программы ImageUpdater? И можно узнать о каких зависаниях FDTitle идёт речь? Программа вообще в процессе вывода информации в эфир никак не участвует.
Админу нужно еще научиться писать это.
На счёт зависаний, если б я знал. В первом посту всё написано что и как. Простая перезагрузка титровального объекта в настройках OnAir не помогает. Только закрытие программы. Попробуем с новой версией, может там изменится что-то.
vd
Сообщения: 2311
Зарегистрирован: 05 мар 2003 19:21

Сообщение vd »

От датчика на Arduino как данные получаете? Через текстовый файл? С ним в комплекте какая-то программа для этого есть?
Игорь Таранцев
Сообщения: 493
Зарегистрирован: 04 янв 2004 12:45
Откуда: СофтЛаб-НСК

Сообщение Игорь Таранцев »

Evg3559 писал(а):Да, стоимость не уточняли, но общались с ними. Нужно было договор подписывать, и тд. и тп. Они дадут ключ на использование.
У нас не тот бюджет.
Конечно, в первую очередь хочется услышать комментарии тех, кто уже подписал договор с Яндексом, но для меня очевидно, почему Яндекс хочет подписать договор, хоть и бесплатный. То есть да, Вы должны подписать договор и нет, этот договор не требует обязательной оплаты за использование информации о погоде, поэтому это решение подходит для любого бюджета.
По-моему ключевой вопрос здесь - защита от DOS-атаки. Классическая DOS-атака - это часто повторяющиеся обращения с очень многих адресов. С этой точки зрения поведение титровального элемена, показывающего погоду, точно соответствует поведению кого-то, проводящего DOS-атаку. Нормальный пользователь один раз посмотрел погоду и все. А здесь несколько раз в минуту в течении многих-многих часов идут одни и те же запросы. Скорее всего анализаторы трафика у Яндекса (или GisMeteo, или любого другого погодного сайта) просто отключат через некоторое время конкретный IP-адрес. Вот и получаем в итоге не работающий через пару часов "получатель погоды". И в общем-то не важно, каким способом получается погода, в любом случае данные заблокируют. И только после перезапуска (когда уже прошло какое-то время, или когда что-то изменилось, чтобы защита посчитала, что уже другой пользователь обратился за информацией) сайт вновь начинает отдавать данные. Насколько я понимаю, договор гарантирует, что с указанного IP-адреса не будет осуществлятся DOS-атак, поэтому его вносят в белый список и данные с яндекса получаются всегда.
Ну и еще одно замечание про логотип Яндекса. Показывая логотип яндекса Вы с одной стороны рекламируете Яндекс и, соответственно, не платите ему за данные о погоде (обычно любые данные о погоде платные), а с другой стороны снимаете с себя ответственность за данные - это не Ваши данные, а данные Яндекса. То есть в случае судебных претензий за неверные данные о погоде Вы всегда сможете переложить ответственность на Яндекс - у Вас же есть официальный договор.
Даниленко Сергей
Сообщения: 7091
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

Сообщение Даниленко Сергей »

Простая перезагрузка титровального объекта в настройках OnAir не помогает. Только закрытие программы. Попробуем с новой версией, может там изменится что-то.
Титры тут ни причём. Абсолютно ни причём. Проблема, в том, что задание типа WEB, которое вы используете в ImageUpdater перестаёт отдавать свежие значения. Это может происходить по многим причинам. В том числе и по описанным выше.

Либо переходите на Яндекс.Погода - там не нужно ничего платить.
Либо ваш админ учится писать данные с датчика в текстовый файл.
radiokot
Сообщения: 117
Зарегистрирован: 29 июн 2015 03:11
Откуда: Казань
Контактная информация:

Сообщение radiokot »

Не мог проидти мимо любимой темы про погоду.
Вы писали что: и под часами сделали инфо о погоде. Просто цифры, температура
Зачем Вам ImageUpdater ?
SLWeatherTracker прекрасно получает погоду с ГисМетео, ставите интервал обновления 10 минут ( не чаще, это важно !)
SLWeatherTracker пишет значения в текстовый фаил, правда вида:
city: Казань
cloudiness: Пасмурно, поземок
temp: -3°C
wspeed: 5м/с
wdirect: ЮВ
humidity: 90%
water: 3°C
press: 757мм рт. ст.
image:

кроме погоды там есть еще куча ненужных значений, вам же нужна только температура.
Качаете Delphi, вешайте на форму timer1, ставите interval 120000 (примерно 2 минуты), вещайте на событие TForm1.Timer1Timer
код
var
p:string;
s,a:string;
t,u:textfile;
b,i,j:integer;
Begin
assignfile(t,'C:\titr\pogoda.txt');
reset(t);
assignfile(u,'C:\titr\pogoda1.txt');
rewrite(u);
readln(t,s);
readln(t,s);
readln(t,s);
b:=length(s);
a:='';
j:=0;
//Delay(100);
i:=12;
repeat
i:=i+2;
a:=a+s;
until i>=b;
for i:=1 to length(a)-2 do
write(u,a);


//
//AssignFile(u, 'C:\titr\pogoda1.txt');
//Reset(u);

//Readln(u, p);
Label3.Caption:=a;
//CloseFile(f);



closefile(t);
closefile(u);
end;

компилируете программу в exe, запускаете вместе с SLWeatherTracker
Где C:\titr\pogoda.txt - исходный фаил от SLWeatherTracker
а C:\titr\pogoda1.txt - отсортированный фаил с температурой, который можно скормить ТитлДизаинеру.
Данное решение работает более года и зарекомендовало себя только с наилучшей стороны.
Даниленко Сергей
Сообщения: 7091
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

Сообщение Даниленко Сергей »

Следует отметить, что такое решение давным давно работает в программе ImageUpdater через задание типа Weather.
Профит - не нужно ничего самому программировать.
Качаете Delphi, вешайте на форму timer1,...
О боже! Как всё просто!
radiokot
Сообщения: 117
Зарегистрирован: 29 июн 2015 03:11
Откуда: Казань
Контактная информация:

Сообщение radiokot »

Следует отметить, что такое решение давным давно работает в программе ImageUpdater через задание типа Weather.
Да вроде как человек жаловался на нестабильность данного решения что:
Самое долгое работало месяц без остановки. Но, всё равно, часто виснет либо через 2 минуты, либо "еще недельку поработает". Как повезёт.
Работало через чур плохо. Информацию о погоде брали из интернета, с яндекса. Могло зависнуть через час, максимум в течении суток.
И по Вашему, бросить на форму компоненту, и прописать в ее обработчике, вернее даже скопировать и вставить код, убрав строку с Label3 трудно?
Даниленко Сергей
Сообщения: 7091
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

Сообщение Даниленко Сергей »

Да вроде как человек жаловался на нестабильность данного решения что:
Вы не совсем уловили на что именно человек жаловался.

Кроме того, есть такой модуль C:\Program Files\Common Files\SoftLab-Nsk\SLWeatherHTML.dll

Собственно именно он используется для парсинга. Через него данные и SLWeatherTracker, и ImageUpdater забирают.

Так что и вы, и мы ходим через одну и ту же дверь.
И по Вашему, бросить на форму компоненту, и прописать в ее обработчике, вернее даже скопировать и вставить код, убрав строку с Label3 трудно?
Представляете - трудно! Человеку, который не знаком с программированием -трудно.

По коду вашему:
1)Нет проверки существуют файлы или нет.
2)Нет вообще никаких проверок
3)Читаем только три строки в железобетонной уверенности, что температура там будет всегда
4)120000 мс - это не примерно 2 минуты, а ровно 2 минуты. Хотя выше вы писали про какие-то магические 10 минут
5)Нет обработки ситуации, когда файл из SLWeatherTracker недоступен. Вы ведь не знаете с какими правами его открывают для записи.

И т.д. и т.п


Ну и размещать данные на диске С: - это не камильфо.
vd
Сообщения: 2311
Зарегистрирован: 05 мар 2003 19:21

Сообщение vd »

В подпапках диска C: можно размещать файлы, в этом нет никакого криминала. В корневой папке - да, не стоит.
Система может не дать программе ни писать в такой файл, ни читать из него.
Ответить