Main

Устройства NetPing

Компания Netping производит и реализует набор устройств, с помощью которых имеется возможность получать информацию с датчиков, а так же организовать управление удалённой нагрузкой с помощью ethernet-сети (по протоколу SNMP). В нашем примере мы возьмём два устройства: UniPing v3 и NetPing 2/PWR-220 v3.

Итак, к устройству Uniping мы подключим два датчика температуры, одну управляемую розетку, так же инфра-красный интерфейс IRC-TR v2. Непосредственный монтаж и базовая настройка достаточно просты (смотрим документацию к устройству), так что буквально через несколько минут можно получить устройство, которое считывает показания датчиков и управляет нагрузкой через встроенный веб-интерфейс.

Веб-интерфейс устройства:

Наша задача в том, чтобы сделать интеграцию данного устройства в нашу систему Умного Дома.

Итак, для начала добавим данные устройства через панель управления (модуль SNMP):

Указываем название устройства, адрес, а так же read/write community -- эти данные нужны для обращения к устройству (берутся из документации производителя):

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

В нашем случае, мы добавим три свойства с известными идентификаторами:

  • Датчик температуры 1 (oid: 1.3.6.1.4.1.25728.8800.1.1.2.1)
  • Датчик температуры 2 (oid: 1.3.6.1.4.1.25728.8800.1.1.2.2)
  • Порт IO1 (oid: 1.3.6.1.4.1.25728.8900.1.1.3.1)

Получаем вот такую картину настройки устройства:

Дополнительно были заданы интервалы периодического опроса датчиков температуры. Если всё настроено правильно, то значения должны "подхватиться" сразу при добавлении свойств.

Последним шагом интеграции будет привязка SNMP-свойств к объектам внутри системы MajorDoMo. Для этого нужно указать их в полях "Связанные объект" и "Связанное св-во":

При наличии данной привязки система будет автоматически синхронизировать значения SNMP-свойств со значениями свойств указанных объектов, последние же можно использовать для отображения значений в меню, построение графиков и т.п. При этом связь будет двухсторонней -- если, к примеру, установить значение свойства объекта netping_o1.status в 1 (например в сценарии через setGlobal('netping_o1.status',1); или через выключатель в меню управления), то система отправит команду установки на связанное SNMP-свойство.

Пример настройки пункта меню для управления розеткой:

Результат:

Вот и всё. Абсолютно таким же образом мы добавляем второе устройство NetPing:

 
 

Обсуждение

 

sergejey: Обсуждение страницы Устройства NetPing

Amarok: Прописал всё по вашей статье. Статус устройства Алиса считывает, положение выключателя меняется, но вот переключать не выходит. Что-то упустил я? Clipboard01.jpgClipboard02.jpg

kosch1: Добрый день! У меня сделано включение выключение Бойлера с контролем температуры и контролем работы тэна через токовое реле. если хочешь выложу сценарий.

Amarok: Добрый день! У меня сделано включение выключение Бойлера с контролем температуры и контролем работы тэна через токовое реле. если хочешь выложу сценарий. Будет не плохо. Благодарю за ранее

kosch1: $snmp_host = '192.168.0.123'; // адрес устройства $snmp_community = 'SWITCH'; // "секретное слово" $snmp_oid = '.1.3.6.1.4.1.25728.8900.1.1.2.9'; // идентификатор параметра, Вход 9 NetPing485 $result = snmpget($snmp_host, $snmp_community, $snmp_oid); // чтение порта $result = substr($result,8,10);// выделение символа из строки //echo $result; if ($result == "1" ){ setGlobal('BollerStation.State',"220В Подано"); //echo "равно"; } else { setGlobal('BollerStation.State',"Питание Отключено"); //echo "не равно"; } //------------------------------------------ //Считывание срабатывания токового реле на бойлере $snmp_host = '192.168.0.118'; // адрес устройства $snmp_community = 'SWITCH'; // "секретное слово" $snmp_oid = '.1.3.6.1.4.1.25728.8900.1.1.2.3'; // иентдификатор параметра, Вход 3 NetPing IO $result = snmpget($snmp_host, $snmp_community, $snmp_oid); //чтение порта $result = substr($result,8,10);// выделение символа из строки echo $result; if ($result == "1" ){ setGlobal('BollerStation.ten',"Тэн включен"); } else { setGlobal('BollerStation.ten',"Тен Выключен"); }

