Список форумов » Технический форум » Видеонаблюдение » Программные решения

 

Начать новую тему Ответить на тему
Автор Сообщение
 Заголовок сообщения: Re: Watchdog для сервера.
СообщениеДобавлено: 01 мар 2010, 14:21
  


Зарегистрирован: 19 ноя 2009, 12:40
Сообщения: 124
THK писал(а):
Цитата:
в плавном уменьшении
:shok: А почему-бы и нет, если есть такая неабходимость!

Да наверное нет в этом необходимости, после начального старта всю работу с фанами на "старшего брата" повешу. А уж он пусть плавно или резко меняет. Или по расписанию, типа ночной режим, фаны на необходимый минимум, даже немного в "ущерб" температуре, но на благо тишине и сну.

THK писал(а):
Цитата:
0x01 0x05 - сброс предыдущего срабатывания собаки (с удалением этой инфо из еепром)
Зачем хранить эту инфу? Для статистики? Что произойдет, если не сбрасывать преведущую сработку?

Изначально задумка была такая. Предположим сервер "завис". Собака его перезагрузила и установила флаг. И вот дальше серевер загрузился, считывает состояние собаки и узнает, что собака его перезагрузила, об этом делается запись в серверных логах, и "сбрасывает" флаг сработки собаки после его принятия к сведению. В принципе, сервер и так может определить нештатное выключение (перезагрузку), но мне показалось, что с инфо. "собаки" будет понятнее и надежнее. При этом девайс будет подавать еще и звуковые и световые сигналы после сработки собаки (пока не сброситься флаг, ведь сервер мог и "не подняться" из-за сбоя на диске), для привлечения внимания админа (что бы тот разобрался с причинами и последствиями). Хотя эти сигналы может подавать и сервер (или на почту отправить репорт) уже после успешной загрузки и сброса флага. В общем что-то вроде этого. Надо еще обсудить и подумать, надо ли, и если да, то в каком виде.
THK писал(а):
Цитата:
Так что с фанами почти разобрались.
Что на очереди? :biggrin:

Температура. Первая проблема, возможность автоопределения подключенных датчиков. Обмен по 1wire имеет низкий приоритет по сравнению с usb. В итоге, любое обращение юсб с вероятностью в 99% "собъет" обмен по 1вайр. И 100% мы не сможем сказать - нет датчика или это сбой обмена. Т.е. автоопределение наличия датчиков температуры можно реализовать ДО запуска юсб (по импульсу презенс в ответ на ресет). Таким образом, отпадает необходимость в настройке наличия-отсутствия датчика на канале. Теперь вопрос, а нужно ли "на горячую" отключать и подключать датчики? Логика подсказывает, что не особо нужно. Да и если понадобиться, после переподключения датчиков никто не мешает нажать кнопочку "ресет" девайса. Кстати демон девайса на сервере должен уметь определять "ресет" девайса и по-новой закидывать в него настройки собаки и т.д. (такая ситуация возможна "благодаря" внутренней собаке девайса и хоть и редким, но возможным сбоям обмена по юсб). Так что вопрос, нужно ли автоопределение датчиков при старте устройства, и нужна ли команда настройки наличия этих самых датчиков? Или ограничимся только интервалом опроса температуры.
Еще одна незначительная проблемы, при сбое обмена 1вайр, температура считывается не правильно. Контрольная сумма не бьет. И идет повторное считывание. Так вот если в этот момент читать состояние девайса, то вместо неправильной температуры, надо выдать признак ошибки. Что бы демон позже (ну хотябы через 1-2 сек, что бы успела успешно перепрочитаться температура) прочитал состояние еще раз (если ему конечно, в данный момент температура была нужна).
Еще вопрос, точность измерения? Датчик выдает 0.5 градуса. Да еще и отритцательные температуры и результат 2 байта. может ограничим диапозон от 0 до 100 градусов и точность в 1 градус - результат 1байт. А признак ошибки тогда значение 254 градуса и признак отсутствия датчика 255 градусов?


          Вернуться к началу  
 
Не в сети
 Заголовок сообщения: Re: Watchdog для сервера.
СообщениеДобавлено: 01 мар 2010, 18:03
  

Аватара пользователя

