Роутеры LT5x имеют 3 универсальные линии GPIO, которые имеют возможность работать в трех режимах:
- АЦП - измерение напряжения (до 60В на один канал)
- Сухой контакт (сигнал замыкание/размыкание)
- Открытый коллектор (управление питанием внешних подключенных устройств)
В данной статье рассмотрим способ реализации отправки тревожных SMS по замыканию/размыканию Сухого контакта.
Поскольку готового решения для реализации такой функции нет, был разработан bash-скрипт, который считывает состояние входа (путем отслеживания напряжения) и сравнивает с пороговым значением напряжения (3585мВ). Если значение напряжения выше порогового - контакт разомкнут и наоборот. Отталкиваясь от состояния, роутер отправляет соответствующее SMS на указанные номера телефона.
Также, дополнительным функционалом скрипта является отправка SMS, если СК замкнут в течение длительного времени (по умолчанию - 1 минута)
1. Необходимо скачать скрипт по ссылке - sms_IO1.sh
2. В текстовом редакторе необходимо изменить номер телефона для отправки SMS (вместо номер1,2,3 указать номера в произвольном формате)
3. Подключаемся к роутеру через WinSCP (https://teleofis.freshdesk.com/a/solutions/articles/19000039696), создаем какую-нибудь пользовательскую директорию (например, /etc/userscript) и переносим туда файл со скриптом
4. Далее, переходим в web-интерфейс, Сервисы - Управление по SMS и включаем службу.
5. Переходим в раздел Система - Скрипты инициализации, листаем в самый низ страницы и добавляем наш скрипт в автозапуск:
6. Переходим в терминал ssh и выдаем права на исполнение скрипта командой chmod +x /etc/userscript/sms_IO1.sh
7. Можем проверить работу скрипта. Для этого введем команду для запуска скрипта и воспроизведем замыкание и размыкание контакта на входе: