Отправка SMS сообщений

Материал из WebHMI Wiki
Версия от 13:40, 27 сентября 2017; Alexander.kuzmuk (обсуждение | вклад) (Отправка SMS сообщений с помощью 3G/GSM модема)

Перейти к: навигация, поиск

В WebHMI есть инструмент сигнализации о различных событиях путем отправки смс-сообщений (смс-нотификация).
Для этого необходимо запросить у поставщика ключ API для отправки SMS и активировать функцию в меню Settins, раздел WebHMI Cloud.
Sms notif 1.png

SMS отправляется путем вызова скрипта. Для примера создадим скрипт для дешборда (который можно будет "привязать" к кнопке и проверить путем ее нажатия). В блоке send sms указывается номер телефона и текст сообщения.
Sms notif script.png

На дешборде создадим кнопку с свойством вызова скрипта по нажатию:
Sms dash 3.png


Отправка SMS сообщений с помощью 3G/GSM модема

При необходимости отправлять СМС-сообщений без использования сторонних сервисов, можно реализовать такую возможность с помощью обычный GSM или 3G модемов. Для этого потребуется создание собственного протокола (см. Пользовательские протоколы).

Данная возможность работает в прошивках начиная с версии 2.0.

Отправка сообщения — это простой набор AT-команд, которые необходимо передать модему в управляющий порт.

Простой пример такого протокола показан ниже.

function createDevices ()
    addDevice({name = "SMS",  shift = 0, base = 10, xtraFields = {1, 5}});
end

function readRegister (reg, device, unitId)
    return {};
end

function writeRegister (reg, device, unitId, newValue)
    sendString("AT+CPIN=\"0000\"\r");
    sendString("AT+CMGF=1\r");
    sendString("AT+CSMP=17,167,0,0\r");
    sendString("AT+CMGS=\"+" .. reg.internalAddr .. "\"\r");
    sendString(newValue);
    sendString(string.char(26));
    return true; 
end

В данном примере для отправки сообщения необходимо создать регистр. В качестве адреса указывается номер телефона в виде SMS380671234567. При записи строки в такой регистр произойдет отправка соответствующего текста на указанный номер.

При необходимости отправлять сообщения с кириллицей, потребуется реализовать соответсвующие преобразования текста согласно поддерживаемым вашим модемом кодировкам.

Также, аналогично можно реализовать чтение входящих СМС сообщений и, как следствие, возможно организовать управление WebHMI с помощью СМС-сообщений.