Мониторинг параметров пк на pic

Мониторинг параметров ПК на PIC

Данный проект представляет собой USB-устройство с LCD-дисплеем, на котором отображаются параметры компьютера в реальном времени.

Прошивка PIC-контроллера: Прошивка использует USB стек микроконтроллеров. Файлы, расположенные в USB папке, взяты из библиотеки “Microchip Libraries of Applications”. Я использовал версию v2012-08-22 этой библиотеки. Файлы main.c, usb_descriptors.c, и usb_config.h были сформированы после “Device – HID – Custom Demos” файлов. Микропрограммное обеспечение обрабатывает команды в функции ProcessIO function в коде main.c. Прошивка PIC поддерживает следующие команды, передаваемые через USB HID:

0x10 – Очистить дисплей
0x11 – Перейти на строку 1, распечатать строковый параметр
0x12 – Перейти на строку 2, распечатать строковый параметр
0x13 – Перейти на строку 3, распечатать строковый параметр
0x14 – Перейти на строку 4, распечатать строковый параметр
0x20 – Выключить подсветку
0x21 – Включить подсветку
0x22 – Переключить подсветку
0x23 – Запросить состояние подсветки
0x30 – Обновить пользовательский параметр

Поддержка приложения ПК: приложение было написано на C#. Некоторые примечания. файл HIDInterface.cs представляет собой скрытую форму. Я создал это как форму, чтобы я мог получить указатель окна, используемого для вызовов функции RegisterDeviceNotification. Это позволяет мне определять, когда USB устройства подключены и не подключены. Это файл общего типа; специальные команды отображения находятся в файле HIDInterface_LcdDisplay.cs. Этот файл расширяет файл HIDInterface.cs и позволяет мне легко отправлять команды на дисплей. В LineOptionControl.cs вы найдете следующую функцию.

Эта функция определяет, как приложение отображает графы. Она требует целочисленный ввод в диапазоне 0 -> 100 и возвращает 20 символьную строку, представляющую целое число. Каждый символ представляет 5% графа. PIC интерпретирует символы 0x10 -> 0x15 в обычные символы, представляющие 0% -> 5%.

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

Командная строка: Если вы выберите значение “min” либо “minimize” для программы в качестве аргумента, то она запустится в свернутом виде в системный трей. Это удобно выполнить путем изменения ярлыка, как показано далее .

Список используемых радиоэлементов:

  • LCD дисплей:
    • 1x NHD-0440WH-ATFH-JT [P1] – Модель не критичная. У меня используется 4×40 управляемый 2x SPLC780D микросхемами.
    • 1x 20KΩ потенциометр [R3] – Подстройка контрастности дисплея
    • 1x NPN FET [Q1] – Модель не критичная, я использовал MPSA42_D26Z FET.
    • 1x 1KΩ резистор [R5] – Ограничитель тока затвора.
    • 1x 22Ω резистор [R6] – Токоограничительный резистор подсветки LCD.
  • Микроконтроллер и обвязка:
    • 1x PIC18F2550 [U2] – PIC18F с поддержкой USB
    • 1x 10KΩ резистор [R4] – Для подтяжки MCLR
    • 1x SPST кнопка [S1] – Сброс. SKRGARD010.
    • 1x 20MHz кварц [Y1] – Я использовал ABL-20.000MHZ-B2.
    • 2x 18pF конденсаторы [C1] [C2] – Для 20МГц кварцевого резонатора
    • 1x 220nF конденсатор [C3] – Фильтрующий конденсатор для 3.3В USB порта МК
    • 1x 6 штыревой разъем [P2] – для программирования ICSP
    • 1x USB кабель [P3] – Питание устройства

Мониторинг параметров ПК на PIC

Данный проект представляет собой USB-устройство с LCD-дисплеем, на котором отображаются параметры компьютера в реальном времени.

Прошивка PIC-контроллера: Прошивка использует USB стек микроконтроллеров. Файлы, расположенные в USB папке, взяты из библиотеки «Microchip Libraries of Applications». Я использовал версию v2012-08-22 этой библиотеки. Файлы main.c, usb_descriptors.c, и usb_config.h были сформированы после «Device — HID — Custom Demos» файлов. Микропрограммное обеспечение обрабатывает команды в функции ProcessIO function в коде main.c. Прошивка PIC поддерживает следующие команды, передаваемые через USB HID:

