Управление Sanyo проектором с snmp - PullRequest
2 голосов
/ 18 января 2012

Я пытаюсь управлять проекторами Sanyo (PLC-XU106) с помощью snmp. Приложение Windows PJ Network Manager использует snmp для получения температуры от проекторов и для контроля ее состояния (включение, выходы и т. Д.).

Теперь мне нужно управлять им с помощью bash-скрипта, используя snmpget и другие инструменты из net-snmp

Используя snmpwalk -v 1 -c public 192.168.1.99, чтобы получить поддерево значений управления, я получаю следующие значения:

SNMPv2-MIB::sysDescr.0 = STRING: 1.001 00000 01012
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.17363.101.101.102.101.105
DISMAN-EVENT-MIB::sysUpTimeInstance = INTEGER: 0
SNMPv2-MIB::sysContact.0 = STRING: 
SNMPv2-MIB::sysName.0 = STRING: 
SNMPv2-MIB::sysLocation.0 = STRING: 
SNMPv2-MIB::sysServices.0 = INTEGER: 64
IF-MIB::ifNumber.0 = INTEGER: 1

И с snmpwalk -v 1 -c public 192.168.1.99 SNMPv2-SMI::enterprises.17363.101.101.102.101.105 я получаю это:

SNMPv2-SMI::enterprises.17363.101.101.102.101.105.101.0 = INTEGER: 1968
SNMPv2-SMI::enterprises.17363.101.101.102.101.105.102.0 = INTEGER: 0
SNMPv2-SMI::enterprises.17363.101.101.102.101.105.103.101.0 = STRING: "Computer1"
SNMPv2-SMI::enterprises.17363.101.101.102.101.105.103.102.0 = STRING: "ANALOG"
SNMPv2-SMI::enterprises.17363.101.101.102.101.105.103.103.0 = INTEGER: 2
SNMPv2-SMI::enterprises.17363.101.101.102.101.105.104.101.0 = INTEGER: 32
SNMPv2-SMI::enterprises.17363.101.101.102.101.105.104.102.0 = INTEGER: 0
SNMPv2-SMI::enterprises.17363.101.101.102.101.105.105.101.0 = INTEGER: 0
SNMPv2-SMI::enterprises.17363.101.101.102.101.105.105.102.0 = INTEGER: 4
SNMPv2-SMI::enterprises.17363.101.101.102.101.105.106.101.101.0 = INTEGER: 0
SNMPv2-SMI::enterprises.17363.101.101.102.101.105.106.101.102.0 = INTEGER: 0
SNMPv2-SMI::enterprises.17363.101.101.102.101.105.106.101.103.0 = INTEGER: 0
SNMPv2-SMI::enterprises.17363.101.101.102.101.105.106.102.101.0 = INTEGER: 347
SNMPv2-SMI::enterprises.17363.101.101.102.101.105.106.102.102.0 = INTEGER: 432
SNMPv2-SMI::enterprises.17363.101.101.102.101.105.106.102.103.0 = INTEGER: 308
SNMPv2-SMI::enterprises.17363.101.101.102.101.105.107.101.0 = INTEGER: 3
SNMPv2-SMI::enterprises.17363.101.101.102.101.105.107.102.0 = INTEGER: 1
SNMPv2-SMI::enterprises.17363.101.101.102.101.105.107.103.0 = INTEGER: 1
SNMPv2-SMI::enterprises.17363.101.101.102.101.105.108.0 = STRING: "XU106"
SNMPv2-SMI::enterprises.17363.101.101.102.101.105.109.101.0 = INTEGER: -1
SNMPv2-SMI::enterprises.17363.101.101.102.101.105.109.102.0 = INTEGER: 1
End of MIB

После некоторых тестов я понял, что некоторые из этих значений:

температура

SNMPv2-SMI::enterprises.17363.101.101.102.101.105.106.102.101.0 = INTEGER: 347
SNMPv2-SMI::enterprises.17363.101.101.102.101.105.106.102.102.0 = INTEGER: 432
SNMPv2-SMI::enterprises.17363.101.101.102.101.105.106.102.103.0 = INTEGER: 308

Время лампы.

SNMPv2-SMI::enterprises.17363.101.101.102.101.105.101.0 = INTEGER: 1968

Но .. как я могу изменить состояние проектора? Включение / режим ожидания или выход? Я не могу найти определение MIB.

Edit:

Я могу включить / выключить проектор с помощью http запроса:

curl -d "POWER+ON=ON" 192.168.1.99/index.htm
curl -d "POWER+OFF=Standby" 192.168.1.99/index.htm

Но я думаю, что есть способ сделать это с помощью snmp, например

snmpset -v 1 -c public 192.168.1.99 SNMPv2-SMI::enterprises.17363.101.101.102.101.105.102.0 i 128

1 Ответ

2 голосов
/ 18 января 2012

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

1) найти MIB для устройства, которое определяет, что представляет собой каждый из OID.Если у вас есть это, вы можете настроить Net-SNMP для отображения результатов так, что вы получите больше, чем строка чисел и значение, и вдруг все будет иметь смысл.Но это выглядит сложно, если оно не поставляется с вашим программным обеспечением для управления сетью, так как его трудно найти в Интернете.

2) Таким образом, вариант № 2 - захват трафика на устройство, когда вы переключаете питание с помощьюPJ и открыть захват в Wireshark.Он должен показать вам, какие именно OID устанавливаются поверх SNMP для переключения питания и т. Д. Затем написание сценария, имитирующего, что использование snmpset просто.

...