Отправка SMS сообщений — различия между версиями
Строка 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 отправляется путем вызова скрипта. Для примера создадим скрипт для дешборда (который можно будет "привязать" к кнопке и проверить путем ее нажатия). В блоке send sms указывается номер телефона и текст сообщения.
На дешборде создадим кнопку с свойством вызова скрипта по нажатию:
Отправка 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 с помощью СМС-сообщений.