18 апреля 2013 г.

Эээ-клерк-ЮСБ

Сказал шеф на работе, что надо в серверной мониторить влажность и температуру. Повлиять на влажность мы никак не можем, но наблюдать должны. Температурой управляют в большую сторону - сами серверы; в меньшую - два кондиционера (основной и резервный). В стандарте требований и рекомендаций к серверным помещениям написано в каких пределах должны быть темпераутра с влажностью. Точнее там написано что в серверной надо поддерживать влажность 40-50%, но оборудования для этого мы не имеем, то хотя бы будем мониторить :) И мониторить надо даже при отсутствии электричества.
В общем беглый поиск в интернете выдал устройство под названием EClerk-USB-RHT. Поделка Новосибирского НПК «Рэлсиб». Представляет из себя корпус похожий на флешку. Это устройство может в реальном времени показывать температуру и влажность измеряемые датчиком который находится тут же на этой "флешке". Весь корпус такой гламурный - прозрачный. Видно все потроха.

Внешний вид

Когда я вскрыл упаковку и подключил регистратор к компу и запустил программу - немного офигел от того что увидел. Температура была как буд-то -13С, а на месте графика влажности отображались показания датчика с названием "Температура 2". И тоже с очень странными значениями - от +40 до +60. Подумал что в конторе где покупали устройство - подсунули другой регистратор. Перепроверил маркировку на корпусе и сайте производителя. Все совпадало. Регистратор RHT - меряет именно температуру и влажность. Решил написать тех.поддержке разработчика. В письме приложил скриншот программы с показаниями и описал вкратце суть. Ответили относительно быстро - на следующий день. Оказывается, каким-то непонятным разработчкиу образом это устройство было настроено на работу. Прислали секретный файлик (имя которого совпадало с серийным номером регистратора), который надо было положить в папку с программой мониторинга и запустив ее в настройках изменить тип регистратора на правильный.

Этот регистратор задуман производителем как некое автономное устройство (в корпусе есть источник питания - батарейка на 3В), которое можно на несколько дней оставить без подключения к USB для сбора показаний, и позже загрузить их на компьютер для анализа. Еще оно может показывать в реальном времени то, что измеряет.
На корпусе есть кнопка и двухцветный индикатор. Описываю алгоритм их работы:
  • индикатор мигает красынм или зеленым.
  • если индикатор не мигает вообще - регистратор ничего не регистрирует и какбэ выключен.
  • если индиктор мигает одной зеленой вспышкой примерно раз в 5 секунд - он работает в реальном режиме времени и ведет запись в свою внутреннюю память результатов измерений
  • ну а если индикатор мигает два раза подряд - такой режим зовется Wait - и означает что надо нажать кнопку чтоб начать регистрировать или он будет регистрировать начиная с какого-то времени, которое можно установить в программе настройки.
  • кстати, если нажать кнопку и подержать - лампочка мигнет красным и регистратор отключится. 
  • при повторном включении - все записанные показания уничтожаются.
Измерительный датчик закрыт пластиковой крышкой с дырочками. Крышка держится хорошо и сама не слетает. Пара фоток со снятой крышкой:
Устройство в серверной:

В комплекте была вот такая штуковина:
Можно пригвоздить ее к стене и вставлять в нее регистратор для автономных измерений в поле. Но нам такой вариант вообще без надобности, т.к. предполагалось использовать регистратор в реальном времени, подключенным к компу. Однако тут нас ждал облом. В том плане что утилита не способна выдавать результаты по запросу из командной строки. История в трех актах.
Акт первый - тестирование
Тестировал я программу сначала на своем рабочем ПК с Win7x64. После примерно 30 минут мониторинга в реальном времени, рисовалка графика на экране наплодила стотыщьпитсот окошек с сообщением об ошибке и по этой причине была прибита из диспетчера задач. Повторный запуск (и повтретий, и повчетвертый) показал устойчивость явления генерирования ошибок программой. Подключив в сервер с Win2008R2x64 эффект был немного другим, но смысл тот же самый: прога просто переставала реагировать и зависла.
Акт второй - попытка получить данные
Оказалось что у этой утилиты мониторинга (правильнее называть ее утилита сбора данных) нет параметров командной строки. Т.е. об автоматическом ее запуске с целью получить данные речи не идет. Можно только нажать несколько кнопок и получить файл отчета. Сначала "Считать" - чтобы загрузить записанные показания из регистратора в программу. Потом "Сохранить данные" или "Экспорт".
Основные параметры программы
Графики с показаниями датчика
Данные в табличном виде
Акт третий - заключительный
Написал в техподдержку письмо с просьбой уточнить есть ли какие параметры запуска или описание протокола обмена данных с железкой - подумал что плохо искал в документации. Мне ответили "Параметров запуска не имеется, иначе об этом бы упомянулось в руководстве. Протокол мы Вам предоставить, к сожалению, не можем". Ну круто! Приплыли... В следующем письме спросил можно ли дорабатать программу чтоб данные можно было получить запустив из командной строки. Ответили: "Текущая версия программы дорабатываться больше не будет. В ближайшие месяцы планируется выпуск новой линейки логгеров, соотв. будет написана другая программа. Рассмотрим этот вопрос". Вааще крутяк! Т.е. программа мониторя в реальном времени виснет, данные из нее не вытащишь кроме как руками. Кароче - вещь в себе!

Выводы
2тыр можно сказать что потрачены на знакомство с очередной моделью бизнеса по русски: из коробки устройство не работает (видимо плохой выходной контроль), заточено под узкую задачу - сбора данных в поле. При этом возможности расписаны достаточно привлекательные. Софт дорабатываться не планируется. За это же клиенты не платят напрямую. Лучше выпустить новый девайс - еще круче предыдущего и продавать его как некое ноу-хау за б0льшие деньги.

В итоге работа программы в реальном времени представлялась как то так:
А получилось примерно такое впечатление:

Пока оставил этот регистратор. Будем мониторить состояние по факту. Буду искать OpenSource решения. Возможно получится разобраться в протоколе работы программы...