Устройство NSG–1820MC, NSG–700/4AU установлено в банкомате и используется, помимо своего основного назначения, для перезагрузки банкомата по питанию в случае сбоев его программного обеспечения. Для управления используется силовая розетка NSG SPC–2i, подключённая к порту 1–Wire.
Конфигурация порта NSG
port : 1-wire : : device : : : swt2-3AC10D0100000054 : : : : type = "spc2i"
Узел swt2-3AC10D0100000054 создаётся автоматически при помощи команды .port.1-wire.autoconfig и соответствует уникальному идентификатору устройства 1–Wire. Тип устройства необходимо установить вручную для того, чтобы обеспечить возможность чтения/записи в устройство и корректное представление его состояний "вкл/выкл". Управление розетками производится командами в узлах .port.1-wire.device.swt2-3AC10D0100000054.circuit.1 и circuit.2, соответственно. Для управления можно использовать любые штатные средства удалённого доступа к устройству: HTTP/HTTPS, SSH, Telnet, а также локальную консоль.
Выделенный пользователь для управления розеткой
Для удобства эксплуатации может быть целесообразно создать в системе отдельного пользователя с ограниченными правами, чтобы дежурный оператор мог в любое недоброе время суток войти на устройство NSG и перезагрузить банкомат, не имея при этом возможности испортить что-либо в конфигурации устройства.
system : users : : texnik : : : scheme : : : : rozetka-bankomata : : : : : @help = "Upravlenie rozetkoi pitaniya bankomata" : : : : : @link = ".port.1-wire.device.swt2-3AC10D0100000054.circuit.1"
Пароль пользователя необходимо установить командой .system.users.texnik.password . При входе в систему пользователь texnik будет видеть только команды управления первой розеткой, остальная конфигурация будет для него недоступна. Более радикальный вариант:
system : users : : texnik : : : scheme : : : : restart-bankomata : : : : : @help = "Restart bankomata po pitaniyu" : : : : : @link = ".port.1-wire.device.swt2-3AC10D0100000054.circuit.1.drop"
В этом случае меню пользователя будет содержать единственный доступный пункт — разовую команду restart-bankomat . Она будет выключать розетку на установленный интервал времени.
Управление розеткой из скрипта
Банкомат "виснет" настолько часто, что имеется необходимость контролировать его и, при необходимости, перегружать автоматически, не дожидаясь звонков пользователей в службу поддержки. В данном примере для этого используется штатная функциональность netping; 192.168.1.2 IP-адрес банкомата.
services : netping : : check-bankomat : : : adm-state = "up" : : : destination = "192.168.1.2" : : : failure-script = "nsgsh -q .port.1-wire.device.swt2-3AC10D0100000054.circuit.1.drop" : : : interval = 600 : : : retry = 3 : : : start-delay = 300
Большой интервал времени срабатывания netping (3×10 мин) выбран здесь для того, чтобы исключить ложные срабатывания при штатном выключении банкомата на время обслуживания, инкассации и т.п.
Примечание. Процедура ping проверяет работоспособность только ОС банкомата в целом и её стека IP, но не прикладного ПО. Для более достоверного контроля желательно использовать возможность установления TCP-соединения с прикладным ПО банкомата, если таковая имеется.
Управление розеткой с помощью SMS
Рассматривается ситуация, когда дежурный администратор, отвечающий за работу банкомата, может находиться не на своём рабочем месте (на выезде на другую площадку, в отпуске и т.п.) и не иметь в данный момент доступа к устройству NSG через Интернет (по соображениям безопасности или техническим). В этом случае может быть использовано управление устройством NSG при помощи SMS (при условии, что оно настроено заранее). Конфигурация обработчика SMS:
port : m1 : : sms-handler : : : mode = text : : : macros : : : resetThisPoopyATM : : : : script = "nsgsh .port.1-wire.device.swt2-3AC10D0100000054.circuit.1.drop;"
На смартфоне администратора используется приложение NSG SMS shell для Android с дружественным графическим интерфейсом. После загрузки меню приложения с устройства NSG оно будет содержать единственный пункт ResetATM без параметров. Чтобы осуществлять управление и с простейшего телефона, который поддерживает только отправку текстовых SMS, удобнее выбрать для макрокоманды более короткое и легко запоминающееся имя, например, r.
Дополнительные замечания:
Возможно также управление розеткой из программ и скриптов, работающих на стороннем компьютере. Для этого необходимо:
Аналогичным образом можно удалённо изменять любые другие настройки и исполнять команды на устройстве NSG со стороннего компьютера.