Примеры применения
23.10.2017

Управление устройствами NetPing через API при помощи роутеров MikroTik

Управление устройствами NetPing через API при помощи роутеров MikroTik

Для начала пара слов о том, что такое MikroTik. Это латвийский производитель сетевого оборудования, которое отличается невысокой ценой и широкой функциональностью. Основой для продуктов MikroTik является Router OS — сетевая операционная система на базе Linux. Эта ОС существует также в виде x86-дистрибутива, так что любой желающий может собрать мощный роутер на базе обычного ПК за скромную цену. Она же в различных своих вариантах устанавливается на RouterBOARD — линейку аппаратных решений MikroTik, которая включает в себя как чисто операторское оборудование, так и SOHO-решения. 

Роутеры MikroTik могут быть оборудованы резервными WAN-каналами, например, кроме проводного интернета может быть и GSM-модем. В таком случае есть возможность запускать скрипты на MikroTik через SMS. Это позволяет управлять устройствами NetPing, у которых нет встроенного GSM-модема. Также данная функция может быть актуальна при недоступности web-интерфейса устройств NetPing через основную сеть Ethernet либо в случае зависания модема у устройства NetPing.

Как известно, Роутер ОС (Router OS) обладает колоссальным функционалом, в том числе возможностью управления различными функциями через скрипт-программирование. В частности, можно получить доступ непосредственно из роутера к функциям устройств NetPing компании ООО «Алентис Электроникс».

Описанные ниже настройки и параметры применимы для всех моделей устройств NetPing

Общий вид RouterOS

Такую возможность предоставляет команда ROS fetch, синтаксис которой подробно описан в https://wiki.mikrotik.com/wiki/Manual:Tools/Fetch.

Если нам в рамках нашей задачи требуется переключить встроенное реле устройства NetPing, достаточно следующей записи:

/tool fetch url="http://adress:port/relay.cgi\?rN=X" mode=http user=visor password=ping dst-path="NPanswer.txt";

Где:

adress:port – адрес и порт устройства NetPing, например, 192.168.0.100. Если порт стандартный 80, то можно не указывать;
N – номер реле, число реле зависит от модели устройства (от 1 до 8-ми);
X – совершаемое действие над реле, где 1-включить, 0-выключить;
User, password – логин и пароль администратора NetPing, указаны по умолчанию;
dst-path – файл, в который будет записан ответ от устройства.

Ответ записывается в указанный файл в следующем виде:

relay_result('ok') – в случае успешного выполнения;
relay_result('error') – при невыполнении команды, например, при несоответствии переданных параметров.

Итак, приступим.

Создадим несколько "самодельных" функций, демонструющих возможности по управлению устройством NetPing из роутера MikroTik:

  1. NPstart – установка переменных для NetPing;
  2. FuncNPSetrele – установка реле (включение/выключение/изменение канала управления);
  3. FuncNPGetrele – получение статуса состояния реле;
  4. FuncNPTermo – функция опроса датчика температуры;
  5. FuncNPHamidity – функция опроса датчика влажности и температуры

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

################ NPStart #####################

# установка переменных

#############################################

:global NPuser "visor"; # login пользователя NetPing

:global NPpass "ping"; # пароль пользователя

:global NPadr "192.168.0.100"; # адрес устройства NetPing

Дальше пишем наши функции:

################ FuncNPSetrele ###############

# Функция установки реле для устройств PDU NetPing

#     by Sergej Serkov 25.09.2017

#############################################
# Входящие параметры:

# Nrele – номер реле

# Rstatus – действие над реле (1-включить, 0-выключить)

# Пример обращения к функции:

# [$FuncNPSetrele Nrele="2" Rstatus="1"]

# результат исполнения функции возвращается в переменной $NPanawer

# Определяем саму функцию установки реле:

:global FuncNPSetrele do={:global NPuser; :global NPpass; : global NPadr; :local StrFetchRele; :set StrFetchRele ("http://"."$NPadr"."/relay.cgi\?r"."$Nrele"."="."$Rstatus"); [/tool fetch url=$StrFetchRele mode=http user=$NPuser password=$NPpass dst-path="NPanswer.txt";];

:delay 2s;

:local NPanswer [/file get NPanswer.txt contents];

/file remove NPanswer.txt;

:return $NPanswer}

