Часто возникает необходимость привязать некое действие к «одной кнопке», с чем успешно справляются различные системы умного дома, Wi-Fi-розетки и прочие облачные IoT-гаджеты. Но облако удобно и допустимо не всегда. Например, вы не хотите расширять периметр сети либо просто не доверяете облакам производителей такой техники. В этом случае подойдет схема отправки команды напрямую устройству, но зачастую это бывает не очень удобно, особенно для устройств, основные сценарии использования которых отличаются от текущих нужд. Например, наши устройства мониторинга и IPPDU. Разберем на двух кратких примерах, как можно реализовать переключение реле или иные действия одной-двумя «кнопками» с мобильного телефона через HTTP API и SMS-команды.
HTTP API
Для этого отлично подходит Android-приложение «Ярлыки HTTP-запросов». Это приложение с открытым исходным кодом, доступным на GitHub. Возможности его достаточно широки, мы же воспользуемся только базовой функцией — создание HTTP-ярлыков на рабочем столе, тап по которым будет вызывать обращение к HTTP API нашего прибора. На том, как установить приложение, останавливаться не будем, эта процедура достаточно проста, и любой пользователь Android-смартфона легко с ней справится.
Добавить новый ярлык можно тапом по синему плюсу в нижнем правом углу экрана (1), сейчас нас интересует «Обычный ярлык» (2).
Далее нас встречают настройки ярлыка, их множество:
- Название ярлыка / Описание — что и чем будем управлять.
- Основные настройки запроса — URL для управления конкретным объектом на нашем устройстве, например реле. И HTTP-метод, в нашем случае GET.
- Заголовки запроса — можно добавить нужную информацию в заголовки, в нашем случае нет необходимости.
- Тело запроса / Параметры — в нашем случае неприменимо. Для POST, например, можно задать какие-нибудь переменные.
- Аутентификация — важный момент, в нашем случае «Базовая», и нужно ввести логин/пароль от веб-интерфейса устройства.
- Response Handling — то, как будет отображаться ответ от устройства. Можно оставить по умолчанию «Ответ в уведомлении», тогда в нижней части экрана будет появляться уведомление о том, что ответил прибор. Полезно для понимания, выполнена ли команда.
- Писать сценарии — очень интересная функция. Можно вставить куски JavaScript-кода, которые будут выполнены или до выполнения запроса, или при успешном выполнении, или при ошибке.
- Другие настройки — мелкие прочие настройки, останавливаться не будем.
- Расширенные технические настройки — название и описание говорят сами за себя.
Будем делать ярлык сброса розетки NetPing 2/PWR-220 v13/GSM3G по питанию (те же способы применимы и к другим нашим устройствам), для этого нам достаточно заполнить следующее:
- Название ярлыка / Описание: например, 2PWR Розетка 1 / переключить.
- Основные настройки запроса: метод — GET, URL — http://ip:port/relay.cgi?r1=f,3, где ip:port — это IP-адрес и порт веб-сервера на приборе, а «/relay.cgi?r1=f,3» — переключение первой розетки в инверсное состояние на 3 секунды и обратно, согласно документации. Для работы извне рекомендуется белый статический адрес или DDNS/DNS, открытый порт или иные способы, которые позволят обратиться к прибору снаружи.
- Аутентификация: Базовая, логин/пароль по умолчанию — visor/ping.
После сохранения новый ярлык появится в общем списке. Чтобы добавить его на экран, нужно долгим тапом (1) вызвать контекстное меню и в нем нажать на пункт «Разместить на главном экране» (2).
После вышеописанных процедур ярлык должен появиться на одном из рабочих столов телефона, после чего можно проверить работу нажатием на него (1) — спустя пару секунд в нижней части экрана появится сообщение relay_result(‘ok’) (2), это ответ от нашего NetPing’a, который говорит о том, что команда принята. Если устройство находится в непосредственной близости от вас, вы услышите два щелчка реле с интервалом в 3 с.
SMS
Этот вариант, к сожалению, не удалось уместить в «одну кнопку». Потребуются две. На этот раз предлагаем вам воспользоваться приложением «Создатель ярлыков».
После установки приложения нас встречает его главный экран. Нас интересует пункт «Шаблон сообщения».
После тапа по этому пункту нам открываются настройки добавления нового ярлыка:
Имя — имя, с которым он будет отображаться.
Сообщение для СМС — ставим чекбокс, канал отправки у нас как раз СМС.
Сообщение — сам текст сообщения. Согласно документации, указанная команда сбросить розетку 1 по питанию на 3 с.
Дополнительные параметры — тут нужно добавить номер телефона, на который СМС будет отправлена. Можно несколько номеров.
Открыть в приложении — выбираем приложение, при помощи которого СМС будет отправлена. В моем случае — стандартное системное «Сообщения».
Далее, чтобы сохранить и добавить его на экран, нужно тапнуть на плюс в верхней правой части экрана и «На лаунчер».
После он появится на одном из рабочих столов телефона:
После тапа по свежесозданному ярлыку будет открыто указанное приложение, в нем диалог с указанным адресатом(ами), и в поле сообщения для отправки будет вставлен введенный нами текст.
На этом краткое описание двух простых способов управления «одной кнопкой» завершено. Надеюсь, информация была для вас полезной. Если у вас есть свои примеры автоматизации и упрощения управления и работы с нашими устройствами, присылайте их к нам на адрес support@netping.ru.