0x10 — Очистить дисплей
0x11 — Перейти на строку 1, распечатать строковый параметр
0x12 — Перейти на строку 2, распечатать строковый параметр
0x13 — Перейти на строку 3, распечатать строковый параметр
0x14 — Перейти на строку 4, распечатать строковый параметр
0x20 — Выключить подсветку
0x21 — Включить подсветку
0x22 — Переключить подсветку
0x23 — Запросить состояние подсветки
0x30 — Обновить пользовательский параметр

Поддержка приложения ПК: приложение было написано на C#. Некоторые примечания… файл HIDInterface.cs представляет собой скрытую форму. Я создал это как форму, чтобы я мог получить указатель окна, используемого для вызовов функции RegisterDeviceNotification. Это позволяет мне определять, когда USB устройства подключены и не подключены. Это файл общего типа; специальные команды отображения находятся в файле HIDInterface_LcdDisplay.cs. Этот файл расширяет файл HIDInterface.cs и позволяет мне легко отправлять команды на дисплей. В LineOptionControl.cs вы найдете следующую функцию…

public string graphText(int percent)
<
string returnStr = «»;
for (int i = 0; i 0x14)
if (i + 5 > percent)
<
returnStr += (char)(0x10 + (percent — i));
>
else
<
// Use a full block. (0x15)
returnStr += (char)0x15;
>
>

// Pad the graph out with empty blocks.
returnStr = returnStr.PadRight(20, (char)0x10);

Эта функция определяет, как приложение отображает графы. Она требует целочисленный ввод в диапазоне 0 -> 100 и возвращает 20 символьную строку, представляющую целое число. Каждый символ представляет 5% графа. PIC интерпретирует символы 0x10 -> 0x15 в обычные символы, представляющие 0% -> 5%.

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

Командная строка: Если вы выберите значение «min» либо «minimize» для программы в качестве аргумента, то она запустится в свернутом виде в системный трей. Это удобно выполнить путем изменения ярлыка, как показано далее …

«UCSD Application 1.0.exe» min

Example:
«C:UsersandrewDesktopUCSD Application 1.0.exe» min

Список используемых радиоэлементов:

  • LCD дисплей:
    • 1x NHD-0440WH-ATFH-JT [P1] — Модель не критичная. У меня используется 4×40 управляемый 2x SPLC780D микросхемами.
    • 1x 20KΩ потенциометр [R3] — Подстройка контрастности дисплея
    • 1x NPN FET [Q1] — Модель не критичная, я использовал MPSA42_D26Z FET.
    • 1x 1KΩ резистор [R5] — Ограничитель тока затвора.
    • 1x 22Ω резистор [R6] — Токоограничительный резистор подсветки LCD.
  • Микроконтроллер и обвязка:
    • 1x PIC18F2550 [U2] — PIC18F с поддержкой USB
    • 1x 10KΩ резистор [R4] — Для подтяжки MCLR
    • 1x SPST кнопка [S1] — Сброс. SKRGARD010.
    • 1x 20MHz кварц [Y1] — Я использовал ABL-20.000MHZ-B2.
    • 2x 18pF конденсаторы [C1] [C2] — Для 20МГц кварцевого резонатора
    • 1x 220nF конденсатор [C3] — Фильтрующий конденсатор для 3.3В USB порта МК
    • 1x 6 штыревой разъем [P2] — для программирования ICSP
    • 1x USB кабель [P3] — Питание устройства
Читайте также:  Как рассчитать мощность полотенцесушителя электрического?

Программное обеспечение ПК:

Список радиоэлементовОбозначение
Тип
Номинал
Количество
ПримечаниеМагазинМой блокнот