Теперь, если исполнить функцию с присвоением результата переменной, действие над реле будет исполнено, и можно будет прочитать ответ устройства.

Пример вызова функции FuncNPSetrele:

:global FuncNPSetrele; # объявляем функцию при вызове;

:local NPanswer [$FuncNPSetrele Nrele="2" Rstatus="1"]; # реле №2 будет включено, ответ устройства передан в переменную $NPanswer.

:log info $NPanswer; # который можно прочитать, например в логе роутера MikroTik: 

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

############## FuncNPGetrele ###############

# Функция опроса состояния реле PDU NetPing

#     by Sergej Serkov 22.09.2017

###########################################


# Входной параметр – номер реле Nrele

# Пример вызова функции:

# [$FuncNPGetrele Nrele="2"]

# Ответ возвращается в переменной $NPanswer

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

# -----------------------------------------------------------------------------

# $relechannel – источник управления реле, согласно документации  NetPing:

# 0 - выключено вручную

# 1 - включено вручную

# 2 – работает от канала «Сторож»

# 3 - источник управления «Расписание»

# 4 - Сторож + Расписание

# 5 – управляется модулем «Логика»

# 6 – Логика + Расписание

# relestatus – текущее состояние реле:

# 0 - выключено

# 1 - включено

# Определяем функцию:

:global FuncNPGetrele do={:global NPuser; :global NPpass; global NPadr; :local StrFetchRele; :set StrFetchRele ("http://"."$NPadr"."/relay.cgi\?r"."$Nrele"); [/tool fetch url=$StrFetchRele mode=http user=$NPuser password=$NPpass dst-path="NPanswer.txt";];

:delay 2s;

:local NPanswer [/file get NPanswer.txt contents];

/file remove NPanswer.txt;

:local endLoc;

:set $endLoc [:find $NPanswer ","];

:global relechannel [:pick $NPanswer ($endLoc+2) ($endLoc+3)]; # Канал управления;

:global relestatus [:pick $NPanswer ($endLoc+5) ($endLoc+6)]; # Текущее состояние;

:return $NPanswer}

Вызов функции FuncNPGetrele может выглядеть так (если хотим опросить первое реле):

:global FuncNPGetrele; # не забываем объявлять при вызове саму функцию

:global relechannel; # и ее рабочие переменные

:global relestatus;

:local NPanswer [$FuncNPGetrele Nrele="1"]; # функция будет выполнена и ответ устройства передан в переменную $NPanswer.

:log info $NPanswer; # которую можно также прочитать, например, в логе роутера.

Мы выдадим в лог удобную для понимания информацию о настройках и состоянии реле:

:local R 1

:log info "";

:log info "------------------------------";

:log warning ("Реле"."$R")

:log info ("Источник управления: ". "$relechannel");

:if ($relestatus=0) do={:log info "Реле выключено"} else={:log info "Реле включено"}

:log info "------------------------------";

:log info "";

Вот что увидим в логе роутера:

Лог роутера Информация о реле

Каналы управления тоже, естественно, можно «расшифровать». В данном случае «3» - первое реле управляется через расписание. 

################ FuncNPTermo ###############

# Функция опроса датчика температуры PDU  NetPing

#     by Sergej Serkov 25.09.2017

#############################################
# Для работы функции в NPtr необходимо передать номер опрашиваемого датчика

# Ответ стандартно возвращается в переменной $NPanswer

# Пример применения c опросом второго датчика:

# [$FuncNPTermo NPtr="2"]

# Сама функция опроса датчика температуры:

:global FuncNPTermo do={:global NPuser; :global NPpass; :local StrFetchTermo; :global NPadr; :set StrFetchTermo ("http://"."$NPadr"."/thermo.cgi?t"."$NPtr"); [/tool fetch url=$StrFetchTermo mode=http user=$NPuser password=$NPpass dst-path="NPanswer.txt";];

:delay 2s;

:local NPanswer [/file get NPanswer.txt contents];

/file remove NPanswer.txt;

:return $NPanswer}

