logo

Работа с SMS на роутерах iRZ серий R0, R2, R4, R50

В роутерах iRZ есть несколько способов отправки смс для различных ситуаций. Рассмотрим три способа отправить SMS с помощью роутера.

Способ №1: отправка смс из пункта меню Send SMS.

В данном способе все просто, перейдите в раздел Tools ⇒ Send SMS и заполняете поле Recipient Phone Number номером телефона получателя SMS, а в поле Message вписываете желаемый текст и нажимаете кнопку Send.

Одновременно можно отправить SMS только на один номер телефона.

Recipient Phone Number

Способ №2: отправка смс по событию на GPIO порту.

В разделе меню Tools ⇒ GPIO есть возможность настроить цифровые порты ввода-вывода на реагирование изменения их состояния с отправкой смс на указанный номер. Реагировать роутер может либо только на появление напряжения на указанном порту, либо только на пропажу напряжения, либо на оба этих события. Регулируется данный выбор в столбце - Trigger.

Nastroit porty GPIO

Способ №3: отправка смс посредством web api роутера.

Как работает api роутера для отправки смс:

для отправки сообщения необходимо выполнить POST запрос по протоколу HTTP на адрес роутера к URI /api/sendsms и передать в теле запроса JSON объект вида:

{

​ ​ ​ ​ ​ ​ "recipient": "+79991234567",

​ ​ ​ ​ ​ ​ "message": "test\n"

}

,где:

"recipient" - номер получателя,

"message" - текст сообщение.

Данные необходимо передавать в кодировке utf-8.

В ответ роутер сообщит об отправке сообщения JSON-объектом вида:

{

​ ​ ​ ​ ​ ​ "result": "ok",

​ ​ ​ ​ ​ ​ "_board": {

​ ​ ​ ​ ​ ​ ​ ​ "platform": "irz_ra01",

​ ​ ​ ​ ​ ​ ​ ​ "name": "RU11w"

​ ​ ​ ​ ​ ​ ​ ​ }

}

,где:

"result" - результат отправки: ok или fail


пример работы через утилиту curl:

# curl -X POST http://root:root@192.168.1.1/api/sendsms -d '{"recipient": "+79991234567", "message": "test\n=)"}'

ответ:

{"result": "ok", "_board": { "platform": "irz_ra01", "name": "RU11w" }}

Для операционных систем семейства WINDOWS так же есть утилита curl*, но вот синтаксис команды выглядит по другому :

curl -H "Content-Type: application/json" -X POST http://root:root@192.168.1.1/api/sendsms -d "{\"recipient\": \"+79111234567\", \"message\": \"test\"}"

*данный метод тестировался на windows 10 и утилите curl с сайта curl.com ver.8, в других версиях windows с другими версиями утилиты curl синтаксис может не совпадать.