U2
МК PIC 8-битPIC18F25501
Q1
Биполярный транзисторMPSA421
С1, С2
Конденсатор18 пФ2
С3
Конденсатор220 нФ1
R3
Переменный резистор20 кОм1
R4
Резистор10 кОм1
R5
Резистор1 кОм1
R6
Резистор22 Oм1
Y1
Кварцевый резонатор20 МГц1
Р1
Разъем1
P2
Панелька6 штырьков1
P3
USB вход1
S1
Кнопка1

ИндикаторNHD-0440WH-ATFH-JT1
4×40Добавить все

Лучшие программы для мониторинга температуры видеокарты и процессора

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

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

В начале обзора познакомимся с узкоспециализированными программами, которые «заточены» под работу с одним компонентом компьютера – CPU (микропроцессор) или GPU (видеокарта). Все приложения в этой категории бесплатны.

Специализированный инструмент для мониторинга температуры и других показателей работы процессора для Windows 7-10 – программа следит за частотой работы «камня», отображает максимальные и минимальные температурные показатели, достигнутые с момента запуска.

«Фишка» утилиты в возможности назначения двух тестов – проверки состояния датчиков CPU и его быстродействия. Все функции расположены в едином окне. К достоинствам программы также отнесем ее портативность, она не требует инсталляции.

Еще один узконаправленный инструмент для определения температуры на ядрах процессора и нагрузки на CPU при работе других программ для компьютеров на базе Windows 7-10. Как и Real Temp, Core Temp обладает простым однооконным интерфейсом, в котором можно посмотреть сведения об установленном микропроцессоре, его частоту, энергоэффективность, текущие и граничные температурные показатели.

Особого внимания в Core Temp заслуживает интегрированная защита от перегрева. Пользователь может задать температурное значение, при достижении которого программа отправит уведомление либо же выключит или перезагрузит компьютер.

В интерфейсе утилиты есть даже ссылка на обновление драйверов BIOS, однако по факту Core Temp не загружает ПО самостоятельно, а отправляет линк, который ведет на сайт разработчика.

Мощный инструмент для анализа видеоадаптера, особенно пригодится в случае использования дискретной графической карты. Кроме отображения температуры устройства и скорости вращения кулера, GPU-Z показывает модель адаптера, определяет рабочие частоты, площадь кристалла, число транзисторов, тип, частоту и объем памяти, пропускную способность шины и другие параметры. С помощью программы можно выявить самую последнюю совместимую версию DirectX, узнать версию драйвера и BIOS.

Интерфейс утилиты логично разделен на вкладки. Для считывания значений в реальном времени следует использовать раздел «Sensors».

Некогда очень популярная утилита получила свое последнее обновление в 2009 году. Однако и сейчас программа совместима со многими видеоадаптерами NVIDIA GeForce и AMD Radeon, особенно теми, которые были выпущены несколько лет назад. Изначально программа создавалась для низкоуровневого разгона графических адаптеров путем повышения рабочих частот и увеличения скорости вращения кулеров. Для быстрого изменения настроек даже предусмотрена система профилей.

Неудивительно, что обладая такими возможностями, RivaTuner может считывать показания с датчика температуры. Программу однозначно можно рекомендовать пользователям компьютеров и ноутбуков, собранных в прошлом десятилетии.

Следующие программы более универсальны, они способны собирать информацию о разных устройствах и считывать данные с различных сенсоров.

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

Особенностью CAM является наличие специального оверлей-режима для мониторинга частоты видеокарты и загруженности процессора в играх. Кроме этого, в нем можно посмотреть объем задействованной памяти, текущее и среднее значение количества кадров в секунду (FPS).

На момент тестирования программа только избавилась от приставки «бета», поэтому не все доступные инструменты полноценно работали – утилита не позволяла авторизоваться через социальные сети, а также содержала ряд нелокализованных пунктов в интерфейсе.

PC Monitor: удалённый мониторинг и управление компьютером

Если вам необходимо средство для полноценного мониторинга и управления вашим компьютером через мобильное устройство, то PC Monitor — это то, что вам нужно. Сейчас я вкратце расскажу о принципе действия этого сервиса: на сайте разработчика вы скачиваете программу-клиент для того компьютера, который вы хотите мониторить и которым желаете управлять удалённо. После скачивания и установки ПО вам будет предложено создать свой аккаунт для использования системы. После этого остаётся лишь скачать приложение под операционную систему вашего мобильного устройства и авторизоваться в системе.

