Удаленная перезагрузка роутеров iRZ

#роутеры #GPIO #20.x

С помощью отправки на роутер SMS

Используйте веб-интерфейс:

  1. Перейдите в раздел Service → Command over SMS.

  2. Включите галочку Enable.

  3. В поле Message укажите команду в SMS-ке.

  4. Укажите служебную команду в поле Command (можно указать полный путь до команды): /sbin/reboot (перезагрузка)

  5. Пропишите доверенный номер телефона и сохраните.

Если номер телефона не указывать, то SMS с командами можно будет отсылать с любых телефонных номеров.

При включении этой опции, демон smrd на роутере проверяет наличие входящего СМС сообщения с командой один раз в минуту.

Cпособ ТОЛЬКО для роутеров серии R2/R4

Если к GPIO подключено какое-то реле, контролирующее питание, то по команде SMS можно заставить его сработать и перезагрузить роутер.
  1. В разделе Service → Command over SMS добавьте строку, отметьте галочкой Enable ее включение

  2. Придумайте слово-команду SMS-ки.

  3. В столбце Command пропишите:

    gpio write 1 1 && sleep 3 && gpio write 1 0

    sleep 3 – задержка замыкания GPIO установлена в 3 секунды

  4. Укажите номера "доверенных" телефонов, с которых будут отсылаться SMS.

  5. Сохраните и проверьте.

Описание используемых команд настройки GPIO в вышеуказанном п.3

Пример (установка gpio 1 в состояние "ВХОД"):

/usr/bin/gpio set 1 in

/usr/bin/gpio - команда выполняется в терминале

set N in/out - установить gpio N на вход или выход

get N - узнать состояние gpio порта, то есть работает он на вход или на выход

write N 0/1 - подать на указанный gpio порт (N) состояние 1 или 0, то есть высокое напряжение или низкое, работает только если порт в режиме OUT

read N - прочитать состояние данного gpio

где N соответствует порядковому номеру порта gpio = 1, 2 или 3 для роутера семейства R4, и от 1 до 7 для роутера R2

С помощью сработавшего GPIO от нажатия на кнопку

Через веб-интерфейс

  1. Перейти в Tools → GPIO и указать выполнение действия (Action) – Command.

    Тогда, "дернув" контакт GPIO, роутер выполнит указанную команду (например: /sbin/reboot)

    CHerez veb interfejs
  2. Сохранить параметры.

    И теперь, если подключить кнопку к выходам GPIO1 и GPIO2, то при нажатии на нее роутер перезагрузится.

Через командную строку

Используя встроенный редактор vi, править конфиг gpio: vi /etc/config/gpiomond

config gpio 'IO_1'
option direction 'in'
option value '0'
option trigger 'rising'
option action 'command'
option parameter '/sbin/reboot'
option debounce '100'
config gpio 'IO_2'
option direction 'out'
option value '1'
option trigger 'rising'
option action 'none'
option debounce '100'