Зарегистрирован: 21 апр 2009, 23:28
Сообщения: 285
Откуда: г. Серпухов, МО
Цитата:
о мне показалось, что с инфо. "собаки" будет понятнее и надежнее. При этом девайс будет подавать еще и звуковые и световые сигналы после сработки собаки (пока не сброситься флаг, ведь сервер мог и "не подняться" из-за сбоя на диске), для привлечения внимания админа (что бы тот разобрался с причинами и последствиями).
Хорошая мысль. :good:
Цитата:
Теперь вопрос, а нужно ли "на горячую" отключать и подключать датчики? Логика подсказывает, что не особо нужно.
Мне кажется, что это лишнее.
Цитата:
Кстати демон девайса на сервере должен уметь определять "ресет" девайса и по-новой закидывать в него настройки собаки и т.д.
Т.е. параметры собаки не хранятся во flash и при включении принимают значения по умолчанию?
Цитата:
работа с датчиками температуры = 0x03
0x03 0x01 xx - время (0.256мс) повторного измерения температуры, т.е. макс = 65сек если 0 - то одноразовое измерение
0x03 0x02 xx xx xx - наличие подключенных датчиков 1/0 (без автоопределения)
0x03 0x03 xx - звук при опросе 1/0
На мой взгляд этого достаточно. Только хочется уточнить "время повторного измерения температуры" - это периодичность с которой девайс будет опрашивать датчики?
Цитата:
может ограничим диапозон от 0 до 100 градусов и точность в 1 градус - результат 1байт. А признак ошибки тогда значение 254 градуса и признак отсутствия датчика 255 градусов?
Можно сделать "смещенную шкалу", т.е.0 это -10 градусов, 110 это 100 градусов и на всякий случай расширить до 120 градусов (считанное значение будет 130).


          Вернуться к началу  
 
 Заголовок сообщения: Re: Watchdog для сервера.
СообщениеДобавлено: 01 мар 2010, 18:26
  


Зарегистрирован: 19 ноя 2009, 12:40
Сообщения: 124
THK писал(а):
Цитата:
Кстати демон девайса на сервере должен уметь определять "ресет" девайса и по-новой закидывать в него настройки собаки и т.д.
Т.е. параметры собаки не хранятся во flash и при включении принимают значения по умолчанию?

В том смысле, что если девайс "резетнется" (внутренняя собака сработает или кнопку ресета на нем нажмут), то он из еепрома достает значения фанов (и запускает их), значения настроек датчиков и т.д. НО! собака по умолчанию не запускается. И демон при очередном обмене инфой "увидит", что собака стоит в "0" (отключена). А значит надо ее настроить по-новой. Т.к. собаку по умолчанию очень "опасно" настраивать (ИМХО). Мало ли, в биосе что выскочит, долгая проверка дисков после сбоя (пару терабайт) и прочее. Т.е. собаку должен включать ТОЛЬКО спец. демон. Вот он и должен почуять, что с собакой произошел маленький неприятность, и ее надо поднастроить.
THK писал(а):
Цитата:
работа с датчиками температуры = 0x03
0x03 0x01 xx - время (0.256мс) повторного измерения температуры, т.е. макс = 65сек если 0 - то одноразовое измерение
Только хочется уточнить "время повторного измерения температуры" - это периодичность с которой девайс будет опрашивать датчики?

Почти. т.е. закинув к примеру 10 получим интервал между успешным считыванием значения и командой повторного измерения 2.56 сек. Причем жестко задан интервал между командой "на преобразование" и "считывание" = 1 сек (что бы все успело измериться, раньше все равно не считаем верно). Поэтому в случае беспомехового считывания интервал составит 2.56+1=3.56сек ну то есть с таким периодом. Т.е. если интервал выставить в 0, измерения прекратяться. а если в 1 то получим период в 0.256+1=1.256 сек. (это и есть самый малый период измерения). Хотя никто не мешает эти параметры забить жестко в программу. С минимальным интервалом. И пусть себе опрашивает. Если датчиков нет, то при автоопределении при старте их и не найдет, и опроса не будет. Короче, полный автомат. :smile:
THK писал(а):
Можно сделать "смещенную шкалу", т.е.0 это -10 градусов, 110 это 100 градусов и на всякий случай расширить до 120 градусов (считанное значение будет 130).

Хороший вариант! :good: Диапозон измерения датчика -55 +125. Тогда "шкалу" можно "растянуть" от 0 (-55) до 180 (+125). Вот только зачем нам "-"? Не, ну у моего знакомого пару серверов работало когда-то в "жутких" условиях (стены = железо, гидро и тепло изоляция, на улице -25), но даже у них внутри был "+". Но если сместить диапозон, то никой проблемы работать до -55 нет.


          Вернуться к началу  
 
Не в сети
 Заголовок сообщения: Re: Watchdog для сервера.
СообщениеДобавлено: 02 мар 2010, 02:10
  

Аватара пользователя

Зарегистрирован: 21 апр 2009, 23:28
Сообщения: 285
Откуда: г. Серпухов, МО
Цитата:
Т.к. собаку по умолчанию очень "опасно" настраивать (ИМХО)
Согласен.
Цитата:
Поэтому в случае беспомехового считывания интервал составит 2.56+1=3.56сек ну то есть с таким периодом. Т.е. если интервал выставить в 0, измерения прекратяться. а если в 1 то получим период в 0.256+1=1.256 сек.
ОК! Понял.
Цитата:
Диапозон измерения датчика -55 +125. Тогда "шкалу" можно "растянуть" от 0 (-55) до 180 (+125). Вот только зачем нам "-"? Не, ну у моего знакомого пару серверов работало когда-то в "жутких" условиях (стены = железо, гидро и тепло изоляция, на улице -25), но даже у них внутри был "+". Но если сместить диапозон, то никой проблемы работать до -55 нет.
Сходу пришла такая идея, вот и написал. У меня тоже условия для сервера не сахар, но температура ниже +4 градусов в помещении не опускалась. Вообще для измерения температуры я использую пакет digitemp + DS1820 на COM-порт. :smile:


          Вернуться к началу  
 
 Заголовок сообщения: Re: Watchdog для сервера.
СообщениеДобавлено: 02 мар 2010, 14:39
  


Зарегистрирован: 19 ноя 2009, 12:40
Сообщения: 124
THK писал(а):
Вообще для измерения температуры я использую пакет digitemp + DS1820 на COM-порт. :smile:

Хорошо тебе. А у мен все ком-порты заняты. Вот и подумалось, заюзать девайс еще и на измерение температуры. Да и в принципе, при небольшом изменении прошивки, можно данный девайс использовать не только с компом в качестве собаки, но и где либо еще только как регулятор фанов. Т.е. приделать зависимость оборотов фанов от датчиков и все это в автономном режиме (без наличия "старшего"). Но это уже расточительство.

Так, в принципе почти со всем разобрались.
1. обмен по rs232 с упсом - по желанию. будет "жестко" заточен на команду ипона, т.к. вряд ли он вообще кому еще нужен. Т.е. про него в принципе можно и не упоминать или сделать две версии прошивки.
2. По фанам: последовательно плавный старт от пускового минимума до значения по умолчанию с заданным шагом/сек (все в еепром)
3. Датчики температуры: при старте автоопределение, затем по настройке с "старшего" (или из еепром) интервал опроса.
4. С "собачим" резетом все понятно - при сработке собаки, даем импульс в 0.2-0.5 сек на "ресет" компа.
5. С "собачим" павером - при сработке собаки, "жмем" кнопку "павер" пока не пропадет "внешнее" напряжение (выключили комп, при этом девайс еще должен быть подключен к "ждущему" питанию). отпускаем кнопку. ждем 15-30 сек (переходные процессы и т.д.). Затем даем импульс в 0.2-0.5 сек.
6. Собака активируется настройкой интервала срабоки (макс = 256 сек, достаточно ли?). Деактивируется установкой интервала в 0.
7. Выбрать для собаки действие при сработке - резет или павер_офф+павер_он. По умолчанию - ничего не делает, даже если активирована.
8. Есть команда сохранения текущих настроек (фаны - мин старт, текущее значение, шаг/сек, время опроса темпер.) Для простоты, все это сохраняется одной командой. Т.е. выставил-настроил и дал команду на запись.
Что еще забыл?


          Вернуться к началу  
 
Не в сети
 Заголовок сообщения: Re: Watchdog для сервера.
СообщениеДобавлено: 02 мар 2010, 20:05
  

Аватара пользователя

Зарегистрирован: 21 апр 2009, 23:28
Сообщения: 285
Откуда: г. Серпухов, МО
Цитата:
Хорошо тебе. А у мен все ком-порты заняты.
:biggrin:
Цитата:
Да и в принципе, при небольшом изменении прошивки, можно данный девайс использовать не только с компом в качестве собаки, но и где либо еще только как регулятор фанов. Т.е. приделать зависимость оборотов фанов от датчиков и все это в автономном режиме (без наличия "старшего"). Но это уже расточительство.
Какое-же это расточительство? Нормальное решение.
Цитата:
2. По фанам: последовательно плавный старт от пускового минимума до значения по умолчанию с заданным шагом/сек (все в еепром)
Немного дикая мысль: Ты упоминал, что фаны запускаются при ~40% и продолжают работать при снижении мощности до ~25%. Если пусковой минимум = 40%, а значение по умолчанию = 25% фаны снизят обороты?
Цитата:
Что еще забыл?
Вроде все на месте. :biggrin: Пора проводить полевые испытания. :smile:

PS Супервизор питания встроен в МК? Если нет хорошо-бы запаять внешний...


          Вернуться к началу  
 
 Заголовок сообщения: Re: Watchdog для сервера.
СообщениеДобавлено: 02 мар 2010, 21:06
  


Зарегистрирован: 19 ноя 2009, 12:40
Сообщения: 124
THK писал(а):
Какое-же это расточительство? Нормальное решение.

