Отправка SMS сообщений — различия между версиями

Материал из WebHMI Wiki
Перейти к: навигация, поиск
Строка 11: Строка 11:
 
На дешборде создадим кнопку с свойством вызова скрипта по нажатию: <br>
 
На дешборде создадим кнопку с свойством вызова скрипта по нажатию: <br>
 
[[Файл:Sms dash 3.png|800px]]
 
[[Файл:Sms dash 3.png|800px]]
 +
 +
 +
== Отправка SMS сообщений с помощью 3G/GSM модема ==
 +
При необходимости отправлять СМС-сообщений без использования сторонних сервисов, можно реализовать такую возможность с помощью обычный GSM или 3G модемов. Для этого потребуется создание собственного протокола (см. [[Пользовательские протоколы]]).
 +
 +
Данная возможность работает в прошивках начиная с версии 2.0.
 +
 +
Отправка сообщения — это простой набор AT-команд, которые необходимо передать модему в управляющий порт.
 +
 +
Простой пример такого протокола показан ниже.
 +
 +
<syntaxhighlight lang="lua">
 +
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.addr .. "\"\r");
 +
    sendString(newValue);
 +
    sendString(string.char(26));
 +
    return true;
 +
end
 +
</syntaxhighlight>
 +
 +
В данном примере для отправки сообщения необходимо создать регистр. В качестве адреса указывается номер телефона. При записи строки в такой регистр произойдет отправка соответствующего текста на указанный номер.
 +
 +
При необходимости отправлять сообщения с кириллицей, потребуется реализовать соответсвующие преобразования текста согласно поддерживаемым вашим модемом кодировкам.
 +
 +
Также, аналогично можно реализовать чтение входящих СМС сообщений и, как следствие, возможно организовать управление WebHMI с помощью СМС-сообщений.

Версия 09:31, 19 сентября 2016

В 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.addr .. "\"\r");
    sendString(newValue);
    sendString(string.char(26));
    return true; 
end

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

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

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