Введение

В процессе сбора информации.

Все эксперименты проводились с имеющимся в наличии UPS Энергия ПН-500, но судя по отзывам, описанная методика подходит и для другх устройств этого производителя, которые имеют RS232 порт.

Протокол Megatec прекрасно описан на странице Network UPS Tools – Megatec Protocol information

Команды, которые гарантированно поддерживают Энергия ПН-500 и старшие модели данного вендора: F, I, Q1

Пример строки, полученной от UPS (в тестовом режиме):

(240.9 240.9 201.5 003 50.0 2.22 48.0 00000001

Пример рабочей программы на Си для OpenWrt устройств

Код доступен в репозитории Glutinium в проекте megatec

Помимо проекта megatec там можно найти и 25volt поддерживающий APC Smart-UPS и Powercom WOW UPS с интерфейсами USB.


Пример простейшего скрипта на PERL

#!/usr/bin/perl
#
$port = "/dev/ttyUSB0";
system "stty 2400 ixon -echo < $port";
open(COM, "+>$port") or die "Can't open $port";
select(COM);
$| = 1;
#
printf("Q1\r");
sleep(1);
sysread(COM, my ($line), 50);
printf(stderr $line);
#
close(COM);

Пример вывода информации в формате JSON для мониторинговых систем

{
  "Input_Voltage": 231.8,
  "Input_Fault_Voltage": 231.8,
  "Output_Voltage": 195.4,
  "Output_Load": 3,
  "Input_Frequency": 50.00,
  "Battery_Voltage": 2.2,
  "Temperature": 48.0,
  "Utility_Fail": 0,
  "Battery_Low": 0,
  "Bypass_Active": 0,
  "UPS_Failed": 0,
  "UPS_Type_is_Standby": 0,
  "Test_in_Progress": 0,
  "Shutdown_Active": 0,
  "Beeper_On": 1
}

Внешние ссылки



Published

30 September 2018

Tags