kosch1: Меню управления

Amarok: Мой сценарий: if (getGlobal('netping_o1.status') == "1" ){ setGlobal('netping_o1.status',"1"); } else { setGlobal('netping_o1.status',"0"); }

Amarok: Странно, приведенный мною выше скрипт работает если дергай выключатель. Если же вызываю его через запуск по ссылке: http://127.0.0.1:80/objects/?script=mattress или через командную строку: D:\_majordomo\htdocs\obj.bat script:mattress то ничего не происходит. Где подкрутить?

Amarok: Кхм?...

Amarok: тема ап

sergejey: Вернулся из двух-недельного отпуска и только сейчас руки дошли до форума :) Я в личку ответил, но на всякий случай продублирую тут вместо if (getGlobal('netping_o1.status') == "1" ){ setGlobal('netping_o1.status',"1"); } else { setGlobal('netping_o1.status',"0"); } стоит попробовать if (getGlobal('netping_o1.status') != "1" ){ setGlobal('netping_o1.status',"1"); } else { setGlobal('netping_o1.status',"0"); }

I_I_Imonder: посоветуйте какой программой вытащить OID из UniPing RS232

I_I_Imonder: посоветуйте какой программой вытащить OID из UniPing RS232 есть живые?

I_I_Imonder: не могу получить SNMP свойства из Netping RS232, перепробовал кучу софта, есть проверенный способ? кто как делал?