Теперь о поддерживаемых платформах. Мониторить и управлять можно компьютерами с установленными ОС Windows XP и более поздними версиями, а также популярными дистрибутивами Linux. Совсем немного огорчает отсутствие поддержки Mac OS. Ниже представлены прямые ссылки на скачивание клиента для различных версий ОС:

Среди поддерживаемых платформ для устройств, с которых осуществляется мониторинг и управление удалённым компьютером, присутствуют iOS версии 4.0 и выше, Android версии 2.1 и выше, а также Windows Phone 7. Загрузить мобильный клиент для вашего устройства вы можете по этим ссылкам:

Ещё больше радует возможность управлять компьютером с любого другого компьютера через специальную панель администратора, которую можно скачать здесь (Windows 32 bit) и здесь (Windows 64 bit). Или же просто авторизуйтесь в сервисе через любой веб-браузер и управляйте вашей системой.

Бесплатная версия позволяет одновременно работать с тремя компьютерами. Если вам необходимо работать с большим количеством машин, то придётся купить дополнительную лицензию. Стоимость варьируется от €59 в год за 10 компьютеров до €399 за 100 компьютеров.

Читайте также:  Пружинные клеммы для соединения проводов

А теперь о том, что же может мониторить эта программа:

  • Статус и аптайм всех ваших компьютеров
  • Текущая загруженность ЦП и памяти с возможностью просмотра статистики нагрузки
  • IP адрес вашего компьютера и местоположение, определяемое GeoIP
  • Пинг к вашему компьютеру с возможностью просмотра статистики
  • Статус и просмотр жёстких дисков
  • Статус сервисов и служб
  • Статус сетевых интерфейсов с возможностью просмотра статистики
  • Запущенные в данный момент процессы
  • Лог событий в системе
  • Статус запланированных задач
  • Список всех авторизовавшихся в системе пользователей (локальных и удалённых)
  • Информация о состоянии железа (температура ЦП, жёстких дисков, скорость вращения кулеров)
  • Поиск и просмотр групп, аккаунтов пользователей и их статусов в Active Directory
  • Счётчик производительности системы

Ниже представлены некоторые из действий, которые вы можете совершать удалённо:

  • Запуск и остановка любой службы
  • Завершение процессов
  • Запуск и остановка запланированных задач
  • Отключение любого пользователя от системы
  • Отправка сообщений всем авторизованным в системе пользователям
  • Использование командной строки
  • Перезагрузка, выключение и включение компьютера
  • Управление группами, аккаунтами и паролями пользователей в Active Directory
  • Поиск и установка обновлений Windows
  • Мониторинг и управление Exchange
  • Поддержка Hyper-V
  • Управление списком мобильных устройств, которые могут отправлять системные команды на компьютер

Программа может присылать уведомления о событиях, происходящих на компьютере:

  • Включение, выключение и перезагрузка компьютера
  • Незапланированная остановка сервиса
  • Вход различных пользователей в систему
  • Отклонение от нормальных значений показателей пинга, загрузки ЦП и памяти, заполненности жёсткого диска, показателей железа
  • Определённые события в логе системы

Огромным плюсом является использование SSL для связи компьютера и мобильного устройства, что значительно повышает уровень безопасности. В целом сервис представляет собой полноценную систему для удалённого мониторинга и управления вашими компьютерами с помощью мобильных устройств и других компьютеров, обладающую широким функционалом и множеством полезных возможностей. Настройка не составит большого труда и осуществляется очень быстро. При возникновении трудностей всегда можно обратиться к руководству на сайте разработчика.

Zabbix настройка мониторинга температуры

Появилась у меня потребность мониторить температуру windows серверов в Zabbix. Из систем мониторинга он мне больше всего нравится, поэтому смотрел в его сторону. Решение задачи оказалось неожиданно простым, о чем я и хочу вам рассказать.

Введение