Вызываем нашу функцию, получаем значение температуры:

:global FuncNPTermo;

:local NPanswer [$FuncNPtermo NPtr="2"];

:log info $NPanswer; # выводим ответ в лог:

 Лог роутера Информация о температуре

То есть значение температуры на втором датчике 17 градусов.

Из заявленных планов остается функция опроса комбинированного датчика влажности и температуры. При этом у меня почему-то для корректной работы пришлось объявить номер датчика влажности «0» (к моему устройству NetPing 4/PWR-220 v3/SMS было подключено четыре 1-wire датчика температуры и один комбинированный датчик температуры и влажности).

################ FuncNPhumidity ###############

# Функции опроса датчика влажности и температуры PDU  NetPing

#     by Sergej Serkov 25.09.2017

##############################################
# Входной параметр Nhd "0"; # при вызове функции эта переменная должна содержать номер датчика влажности;

# Вызов функций соответственно: [$FuncNPHtr Nhd="0"] и [$FuncNPHhd Nhd="0"]

# Возвращаемые данные в переменных:

# $NPhd – влажность;

# $NPtr – температура;

# Определяем функцию опроса температуры с датчика:

:global FuncNPHtr do={:global NPuser; :global NPpass; :global NPadr; :local StrFetchTR; :set StrFetchTR ("http://"."$NPadr"."/relhum.cgi?t"."$Nhd"); [/tool fetch url=$StrFetchTR mode=http user=$NPuser password=$NPpass dst-path="NPanswer.txt";];

:delay 2s;

:local NPtr [/file get NPanswer.txt contents];

/file remove NPanswer.txt;

:return $NPtr}

 # Функция влажности:

:global FuncNPHhd do={:global NPuser; :global NPpass; :global NPadr; :local StrFetchHD; :set StrFetchHD ("http://"."$NPadr"."/relhum.cgi?h"."$Nhd"); [/tool fetch url=$StrFetchHD mode=http user=$NPuser password=$NPpass dst-path="NPanswer.txt";];

:delay 2s;

:local NPhd [/file get NPanswer.txt contents];

/file remove NPanswer.txt;

:return $NPhd}

Вызов наших функций:

:global FuncNPHtr;

:global FuncNPHhd;

:local NPtr [$FuncNPHtr Nhd="0"];

:delay 5s;

:local NPhd [$FuncNPHhd Nhd="0"];

:log info $NPtr;

:log info $NPhd;

 В логе роутера видим отправку двух запросов к нашему датчику и два ответа. Первый – температура 13 градусов, второй – влажность 91%.

 Лог роутера Информация о температуре и влажности

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

Некоторые полезные замечания

Следует помнить, что в Роутере ОС есть служебные символы. Если вы используете эти символы в пароле или имени устройства, то в скрипте их нужно экранировать. Например, если пароль представлен строкой $ergey, то, чтобы его правильно передать, в скрипте нужно экранировать первый символ знаком «\». То есть в нашем случае NPpass="\$ergey".

Перед вызовом функций NetPing стоит проверить, доступно ли само устройство NetPing в сети на настоящий момент путём проверки на пинг. В роутере ОС это делается, например так, (скрипт найден на просторах Интернета, проверен):

:local PingCount 3; # количество пингов;

:local PingAdr $NPadr; # адрес устройства NetPing получим из NPadr

:local Iface "ether-2master"; # Имя интерфейса Вашей внутренней сети;

:local Result [/ping $PingAdr count=$PingCount  interface=$Iface];

:local MainIfInetOk false;

:set MainIfInetOk ((3*$Result) >= (2 * $PingCount))

:put "MainIfInetOk=$MainIfInetOk"

if (!$MainIfInetOk) do={

/log error "Устройство NetPing не доступно в сети"

}

if ($MainIfInetOk) do={

/log warning "NP Connect OK"

/system script run NPstart;

… здесь вызываем нужные функции

}

