iRidium для SNMP
Набор инструментов для создания интерфейса визуализации
Драйвер предназначен для управления оборудованием, работающим по протоколу SNMP v1.
**Пример: *iRidium SNMP Driver
Описание
iRidium для SNMP - это набор инструментов, позволяющий создать интерфейс для управления домом или офисом на базе оборудования, работающего по протоколу SNMP v.1 . Реализует команды протокола SNMP для изменения настроек устройства
Протокол SNMP позволяет получать сработки от различных устройств, таких как:
- датчики;
- видеокамеры;
- роутеры.
Данный драйвер не поддерживает команду "Get Next". Если в фидбек приходит несколько OID'ов, то укажите нужный в поле "OID".
Чтобы определить нужный OID с параметрами устройства воспользуйтесь iReasoning MIB Browser.
Найдите заготовленную производителем устройства MIB таблицу для браузера, или используйте Trap Receiver для отслеживания приходящих OID .
Вариант применения
-
Настройка события при регистрации в сети устройства. Любой человек вошедший в зону действия сети wi-fi, регистрируется в сети и заранее настроенный роутер высылает оповещение по SNMP в iRidium, где уже отрабатывается сценарий. Данный сценарий поможет с определением появления в сети устройства, которое вы не можете пропинговать(например устройства работающие на iOS).
-
Видеокамера(любой другой датчик) срабатывая на движение высылает сообщение в iRidium, далее в проекте можно настроить push-уведомление "Посторонний в помещении" отсылаемое на телефон.
-
Анализ изменений температуры погоды, датчика тепла на устройстве. Создайте собственную базу со значениями датчика, который шлет температуру по snmp протоколу, нарисуйте тренд изменения (подробная информация по созданию находится здесь). Отслеживайте изменения, или создайте событие об оповещении.
Подключение
Настройка оборудования
- Зайдите в настройки своего оборудования и выберете протокол SNMP v1. 2. Укажите порт SNMP Port(по умолчанию 161), он необходим для получения запросов.
- Укажите trap-port (по умолчанию 162), по нему устройство будет отсылать SNMP trap.
- Укажите группу для чтения (по умолчанию public).
- Укажите группу для записи (по умолчанию private).
- Укажите Trap адрес. IP устройства с драйвером, на которое будут отсылаться trap при запросе, или сработке устройства(датчика, роутера, камеры).
Внимание! В целях безопасности, в проекте и на устройствах, измените параметр "Community" с public на более сложный.
Пример настройки камеры Activecam
- Настраиваем SNMNP на камере Activecam.

- Настраиваем генерацию trap-пакета, событие при котором будет происходить отсылка на наш драйвер.

Добавить драйвер SNMP можно с помощью импорта из CSV файла или ручным заполнением данных.
Импорт из CSV файла (*.csv)
Universal import from CSV File - это возможность импорта драйверов из таблицы, представленной в формате CSV.
Подробную инструкцию по созданию CSV файла и импорта этого файла в IRidium Studio можно прочитать по ссылке.
Добавление драйвера вручную
Добавьте драйвер SNMP в проект из базы данных iRidium:
- Запустите приложение iRidium Studio, создайте новый проект iRidium
- Откройте боковую панель Devices и выберите драйвер SNMP.

Обязательно укажите адрес контроллера в проекте iRidium, иначе он не будет работать.
Настройка параметров подключения
Когда драйвер добавлен в проект, нужно указать настройки подключения.

- Host - IP-адрес устройства.
- Port - порт подключения к устройству для передачи данных (по умолчанию 161, драйвер посылает запросы агенту).
- LocalPort - порт подключения к устройству для получения данных(по умолчанию 162, агент посылает ответ драйверу).
При наличии двух драйверов в проекте, LocalPort должен быть разным.
- Request tags at start - опрашивать при старте(true/false).
- Interval between tag polls - интервал между опросами тегов. после безуспешного опроса драйвер переключается на опрос другого тега.
- Maximum number of tag polls - количество попыток опроса каждого тега.
Commands & Feedbacks
Команды и каналы обратной связи нужно привязать к графическим элементам для управления оборудованием:
- Команда привязывается к графическому элементу.
- Канал обратной связи привязывается к графическому элементу, чтобы отобразить состояние переменной
Чтобы связать команду или канал с графическим элементом, используйте метод drag&drop - перетягивание.
Чтобы отправить команду, нужно перетянуть ее на графический элемент. Чтобы отобразить обратную связь, нужно перетянуть канал на графический элемент, и указать, куда вывести значение (Value):

Настройка Commands и Feedbacks
Для настройки команды необходимо установить значение следующих полей:
- OID - числовой идентификатор объекта;
- Type - тип команды/фидбека;
- Value Type - тип значения;
- Community - последовательность символов, описывающая принадлежность к группе, своего рода пароль.
Для настройки фидбека необходимо установить значение следующих полей:
- OID - числовой идентификатор объекта.
- Get - команда для запроса данных с устройства:
- Value - фидбек для возврата запрошенного значения;
- Trap - событийный фидбек, срабатывает когда что-либо произошло.
- Community - последовательность символов, описывающая принадлежность к группе, своего рода пароль.
Пример запроса значений:
var device = IR.GetDevice("SNMP");
function get_feedback() // отправка единицы в команду с типом Get (запросить значение).
{
device.Set("getsysUpTime", 1);
IR.Log("request value after 32");
}
IR.SetTimeout(32000, get_feedback); // выполнить функцию через 32 секунды.
Команда и фидбек должны быть подписаны на один OID, тип команды: Get, тип фидбека: Value.
Пример подписки на изменения значений в тегах:
IR.AddListener(IR.EVENT_TAG_CHANGE, device, function (n,v) {
IR.Log("EVENT_TAG_CHANGE " + n + " " + v);
});
Тип фидбека: Trap.
Value Types
| тип | описание |
|---|---|
| Integer | Целое число |
| String | Строка |
| Null | Переменная без значения (ноль) |
| OID | Идентификатор объекта |
| IP4 | IP-адрес |
| Counter | Счетчик - неотрицательное целое число, значение которого увеличивается монотонно от 0 до значения 2^32-1 и затем вновь возвращается в 0 |
| Time | Счетчик, который считает время в сотых долях секунды с какой-либо исходной точки |