Если у вас еще нет своего сервера для мониторинга, то рекомендую материалы на эту тему. Для тех, кто предпочитает систему CentOS:

То же самое на Debian 10, если предпочитаете его:

Текущая статья писалась для версии 2.4, все скриншоты приведены из нее. В настоящее время уже вышли более новые версии, но вся нижеизложенная инструкция не потеряла актуальности. Все будет работать и в новой версии.

Подготовка к мониторингу в Zabbix

Описанным мной способом можно мониторить температуру не только windows серверов, но и любых рабочих станций, если будет такая необходимость. Схема мониторинга следующая:

Существует бесплатная утилита Open Hardware Monitor, которая может показывать температуру некоторых датчиков сервера. Вообще говоря, она много чего может показывать (напряжение, скорость вентиляторов, загрузку процессора), но в данном случае нас интересует только температура. У этой утилиты есть версия, работающая в командной строке. Из командной строки показания датчиков можно записывать в файл. Этот файл можно анализировать и забирать из него необходимую для мониторинга информацию. Дальше эта информация передается в сервер Zabbix с помощью опции UserParameter. Все достаточно просто и в то же время эффективно.

Приступим к реализации. Скачиваем GUI версию утилиты по ссылке, приведенной ранее и консольную версию OpenHardwareMonitorReport. Запускаем GUI на сервере и смотрим, какие датчики нам доступны для мониторинга.

Программа увидела несколько датчиков. С процессором все понятно, а вот три других датчика не ясно, чью температуру показывают. Я хотел мониторить температуру процессора и материнской платы. Узнать, какая температура относится к материнской плате можно несколькими способами. Конкретно в данной ситуации я просто запустил портированную версию AIDA64 и посмотрел, какие показания у датчика материнской платы:

Оказалось — 45 градусов. Я запомнил, что датчик Temperature #3 отображает температуру материнской платы.

Можно было пойти другим путем, зайти в IPMI панель, если она есть, и посмотреть там. Я работал с серверами SuperMicro, там она есть. Я на всякий случай зашел и проверил:

Почему-то в этой панели не оказалось информации с датчика температуры процессора. Но нам это не важно. Самое главное, что мы узнали параметры, за которыми будем следить — это CPU Packege и Temperature #3. Теперь запускаем консольную версию и смотрим вывод информации. Я для удобства положил OpenHardwareMonitorReport.exe в папку с основной программой и все это хозяйство скопировал в корень диска C:

Открываем файл 1.txt. Ищем там строки

Нас интересует выделенный текст. По нему мы будем вычленять температуру для мониторинга и передавать ее на Zabbix сервер. Создаем в этой же папке 2 bat файла следующего содержания:

CPUTemperature.bat

MotherTemperature.bat

Запускаем эти батники в командной строке и проверяем вывод. Там должны быть только цифры температуры:

Отлично, на выходе готовые цифры, которые мы будем передавать в Zabbix. Займемся его настройкой.

Настройка Zabbix agent в Windows

Предполагается, что у вас уже настроен сервер мониторинга Zabbix и подключены клиенты, которые ему передают информацию. В данном материале я не буду касаться непосредственно установки и настройки сервера Zabbix, это будет отдельный материал. Сейчас же мы берем готовый файл конфигурации агента zabbix_agentd.win.conf и добавляем в самый конец файла следующие строки:

Перезапускаем службу агента Zabbix, чтобы изменения вступили в силу.

Настройка мониторинга на Zabbix сервере

Теперь идем на сервер. У меня Zabbix установлен на сервере CentOS, хотя это не принципиально. Добавляем новый Item. Пойти можно двумя путями:

  • Создать template, в него добавить все items, создать триггеры, графики и назначить этот шаблон нужным серверам.
  • К каждому серверу отдельно добавлять только необходимые итемы и вручную добавлять триггеры и графики.

Очевидно, что первым путем идти удобнее и разумнее. Я так и поступил, но в процессе реализации столкнулся с проблемой. Не все сервера имеют одинаковый набор датчиков. Где-то я не смог снять температуру с материнской платы, где-то вместо одного процессора, стояло два и хотелось снимать температуру с обоих камней. Как будет в вашем случае — не знаю. Если все серверы однотипные, то создавайте template, если все разные, то вручную добавляйте каждый итем на сервер. Я в итоге сделал и шаблон для одинотипных серверов, и вручную добавлял итемы туда, где имелись отличия от шаблона.