Применение наших функций может быть самым разным:

  • Например, если завести питание вашего MikroTik через реле NetPing, то роутер через скрипт-функцию FuncNPSetrele может сам себя выключать при наступлении заданных критических событий. Скрипт с проверкой таких событий нужно поместить в Планировщик роутера:

Пример выключения роутера, получающего питание с реле 1 устройства NetPing, при превышении температуры на плате роутера:

:if ([/system health get temperature] >50) do { global Nrele "1"; $FuncNPSetrele}

Роутер выключится при превышении температуры на плате выше 50 градусов. В примере сравнение дано условно, т.к. полученное из /system health строковое значение температуры на плате роутера сначала нужно преобразовать в число.

  • Также можно включать какое-либо устройство в сети, например, файловый сервер, после подключения VPN-клиента к роутеру из внешней сети. После завершения VPN-сеанса пользователя файловый сервер можно также отключать нашей функцией. Это усилит защиту важных данных, т.к. файловый сервер будет физически выключен, пока клиент VPN не установил связь с сервером.
  • При отсутствии в конкретной модели устройства NetPing GSM-модема, можно пользоваться USB-модемом роутера, подключив его к MikroTik для отправки ответов устройства NetPing через SMS.

Можно реализовать функции для других возможностей устройств NetPing, в том числе для управления IO-линиями. Функции целесообразно объединить в единую библиотеку (в один скрипт) и определять сразу при загрузке роутера, а вызывать по мере необходимости.

Блок функций для управления линиями ввода/вывода NetPing

Блок содержит всё, что поддерживают URL-команды по работе с линиями ввода/вывода устройств NetPing, а именно:

  • настройка режима линии (вход/выход/выход логики);
  • установка линии (лог 0, 1, инверсия линии);
  • инверсия линии на заданное время в секундах;
  • опрос состояния линии

################ Functions NetPing Library ###############
# Библиотека функций для работы с линиями
# ввода/вывода IOv2 NetPing
# версия 1.0
# by Sergej Serkov 01.12.2017
######################################################

# FuncNPmodeIO - устанавливает режим работы линии ввода/вывода
# FuncNPSetIO - включает/выключает/инвертирует линию в режиме выхода
# FuncNPinvtimeIO - инвертирует линию на IOtime секунд в режиме выхода
# FuncNPGetIO - запрашивает состояние линии

# общие переменные для всех функций NetPing
# доступ к устройству

:global NPuser "visor"; # администратор NetPing-устройства
:global NPpass "ping"; # пароль доступа к устройству
:global NPadr "192.168.0.100"; # адрес устройства NetPing;


################ FuncNPmodeIO #################
# Функция настройки I/O линии PDU NetPing
# by Sergej Serkov 01.12.2017
###############################################
# Применение:
# В качестве параметров функции в Nio нужно передавать номер линии ввода/вывода
# в IOmode - устанавливаемый режим линии (0-вход; 1-выход; 2-выход логики)
# Вызов функции
# [$FuncNPmodeIO Nio="2" IOmode="1"]
# ответ исполнения возвращается в $NPanswer

# определяем функцию, устанавливающую линию NetPing
:global FuncNPmodeIO do={:global NPuser; :global NPpass; : global NPadr; :local StrFetchIO;
:set StrFetchIO ("http://"."$NPadr"."/io.cgi\?io"."$Nio"."&mode="."$IOmode"); [/tool fetch url=$StrFetchIO mode=http user=$NPuser password=$NPpass dst-path="NPanswer.txt";];
:delay 2s;
:local NPanswer [/file get NPanswer.txt contents];
/file remove NPanswer.txt;
:return $NPanswer}

################ FuncNPSetIO ###############
# Функция установки состояния I/O линии PDU NetPing
# by Sergej Serkov 01.12.2017
#############################################

# устанавливаемая линия должна быть сконфигурирована на вывод !

# обычно в устройствах NetPing применяется инвертированная логика линий:
# при логическом 0 на линии - нагрузка включается
# при логической 1 на линии - выключается
# для таких устройств нужно раскомментировать закомментированные строки
# этой функции - см. ниже