Да я "жадный" на ресурсы МК и из-за этого уже не раз попадал на переделки проекта. :blush: А расточительство, в том, что много откусывает реализация юсб протокола. Хотя если сделать через юсб настройку различных коэффициентов в управляющих кривых, тогда и нормально. К примеру в каком-нибудь мощном усилке поставить. И тут понадобилось сделать "крутизну" управляющей кривой круче или пороги поменять, подключаешь по юсб к компу, меняешь настройки и вперед, работать.
THK писал(а):
Немного дикая мысль: Ты упоминал, что фаны запускаются при ~40% и продолжают работать при снижении мощности до ~25%. Если пусковой минимум = 40%, а значение по умолчанию = 25% фаны снизят обороты?

Цифры около 30 и 20%. Есть два варианта:
1. Если сделать переменную шага "знаковую" и закинуть туда отритцательное значение, то будет так как ты сказал, снизяться. (правда чуть в программе подправить надо)
2. Если шаг расчитывать на основе = "по умолчанию" - "минимальное" / 15 сек. То опять таки шаг будет отритцательный. И обороты пойдут вниз.
Вот только толку от таких оборотов почти совсем нет. Воздушный поток очень маленький, скорее всего его даже и нет. (померять нечем, бросил курить, так бы дунул и посмотрел)
THK писал(а):
Вроде все на месте. :biggrin: Пора проводить полевые испытания. :smile:

Уже идут! Без реального сброса от собаки конечно. :biggrin: только иммитация. Начальные настройки из скриптика закидываю. А демона иммитирует или cron или скриптик на перле (цикл со слипом крутится и посылает обнуление собаке). Работает собака! Вентиляторы крутятся, температура измеряется.
THK писал(а):
PS Супервизор питания встроен в МК? Если нет хорошо-бы запаять внешний...

Встроенный есть, но говоря откровенно, до нормального внешнего по своим х-кам не дотягивает, но и его вполне хватает. В принципе, тут существенной "просадки" напруги вроде не ожидается, а если и случиться из-за чего-то, то скорее уж встроенная защита БП сработает.


          Вернуться к началу  
 
Не в сети
 Заголовок сообщения: Re: Watchdog для сервера.
СообщениеДобавлено: 03 мар 2010, 01:39
  

Аватара пользователя

Зарегистрирован: 21 апр 2009, 23:28
Сообщения: 285
Откуда: г. Серпухов, МО
Цитата:
Работает собака!
:good: :biggrin:

PS Можно травить плату? Прошивка будет?


          Вернуться к началу  
 
 Заголовок сообщения: Re: Watchdog для сервера.
СообщениеДобавлено: 03 мар 2010, 10:30
  


Зарегистрирован: 19 ноя 2009, 12:40
Сообщения: 124
THK писал(а):
PS Можно травить плату? Прошивка будет?

Уже есть! (что бы не быть голословным, прилагаю). причем и исходники выложу на общий доступ ("причешу" их немного, а то уж совсем урывками писал, много лишнего). Исходники под avr-gcc. Если Makefile подкрутить, то и на Winavr соберется. Так что можно будет и здесь совместно поработать над улучшениями.

На счет плат, была у меня вначале задумка вытравить и запаять несколько тестовых образцов, да и разослать тебе, Владимиру и еще кому, кто участие принимает. Да вот со временем туго. (почти как в анекдоте, в письме "хотел послать тебе 100 рублей, но уже заклеил конверт"). Так что если есть время и возможность, трави сам. Или может если получится, я постараюсь в течении месяца сделать пару платок. (да еще как назло atmegи закончились, но я уже присмотрел парочку своих старых девайсов, с которых их можно "вырвать")
Программатор там под "стандартный" разъем.


У вас нет доступа для просмотра вложений в этом сообщении.


          Вернуться к началу  
 
Не в сети
 Заголовок сообщения: Re: Watchdog для сервера.
СообщениеДобавлено: 03 мар 2010, 12:45
  

Аватара пользователя

Зарегистрирован: 21 апр 2009, 23:28
Сообщения: 285
Откуда: г. Серпухов, МО
Цитата:
Исходники под avr-gcc.
Читал немного по теме (avr-gcc), вроде все понятно, но если можно с этого места поподробнее. :blush:
Цитата:
Так что если есть время и возможность, трави сам.
Не проблема! Это для нас раз утюгом провести. :biggrin:
Цитата:
Программатор там под "стандартный" разъем.
Это провода с LPT порта?
Есть в наличии самосборный аналог STK200. Делал в свое время для 8051 и даже свой софт под Win писал. :shok:


          Вернуться к началу  
 
 
Начать новую тему Ответить на тему



Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 1


Показать сообщения за:  Поле сортировки  
Перейти:  

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения
cron


Яндекс цитирования Словенск