Итак, сначала создадим шаблон. Идем в ConfigurationsTemplatesCreate Template. Шаблон я назвал Temperature Windows. Добавил в него ApplicationTemperature, затем Item CPU Temperatue. Заполняем поля итема как у меня на картинке:

Читайте также:  Акустический автомат лестничного освещения на симисторе

Параметр Temperature.CPU тот же самый, что и в файле конфигурации агента.

По аналогии создаем итем Mother Temperatue:

Сохраняем шаблон. По желанию создаем для него триггеры и графики. Можно и без них. Добавляем шаблон к серверу, который хотим мониторить. Ждем некоторое время и идем проверять входящие данные. Открываем MonitoringLatest data:

Нажимаем graph и смотрим график:

Теперь добавим в Zabbix еще один сервер для мониторинга, который будет отличаться по конфигурации от предыдущего. На его примере я покажу, как менять настройки клиента и сервера. С этого сервера я не могу снять данные с датчика температуры материнской платы, по какой причине — не знаю, но не AIDA64 ни OpenHardwareMonitor мне температуру не показывают. Ее можно взять по SNTP с этого сервера, но это отдельная тема. В этом сервере 2 процессора и я хочу мониторить температуру обоих.

Запускаем GUI интерфейс и смотрим, какие датчики мы сможем мониторить:

Нас будет интересовать температура обоих ядер процессора. Теперь запускаем OpenHardwareMonitorReport.exe с выводом информации в текстовый файл. Смотрим, как выглядят строки с интересующей нас информацией:

Создаем два bat файла следующего содержания:

CPU1Temperature.bat

CPU2Temperature.bat

Редактируем конфигурационный файл zabbix_agentd.win.conf агента Zabbix на клиенте. Добавляем в конец две строки:

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

Дальше идем на сервер Zabbix и по аналогии с предыдущим сервером создаем там Итемы мониторинга. Причем итемы создаем не в шаблоне, а в конкретном сервере, который будем мониторить. Параметр key в этих итемах будет соответственно Temperature.CPU1 и Temperature.CPU2 Ждем некоторое время и проверяем результат.

item became not supported

Во время отладки работ я столкнулся с проблемами. Периодически Item отваливались и получали статус: Not Supported. При этом в логах сервера были следующие записи:

То есть данные то собирались, то переставали собираться. Иногда, чтобы данные снова пошли, приходилось удалять итем и создавать его заново. Некоторое время я повозился, пока не понял, в чем дело.

Я обратил внимание, что при запуске батника из командной строки, вывод данных происходит с приличной задержкой в 3-5 секунд. В Zabbix по-умолчанию стоит параметр, по которому агент ожидает ответа от скрипта 3 секунды и на сервере есть подобный параметр, по которому сервер ждет ответа от агента 3 секунды. Если за это время данные не поступают, то итем переходит в статус Not Supported и данные с него не собираются.

Чтобы избавиться от этой ошибки, необходимо увеличить таймаут до 15-ти секунд. Меняем параметр в конфиге на клиентах и на сервере. Он и там и там один и тот же:

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

На этом, собственно настройка мониторинга температуры окончена. Можно дальше все оформить как полагается: настроить тригеры, оповещения, графики красивые нарисовать. Кому что нужно. Я себе вывел вот такую картинку для наглядности:

Мониторинг параметров пк на pic

Цель проекта – разработка системы многоточечного мониторинга температуры, причем наблюдение за температурой должно быть доступным любым компьютером локальной сети (рис.1). Проект выполнен на базе Цифрового термометра с выводом показаний на компьютер. Схема контроллера температуры осталась без изменений, но изменилась его управляющая программа и программы мониторинга на компьютере.


Рис. 1. Обобщённая схема мониторинга температуры.