denis: посоветуйте какой программой вытащить OID из UniPing RS232 есть живые? как я понимаю без MIB-файла никак( Надо обращаться к производителю. вот похоже этот файл: https://netpingeastcoltd-public.sharepoint.com/Pub/DKSF_50.12.5_MB.mib на странице http://netping.ru/product_item.aspx?id=_nping_bases_UniPing-rs232 но после общения с дилерами в СПб желание покупать что-то у этой конторы пропало)) я лучше ардуину куплю за эти деньги.

rusmur: Друзья, сделал подключение MDM к UniPing , по статье автора. У меня один термодатчик и одна розетка на io1, при вводе в полях "Значение" все правильно считывается и отображается. Но вот переключатель на закладке "Розетки" как у автора в статье, для моей розетки(выхода io1) не работает. В чем может быть проблема? В полях "Запускать Объект.Метод", "Сценарий" и "Код" для типа "Выключатель" выхода io1 точно ничего вводить не нужно??? OID на закладке SNMP я задал правильный int read/write. Проект MDM по моему очень нужный и интересный. И еще один вопрос, в MDM можно ли создать условие по типу проверяем температуру термодатчика TS1 и если температура > 20 градусов, включить выход io1 на котором висит розетка.

sergejey: Друзья, сделал подключение MDM к UniPing , по статье автора. У меня один термодатчик и одна розетка на io1, при вводе в полях "Значение" все правильно считывается и отображается. Но вот переключатель на закладке "Розетки" как у автора в статье, для моей розетки(выхода io1) не работает. В чем может быть проблема? В полях "Запускать Объект.Метод", "Сценарий" и "Код" для типа "Выключатель" выхода io1 точно ничего вводить не нужно??? OID на закладке SNMP я задал правильный int read/write. А можно набросать снимков экрана, как сейчас настроено? (удобно через программу на http://clip2net.com) Задан ли связанный объект/свойство в модуле SNMP для термодатчика и io1 ?

rusmur: А можно набросать снимков экрана, как сейчас настроено? (удобно через программу на http://clip2net.com) Задан ли связанный объект/свойство в модуле SNMP для термодатчика и io1 ? Я пока просто хочу добиться такого-же интерфейсного переключателя как у тебя для управления выводом-розеткой io1. Потом буду добиваться вывода температуры с датчика ts1 в интерфейс под переключателем управления io1.:) Если есть такая возможность хочу настроить чтобы при повышении температуры ts1 переключался выход io1 и присылалось письмо на мой майл. (Есть такие возможности у MDM на данный момент?) И еще у меня на входе io2 датчик наличия 220v тоже фирмы Алентис но я пока его не касаюсь. Просто пользоваться встроенной консолью UniPinga не оч. удобно, а PRTG не дает такого интерфеса для пользователя настроенной системы как MDM да и не все там можно настроить. PRTG все-таки для умного дома не очень подходит это больше административная консоль. Под рукой нет UniPingа сейчас завтра смогу сделать скрины. В связанном объекте - "netping_o1" в связанном св-ве - "status" на закладке SNMP. У меня UniPing server solution. Я так понял что в "Связанный объект" и "связанном свойстве" на закладке SNMP можно ввести произвольные строки, главное их же прописать при создании меню выключателя в полях "Связанный Объект.свойство"? У меня так и сделано.

nknvrd: Друзья, сделал подключение MDM к UniPing , по статье автора. У меня один термодатчик и одна розетка на io1, при вводе в полях "Значение" все правильно считывается и отображается. Но вот переключатель на закладке "Розетки" как у автора в статье, для моей розетки(выхода io1) не работает. В чем может быть проблема? В полях "Запускать Объект.Метод", "Сценарий" и "Код" для типа "Выключатель" выхода io1 точно ничего вводить не нужно??? OID на закладке SNMP я задал правильный int read/write. А можно набросать снимков экрана, как сейчас настроено? (удобно через программу на http://clip2net.com) Задан ли связанный объект/свойство в модуле SNMP для термодатчика и io1 ? Что конкретно вас интересует, не совсем понял? Опишите, может помогу, под рукой есть устройство Uniping

I_I_Imonder: Друзья! а кто нибудь пробовал управлять устройствами через netping rs232 по com - порту? поделитесь опытом

Zaezd2008: Столкнулся с проблемой. Пример, вот так работает замечательно: -setGlobal('netping_o1.io1',1); Но есть потребность послать одновременно на io1 и io2 логическую 1: -setGlobal('netping_o1.io1',1); -setGlobal('netping_o1.io2',1); В итоге работает не одновременно, а последовательно, что недопустимо. Если имеются варианты другого кода, уважаемые гуру прошу помощи. Есть возможность посыла URL команд: http://192.168.0.100/io.cgi?io1=f,5 http://192.168.0.100/io.cgi?io2=f,5 Но как послать эти команды из мажородомо, притом одновременно?

sergejey: Можете попробовать так: getURL('http://192.168.0.100/io.cgi?io1=f,5',0); getURL('http://192.168.0.100/io.cgi?io2=f,5',0); Но они всё равно последовательно отправятся. Даже если их одновременно послать, то мне кажется контроллер их все равно последовательно выполнит.

Zaezd2008: Можете попробовать так: getURL('http://192.168.0.100/io.cgi?io1=f,5',0); getURL('http://192.168.0.100/io.cgi?io2=f,5',0); Так, к сожалению, вообще не работает, ни 1 ый ни 2 ой... Попробовал как двойную ссылку вот такую: <a href="#" onclick="javascript:window.open('http://192.168.0.100/io.cgi?io1=f,5');window.open('http://192.168.0.100/io.cgi?io2=f,5');return false;">тест</a> Контроллер на нетпинге выполняет одновременно io1 и io2! Как бы теперь это в кнопку меню "затянуть"..

[ Обсудить на форуме ]

 

Gearbest Устройства для Умного Дома из Китая
Устройства для Умного Дома из Китая
Gearbest Комплектующие для Умного Дома из Китая
Комплектующие для Умного Дома из Китая

Информация

Проекты

Партнёры

edit SideBar

 
Facebook
 
ВКонтакте
 

 

Blix theme adapted by David Gilbert, powered by PmWiki