Помнится, последний раз, когда мне приходилось делать SMS-оповещения, это было реализовано аппаратно. Некая коробочка позволяла вставить в себя SIM-карту, номер получателя и тексты заранее оговоренных SMS располагались на той же SIM-карте в определенных позициях, а сама отправка сводилась к замыканию контактов с помощью слаботочного реле. С тех пор ушло много времени и сейчас отправка SMS настолько упростилась, что никакие коробочки уже не нужны, а протестировать сервисы можно буквально в два клика. Ну и переложить на плечи контроллера еще за 3 клика : )
Мой выбор пал на сервис bytehand . В отличие от конкурентов они сразу же предложили цену 0.4р/SMS. Ну а если вы вдруг решите продать автомобиль и положить все деньги на счет, то получите 0.1р/SMS . Кстати, хочу отметить большим плюсиком их сайт. Он простой, удобный и красивый, побольше бы таких!
Возвращаемся к теме. Итак, заходим на сайт, регистрируемся, заходим в личный кабинет, жмем кнопочку "получить бонус" (это 10р., т.е. хватит на 25 пробных SMS), идем в настройки, переписываем свой ID и ключ, открываем новое окно браузера и вводим в адресную строку что-то типа:
http://bytehand.com:3800/send?id=1&key=2&from=SMS-INFO&to=3&text=Hello%20World!
где заменяем 1 на свой ID, 2 - на свой ключ, 3 - на свой номер (номер пишется в виде сплошного потока цифр начиная с кода страны, т.е. для России получится что-то вроде 79261111111).
Если нигде не ошиблись, сразу же получаем SMS:

Кстати, поле from можно заменить на номер своего мобильного (нужно зарегистрировать в личном кабинете) или строку до 11 символов (допускаются английские буквы, цифры, тире и точка), если эта строка пройдет модерацию. Я, например, только что подал на модерацию строку aes.name : )
Осталось только отправить этот запрос силами контроллера. Ниже приведен код Simpl+ файла "ByteHand SMS Service.usp" для контроллера Crestron, но аналогичный можно написать и для контроллера AMX. Файл можно скачать по ссылке ByteHand SMS Service.usp
P.S. Не забудьте добавить адрес DNS-сервера в настройках контроллера.
/*
Programmer: Eldar S. Ablaev
*/
#ENABLE_TRACE
#DEFAULT_VOLATILE
string_parameter _skip_;
string_parameter ID[16];
string_parameter key[32];
string_parameter phone[16];
buffer_input sms_text[256];
string_output sms_status;
tcp_client client[65534];
change sms_text
{
socketconnectclient(client, "bytehand.com", 3800, 0);
}
socketconnect client
{
string http_request[256];
http_request="";
makestring(http_request, "%sGET /send?id=%s&key=%s&from=SMS-INFO&to=%s&text=%s HTTP/1.1\n", http_request, ID, key, phone, sms_text);
makestring(http_request, "%sHost: bytehand.com\n", http_request);
makestring(http_request, "%sUser-Agent: Crestron\n", http_request);
makestring(http_request, "%sConnection: close\n", http_request);
makestring(http_request, "%s\n", http_request);
clearbuffer(sms_text);
clearbuffer(client.socketrxbuf);
socketsend(client, http_request);
}
socketdisconnect client
{
string rx[1024], t[1024];
rx=client.socketrxbuf;
t=gather("\n\n", rx);
sms_status=rx;
clearbuffer(client.socketrxbuf);
}

Эльдар, спасибо за модуль!
Как можно отправлять текст на кириллице?
Павел, здравствуйте!
Пользуясь сервисом ByteHand, текст на кириллице можно отправлять в кодировке UTF-8 в представлении URLEncode. Например, чтобы отправить фразу "Привет, Мир", поле text HTTP-запроса должно содержать значение "%D0%9F%D1%80%D0%B8%D0%B2%D0%B5%D1%82%2C+%D0%9C%D0%B8%D1%80%21". Эту же строку можно вписать в соответствующее поле модуля Serial I/O в SimplWindows (модуль S-8 на скриншоте).
P.S. В процессе написания ответа нашел в интернете подходящий онлайн-перекодировщик! Исходный текст вписывается в большое поле слева, результат берется из самого верхнего поля справа (закодированный текст в кодировке UTF-8).
Эльдар, спасибо за информацию, очень выручили!
Эльдар, здравствуйте!
Для отправки SMS в кодировке UTF-8 при помощи Вашего модуля, пришлось увеличить значение string http_request до 512 и в строке http запроса SMS-INFO заменить на Test - подпись, которая привязана к аккаунту на bytehand.com. И все заработало! 😛
Эльдар, спасибо. Пользую сервис. И искать не пришлось.