# Применение:
# В качестве параметров функции в Nio нужно передавать номер линии ввода/вывода
# в IOstatus - совершаемое действие (0-выключить; 1-включить; f-инвертировать)
# Вызов функции
# [$FuncNPSetIO Nio="2" IOstatus="1"]
# ответ исполнения возвращается в $NPanswer


# определяем функцию, устанавливающую линию NetPing
:global FuncNPSetIO do={:global NPuser; :global NPpass; : global NPadr; :local StrFetchIO;

# инвертирование статуса линии (для устройств NetPing с обратной логикой);
#:if ($IOstatus=0) do={:set $IOstatus 1} else={:set $IOstatus 0}

:set StrFetchIO ("http://"."$NPadr"."/io.cgi\?io"."$Nio"."="."$IOstatus"); [/tool fetch url=$StrFetchIO mode=http user=$NPuser password=$NPpass dst-path="NPanswer.txt";];
:delay 2s;
:local NPanswer [/file get NPanswer.txt contents];
/file remove NPanswer.txt;
:return $NPanswer}


################ FuncNPinvtimeIO ###################################
# Функция инвертирования состояния I/O линии PDU NetPing на время
# (выдача импульса)
# by Sergej Serkov 01.12.2017
##################################################################

# устанавливаемая линия должна быть сконфигурирована на вывод !

# обычно в устройствах NetPing применяется инвертированная логика линий:
# при логическом 0 на линии - нагрузка включается
# при логической 1 на линии - выключается
# для таких устройств нужно раскомментировать закомментированные строки
# этой функции - см. ниже

# Применение:
# В качестве параметра функции в Nio нужно передавать номер линии ввода/вывода
# в IOtime - время инвертирования в секундах
# Вызов функции
# [$FuncNPSetIO Nio="2" IOtime="5"]
# ответ исполнения возвращается в $NPanswer

# определяем функцию, устанавливающую линию NetPing
:global FuncNPinvtimeIO do={:global NPuser; :global NPpass; : global NPadr; :local StrFetchIO;
:set StrFetchIO ("http://"."$NPadr"."/io.cgi\?io"."$Nio"."=f,"."$IOtime"); [/tool fetch url=$StrFetchIO mode=http user=$NPuser password=$NPpass dst-path="NPanswer.txt";];
:delay 2s;
:local NPanswer [/file get NPanswer.txt contents];
/file remove NPanswer.txt;
:return $NPanswer}


############## FuncNPGetIO ###############
# Функия опроса состояния I/O линии PDU NetPing
# by Sergej Serkov 01.12.2017
###########################################

# обычно в устройствах NetPing применяется инвертированная логика линий:
# при логическом 0 на линии - нагрузка включается
# при логической 1 на линии - выключается
# для таких устройств нужно раскомментировать закомментированные строки
# этой функции - см. ниже

# Применение:
# В качестве параметра функции Nio нужно передавать номер линии ввода/вывода
# Например опрашиваем вторую линию :
# [$FuncNPGetIO Nio="2"]

# возвращает ответ NetPing в $NPanswer

# также возвращает в глобальной переменной:
# -----------------------------------------------------------------------------

# IOstatus - состояние линии
# 0 - выключено;
# 1 - включено;


# определяем функцию, возвращающую ответ от линии I/O NetPing
:global FuncNPGetIO do={:global NPuser; :global NPpass; global NPadr; :local StrFetchIO; :set StrFetchIO ("http://"."$NPadr"."/io.cgi\?io"."$Nio"); [/tool fetch url=$StrFetchIO mode=http user=$NPuser password=$NPpass dst-path="NPanswer.txt";];
:delay 2s;
:local NPanswer [/file get NPanswer.txt contents];
/file remove NPanswer.txt;
:local endLoc;
:set $endLoc [:find $NPanswer ","];
:global IOstatus [:tonum [:pick $NPanswer ($endLoc+6) ($endLoc+7)]]; # состояние линии;

# инвертирование статуса линии (для устройств NetPing с обратной логикой);
# :if ($IOstatus=0) do={:set $IOstatus 1} else={:set $IOstatus 0}

:return $NPanswer
}

Готовые файлы скриптов

Здесь можно скачать готовый файл скриптов с библиотекой функций NetPing для роутера MikroTik.

