8.8. [DKSF 53.3/203.3 IU] Как управлять устройством при помощи SMS-команд
Информация в разделе относится к устройству NetPing 2/PWR-220 v33/GSM3G со встроенным GSM-модемом.
Устройство имеет возможность удаленного управления с помощью SMS-команд.
Синтаксис SMS-команд
Общий формат текста SMS-команды:
NETPING fff community_w kkkkk
где:
fff — код команды, например, Р1+ (см. ниже).
community_w — пароль, соответствует SNMP community для записи. Задается на странице «НАСТРОЙКИ» web-интерфейса устройства. Можно применять латинские буквы, цифры, символ «_» без кавычек и пробелов.
kkkkk — идентификатор запроса (произвольное число от 3 до 9 цифр). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе.
Текст команды нечувствителен к регистру, можно применять строчные и прописные буквы. Элементы команды разделяются пробелами. Недопустимо использование символов: ‘ (апостроф), “ (кавычка), @. Включение этих символов может вызвать сбой прошивки. Выполнение команды подтверждается ответным сообщением (см. ниже).
Коды команд
Код команды указывается слитно, без пробелов.
Код команды | Описание |
Pn+ | Включить реле n, где n — номер реле |
Pn- | Выключить реле n, где n — номер реле |
PnRt | Перезагрузить реле n, где n — номер реле, t — время сброса реле в секундах Полярность (направление) переключения реле при выполнении сброса должна соответствовать заданной в настройках модуля «Сторож» (режим сброса). Если реле уже находится в состоянии сброса, команда сброса не имеет эффекта, хотя ответное уведомление об успешном выполнении «NP DONE PnR» будет приходить отправителю. |
PnW | Перевести реле n в режим управление «Сторож», где n — номер реле |
PnS | Перевести реле n в режим управление «Расписание», где n — номер реле |
PnX | Перевести реле n в режим управление «Расписание+Сторож», где n — номер реле |
PnL | Перевести реле n в режим управление «Выход логики», где n — номер реле |
Pn? | Запросить состояние реле n, где n — номер реле |
P? | Запросить состояние всех реле в краткой форме |
Lm+ | Перевести линию m в состояние лог.1, где m — номер IO-линии (1...8) |
Lm- | Перевести линию m в состояние лог.0, где m — номер IO-линии (1...8) |
LmP | Выдать импульс на линию m, где m — номер IO-линии (1...8) |
Lm? | Запросить состояние линии m, где m — номер IO-линии (1...8) |
L? | Запросить состояние всех IO-линий в краткой форме |
N? | Запросить состояние пингеров на странице «SMS» |
Ka | Передать ИК команду через модуль IRC-TR v2, где a — номер команды |
Tb? | Запросить показания датчика температуры b, где b — номер термодатчика |
H? | Запросить показания датчика влажности |
A? | Запросить состояние аккумулятора (для устройства NetPing 2/PWR-220 v33/GSM3G со встроенным аккумулятором) |
U | Запросить баланс SIM-карты |
Примеры SMS-команд
Команда включения реле 1 устройства:
NETPING P1+ SWITCH
Команда выключения реле 2 устройства:
NETPING P2- SWITCH
Ответные сообщения на SMS-команды управления
Подтверждение исполнения команды, такой как переключение реле или изменение состояния дискретной линии вывода:
NP DONE fff kkkkk
где:
fff — код исходной команды, выполнение которой подтверждается данным сообщением. Например, Р1+;
kkkkk — идентификатор запроса (произвольное число от 3 до 9 цифр). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе.
Ошибка при разборе команды устройством. Наиболее вероятно, неправильный текст исходной команды:
NP WRONG CMD: "исходная команда kkkkk"
где:
Исходная команда — текст исходной команды, полностью заключенный в кавычки;
kkkkk — идентификатор запроса (произвольное число от 3 до 9 цифр). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе.
Неправильный пароль (Community) в исходной команде:
NP WRONG PASSWD IN kkkkk
NP WRONG PASSWD
где:
kkkkk — идентификатор запроса (произвольное число от 3 до 9 цифр). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе (вторая команда).
Ответные сообщения на SMS-команды запроса статуса/состояния
Ответ на запрос (NETPING Pn? community_w kkkkk) о состоянии реле:
NP REPLY Pnb kkkkk
где:
n — номер реле;
b — режим управления реле, возможное состояние реле кодируется символами: «M+» (ручное вкл.), «M-» (ручное выкл.), «W» (сторож), «S» (расписание), «X» (расписание+сторож), «L» (логика);
kkkkk — идентификатор запроса (произвольное число от 3 до 9 цифр). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе.
Ответ на запрос (NETPING P? community_w kkkkk) о состоянии всех реле:
NP REPLY P1bP2b kkkkk
где:
b — режим управления реле, возможное состояние реле кодируется символами: «M+» (ручное вкл.), «M-» (ручное выкл.), «W» (сторож), «S» (расписание), «X» (расписание+сторож), «L» (логика);
kkkkk — идентификатор запроса (произвольное число от 3 до 9 цифр). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе.
Ответ на запрос (NETPING Lm? community_w kkkkk) о состоянии IO-линии:
NP REPLY L1=0(IN|OUT|OUT.L) kkkkk
где:
Значение L1=0 приведено для примера. Перед знаком «=» стоит номер линии, после знака «=» логический уровень на линии.
IN|OUT|OUT.L — режим работы IO-линии, где IN — «вход», OUT — «выход», OUT.L — «выход логики».
kkkkk — идентификатор запроса (произвольное число от 3 до 9 цифр). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе.
Ответ на запрос (NETPING L? community_w kkkkk) о состоянии всех IO-линий:
NP REPLY L1=0(IN|OUT|OUT.L) L2=1(IN|OUT|OUT.L) L3=0(IN|OUT|OUT.L) L4=1(IN|OUT|OUT.L) kkkkk
где:
Значения L1=0 L2=1 L3=0 L4=1 приведены для примера. Перед знаком «=» стоит номер линии, после знака «=» логический уровень на линии.
IN|OUT|OUT.L — режим работы IO-линии, где IN — «вход», OUT — «выход», OUT.L — «выход логики».
kkkkk — идентификатор запроса (произвольное число от 3 до 9 цифр). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе.
Ответ на запрос (NETPING N? community_w kkkkk) о состоянии пингеров, встроенных в модуль SMS:
NP REPLY N1(IP|DNS name)=OK|FAILED N2(IP|DNS name)=OK|FAILED kkkkk
где:
OK — заданный IP-адрес/DNS-имя отвечает;
FAILED — заданный IP-адрес/DNS-имя молчит;
kkkkk — идентификатор запроса (произвольное число от 3 до 9 цифр). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе.
Ответ на запрос (NETPING Tb? community_w kkkkk) о показаниях термодатчика. Датчик с номером b вышел из строя либо не подключен:
NP REPLY Tb=? SENSOR FAILED kkkkk
где:
b — номер термодатчика;
kkkkk — идентификатор запроса (произвольное число от 3 до 9 цифр). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе.
Ответ на запрос (NETPING Tb? community_w kkkkk) о показаниях термодатчика. Датчик с номером b находится в статусе «ниже нормы», «в норме», «выше нормы» соответственно:
NP REPLY Tb=tC BELOW|IN|ABOVE SAFE RANGE (t1..t2C) kkkkk
где:
b — номер термодатчика;
t — текущее показание температуры, в °C;
t1, t2 — границы диапазона «нормы» температуры, в °C;
kkkkk — идентификатор запроса (произвольное число от 3 до 9 цифр). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе.
Ответ на запрос (NETPING H? community_w kkkkk) о показаниях датчика влажности. Датчик вышел из строя либо не подключен:
NP REPLY H=? SENSOR FAILED kkkkk
где:
kkkkk — идентификатор запроса (произвольное число от 3 до 9 цифр). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе.
Ответ на запрос (NETPING H? community_w kkkkk) о показаниях датчика влажности. Статус показаний датчика — «ниже нормы», «в норме», «выше нормы» соответственно:
NP REPLY H=h% BELOW|IN|ABOVE SAFE RANGE (h1..h2%) T= tC kkkkk
где:
h — текущее показание относительной влажности, в %;
h1, h2 — границы диапазона «нормы» относительной влажности, в %;
t — текущее показание температуры, в °C;
kkkkk — идентификатор запроса (произвольное число от 3 до 9 цифр). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе.
Ответ на запрос (NETPING A? community_w kkkkk) о состоянии аккумулятора (для устройства NetPing 2/PWR-220 v33/GSM3G со встроенным аккумулятором):
NP REPLY A? POWER SCR: V, CHARGING: C
где:
V — источник питания устройства, может принимать значения: «220V» (питание от сети 220В), «BATTERY» (питание от аккумулятора);
С — статус заряда аккумулятора, может принимать значения: «YES» (аккумулятор заряжается), «LOW» (заряд аккумулятора менее 10% от его общей емкости).
Запрос баланса SIM-карты (NETPING U community_w kkkkk). Команда запускает USSD-запрос. В ответ на команду приходит SMS-уведомление:
NP DONE U - USSD STARTED, WAIT FOR REPLY BY SMS
Менее чем через минуту после получения ответа устройством о балансе происходит отправка баланса отдельным SMS-уведомлением на вызвавший номер.