В качестве датчиков температуры используются микросхемы цифрового термометра DS18S20, которые по протоколу 1-Wire опрашиваются контроллером на основе PIC16F84A. Далее показания температуры контроллер подаёт на СОМ порт компьютера. Программа TermoHost.exe, написанная на Visual Basic 6.0, позволяет считывать и отображать показания всех термометров, а также в одной из сетевых папок хранит показания температуры за последние 12 часов (Data.txt) и показания текущих значений температур (Current.txt), которые обновляются каждые 5 сек. В случае превышения температуры заданного порога, программа рассылает сообщения Net Send на предварительно выбранные этой же програмой компьютеры, предупреждая об аварийной ситуации.

На компьютеры 1,2,….N (рис.1), на которых необходимо следить за температурой, устанавливается клиентская программа TermoGraf.exe, которая считывает файлы данных Data.txt и Current.txt и отображает их в удобном для пользователей виде графиков и диаграмм.

Как говорилось, контроллер температуры по однопроводному интерфейсу 1-Wire считывает показания температуры с 6 датчиков DS18S20, размещенных в отслеживаемых зонах технологического оборудования. Каждый датчик имеет уникальный 48-битный номер, записанный с помощью лазера в ПЗУ в процессе производства. Этот номер используется для адресации устройств. Предварительно необходимо проинициализировать все эти датчики. Для этого у контроллера предусмотрен режим “Инициализация”, в который необходимо войти выключением-включением напряжения питания при нажатой потайной кнопке S1. Потайной она сделана для исключения случайного стирания данных. При инициализации поочередно по одному опрашиваются датчики и им присваивается порядковый номер от 1 до 6. При этом уникальные 48-битные номера всех 6 датчиков записываются в EEPROM память микросхемы PIC16F84.

В принципе, режим “Инициализация” можно бы было исключить путем процедуры опроса серийных номеров всех одновременно подключённых к 1-Wire линии датчиков, но при этом мы бы потеряли информацию о том, где именно какой датчик находится, что неприемлемо.


Рис.2. Внешний вид контроллера температуры.

Для DS18S20 температура представляется в виде 9-битного значения. Дискретность представления температуры составляет 0.5°C. Можно бы было довести её до 0.1°C, но пока в такой точности нет необходимости.

Контроллер также хранит в EEPROM памяти значение порога. Это значение выбирается кнопками SW1,SW2. В режим установки порога необходимо войти при одновременном нажатии любой из кнопок SW1,SW2 и включении питания контроллера.

В основном режиме измерения-отображения температуры нажатием кнопок SW1,SW2 выбирается номер отображаемого на индикаторе датчика. Цифра 0 соответствует отображению пороговой температуры.

Номер отображаемого на индикаторе датчика никак не влияет на передачу данных на СОМ порт. На него всегда подаются 6 значений измеренной температуры и значение порога. Информация передается 1 раз в секунду.


Рис.3. Принципиальная схема контроллера температуры.

Контроллер температуры реализован на микросхеме PIC16F84A, выпускаемой фирмой Microchip. Порт RB задействован под динамическую индикацию на 2 разряда: RB0 выбирает индицируемую цифру, RB1..RB7- код выводимых цифр на семисегментный индикатор, выводы порта RA0,RA3-для индикации режимов устройства, RA1-опрос кнопок SW1 и SW2, RA2- опрос термодатчиков, RA4- выводит информацию на СОМ-порт компьютера.

На рис.4 показано окно программы TermoGraf. Текущие показания всех шести датчиков температуры представлены в виде диаграммы. Нажатием кнопок 1…6 справа от диаграммы можно вызвать график температуры этого датчика в течение 12 последних часов. Полоса прокрутки внизу позволяет по графику выбрать конкретный отсчёт (показать координаты время-температура для любой точки графика). Для ознакомления можно скачать программу TermoGraf с файлами реально снятых данных. В программе для простоты отпущены некоторые несущественные функции.


Рис.4. Окно клиентской программы TermoGraf

Автор проекта: Гирлин Андрей, г.Сургут, E-mail: giran@mail15.com

Рейтинг
( Пока оценок нет )
Загрузка ...
Adblock
detector