Для переноса их в роутер нужно мышкой перетащить файл funcNetPing.rsc в файлы роутера в популярной утилите для роутера MikroTik WINBOX (либо переслать его туда по FTP).

Затем в терминале роутера набрать команду:

/import file=filename.rsc

  • Func_NP_libIO.rsc - содержит библиотеку функций для работы и линиями ввода-вывода в одном скрипте и каждую функцию отдельно, а также примеры их вызовов в скриптах. Рекомендуется использовать с устройством NetPing IO v 2 
  • Func_NP_library.rsc - библиотека всех функций (включая те, что были написаны ранее - работу с реле, датчиками температуры, влажности и новые - работы с I/O линиями также в одном скрипте в виде библиотеки и каждую функцию в отдельных скриптах, плюс примеры вызовов). 

Функции в виде отдельных скриптов, всей библиотеки одним скриптом и примеры их вызовов будут импортированы в репозиторий скриптов роутера Микротик. 

Свежие версии функций управления устройствами NetPing при помощи роутеров MikroTik доступны по ссылке http://apimikrotik.blogspot.ru/.


Автор: Серков Сергей Владимирович 

serkov1375@mail.ru  


  • Все устройства

Основные теги


Каталог устойств мониторинг серверных комнат и шкафов
Все устройства
Устройство UniPing v3
Устройство UniPing server solution v3/SMS
Устройство NetPing 2/PWR-220 v1/SMS
Устройство NetPing IO v2
Устройства NetPing
Каталог датчиков для устройств NetPing
Устройство NetPing 8/PWR-220 v3/SMS
Устройство NetPing 2/PWR-220 v3/ETH
Устройство NetPing 2/PWR-220 v2/SMS
Устройство NetPing 4/PWR-220 v3/SMS
Устройство NetPing SMS
Устройство NetPing /PWR-220 v3/ETH
Адаптер WiFi VAP11N
Коммутатор PS104GT
Устройство NetPing Mini-UPS
Коммутатор NP-SM4
Сплиттер POE 12В (стандарта 802.3af)
IRC-TR v2 (ИК модуль расширения)
Каталог устройств удалённого управления и распределения электропитания NetPing
Устройство UniPing server solution
Устройство UniPing server solution v3
Датчик разбития стекла (Стекло-3 ИО 329-4), 2м
Переходник для NetPing IO v2
Блок питания 48В 1,5А (мод.HRS20005)
Датчик температуры TS, 1м
Датчик температуры, (T811), 2м
Датчик температуры WT, 1м
Датчик протечки, модель 2605, 2м
Датчик протечки H2О
Датчик температуры 1-wire, (THS), 2м
МАЯК-12-СТ
Датчик движения (PYRONIX COLT QUAD PI ПИК детектор), 2м
Датчик движения (SWAN-QUAD ИК детектор квадросенсор), (2м)
BM8070D Силовое реле 16А/250В на DIN-рейку
MP701 Исполнительный элемент (4 независимых канала по 2 кВт 10А)
Датчик дыма комбинированный (дым/тепло) ИП 212/101-2М-A1R с базой Е412NL
МОЛЛЮСК-12/1,5
Внешний ИБП SKAT-12DC-1.0 Li-ion
ИКС-1 извещатель охранный инфракрасный активный однолучевой
Датчик охранный (Извещатель охранный ИО102-20/Б2П, 2м)
Блок розеток SNR-PDU-08S-1
Устройство NetPing 2/PWR-220 v4/SMS
Устройство UniPing server solution v4/SMS
Устройство NetPing 8/PWR-220 v4/SMS
VT592 кабельный датчик протечки
WLC10 кабель протечки
NetPing Connection board v2 (коммутационная плата для UniPing v3)
Инжектор питания POE (стандарта 802.3af)
NetPing датчик наличия электропитания 995S1
Устройство NetPing 2/PWR-220 v12/ETH
Устройство NetPing 2/PWR-220 v13/GSM3G
Датчик наличия 220В (мод. HRS05005), 1.5м
NetPing удлинитель-разветвитель 1-wire на 5 портов, модель R912R1
NetPing датчик качества электропитания 1-wire 910S20
PLController R15250 силовое реле 15A/250В на DIN-рейку
NetPing адаптер датчиков с аналоговым интерфейсом 0-20мА, модель 886A01
Устройство NetPing server solution v5
Устройство NetPing ИК модуль, модель 3801
Устройство NetPing server solution v5/GSM3G
Устройство NetPing 4/PWR-220 v6.1/GSM3G
Устройство NetPing 4/PWR-220 v6.2/GSM3G
▼ Все теги
Новинки
NetPing Input+Relay v1
Компактное устройство удаленного мониторинга датчиков по сети Ethernet/Internet. Позволяет удаленно подробнее...

