8.8. [DKSF 52/202.10 IU] Как управлять устройством при помощи SMS-команд

Информация в разделе относится к устройству NetPing 2/PWR-220 v2/SMS со встроенным 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 - время сброса реле в секундах

Полярность (направление) переключения реле при выполнении сброса должна cоответствовать заданному в настройках модуля «Сторож» (режим сброса). Если реле уже находится в состоянии сброса, команда сброса не имеет эффекта, хотя ответное уведомление об успешном выполнении «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 v2/SMS со встроенным аккумулятором).
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

где:

– текущее показание относительной влажности, в %

h1, h2 – границы диапазона «нормы» относительной влажности, в %

t – текущее показание температуры, в °C

kkkkk – идентификатор запроса (произвольное число от 3 до 9 цифр). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе


Ответ на запрос (NETPING A? community_w kkkkk) о состоянии аккумулятора (для устройства NetPing 2/PWR-220 v2/SMS со встроенным аккумулятором):

NP REPLY A? POWER SCR: V, CHARGING: C

где:

– источник питания устройства, может принимать значения: «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-уведомлением на вызвавший номер.