Цена: 6 200 руб.

NetPing IO v3
Компактное бескорпусное устройство удаленного мониторинга датчиков по сети Ethernet/Internet. Позволяет подробнее...

Цена: 2 500 руб.

Устройство NetPing 4/PWR-220 v6.2/GSM3G
Устройство удаленного управления розетками электропитания по сети Ethernet/Internet (IP PDU) c поддержкой подробнее...

Цена: 20 280 руб.

Устройство NetPing 4/PWR-220 v6.1/GSM3G
Устройство удаленного управления розетками электропитания по сети Ethernet/Internet (IP PDU) c поддержкой подробнее...

Цена: 20 280 руб.

NetPing блок розеток 1-wire 888S0201
Блок розеток предназначен для удаленного управления нагрузкой. Устройство не является самостоятельным, подробнее...

Цена: 10 980 руб.

Устройство NetPing ИК модуль, модель 3801
ИК-контроллер для дистанционного и автоматического управления устройствами с инфракрасным интерфейсом подробнее...

Цена: 8 580 руб.

Устройство NetPing server solution v5
Устройство удаленного мониторинга датчиков по сети Ethernet/Internet. Позволяет удаленно получать информацию подробнее...

Цена: 18 000 руб.

Устройство NetPing server solution v5/GSM3G
Устройство удаленного мониторинга датчиков по сети Ethernet/Internet. Позволяет удаленно получать информацию подробнее...

Цена: 26 000 руб.

PLController R15250 силовое реле 15A/250В на DIN-рейку
Силовое реле в корпусе для крепления на DIN-рейку предназначено для удаленной коммутации мощной нагрузки.Напряжение подробнее...

Цена: 1 429 руб.

NetPing адаптер датчиков с аналоговым интерфейсом 0-20мА, модель 886A01
Адаптер предназначен для подключения аналоговых датчиков, передающих сигнал изменением протекающего подробнее...

Цена: 3 354 руб.

NetPing датчик качества электропитания 1-wire 910S20
Датчик предназначен для мониторинга качества электропитания в розетке. Датчик должен быть подключен подробнее...

Цена: 2 240 руб.

NetPing удлинитель-разветвитель 1-wire на 5 портов, модель R912R1
Активный удлинитель-разветвитель для подключения датчиков 1-wire к устройствам NetPing5 портов для подключения подробнее...

Цена: 1 400 руб.

Устройство NetPing 2/PWR-220 v12/ETH
Управляемый блок удаленного распределения питания по сети Ethernet/Internet (IP PDU)2 независимые управляемые подробнее...

Цена: 8 157 руб.

Устройство NetPing 2/PWR-220 v13/GSM3G
Управляемый блок удаленного распределения питания по сети Ethernet/Internet (IP PDU) c поддержкой управления подробнее...

Цена: 15 700 руб.

NetPing датчик наличия электропитания 995S1
Датчик позволяет определить наличие напряжения в розетке питания. Выполнен в корпусе блока питания с подробнее...

Цена: 1 224 руб.

WLC10 кабель протечки
Чувствительный кабель для использования совместно с датчиком VT592. Может быть смонтирован в труднодоступных подробнее...

Цена: 6 700 руб.

VT592 кабельный датчик протечки
Датчик предназначен для работы совместно с кабелем протечки WLC10. Возможность подключения датчика как подробнее...

Цена: 3 800 руб.

-+ руб. руб.
Итого руб.

Данные о заказе