Форум » » Смс от Crestron » Ответить

Смс от Crestron

marty_iron: Подскажите возможно ли каким-либо образом организовать отправку некоего отчета о состоянии по смс при появление в Crestron определенного сигнала? Например сработало реле - отправляется отчет что сработало реле...

Ответов - 71, стр: 1 2 3 4 All

marty_iron: Kaveckiy а вот еще проблема нарисовалась я так понимаю по тулбоксу, что если ему загнать строку больше чем на 160 символов - он ничего не отвечает в ответ на команду, кроме того, что номер он принял. И при сл отправке например короткого смс - он новую отправку номера воспринимает как часть смс Можно как-то сбросить вот этот запомненный номер? Ну т е какая-то отмена отправки? я так понимаю он ждет \x1A, чтобы отправить, вот можно как-то отменить все действия пока не введено \x1A?

Kaveckiy: marty_iron ХЗ, у меня таких проблем не возникало, поэтому разбираться не было необходимости. Зачем Вам длинное СМС?

marty_iron: Kaveckiy пишет: Зачем Вам длинное СМС? отправлять отчет))


DmitriiP: Ну а как вы хотели :)) SMS - этож Short Message Service «служба коротких сообщений» Текст может состоять из алфавитно-цифровых символов. Максимальный размер сообщения в стандарте GSM — 140 байт (1120 бит). Таким образом, при использовании 7-битной кодировки (латинский алфавит и цифры) можно отправлять сообщения длиной до 160 символов. При использовании 8-битной кодировки (немецкий, французский язык) можно отправлять сообщения длиной до 140 символов. Для поддержки других национальных алфавитов (китайского, арабского, русского и др.) используется 2-байтовая (16-битная) кодировка UCS-2. Таким образом, SMS, написанное кириллицей, не может превышать 70 знаков. Проверяйте длину, если > 160, то режте на части ...

marty_iron: Kaveckiy добрый день, а подскажите такой момент. Отправка смс работала четко. но вот спустя время к ней вернулись - и можем стал ответ на смс сообщение давать ERROR - что это может быть?

Вячеслав: По идее должен быть еще код ошибки. Проверяйте длину сообщения, валидность SIM карты и т.п.

marty_iron: Вячеслав он у меня на комманду AT+CMGS=7..........\x0DKitchen\x1A выдает AT+CMGS=7..........\x0DKitchen\x1A\x0D\x0AERROR\x0D\x0A....

Kaveckiy: marty_iron блин, ну вот сколько можно повторять, номер телефона пишется в кавычках "" и с + в начале номера.

marty_iron: Kaveckiy Вячеслав я разобрался как это обойти, но не разобрался что случилось раньше я на 100% точно и 100% усешно отправлял смс командой AT+CMGS=380XXXXXXXXX\x0DVashe soobschenie\x1A а теперь она стала отправляться командой AT+CMGS=+380XXXXXXXXX\x0DVashe soobschenie\x1A что могло случиться??

marty_iron: Kaveckiy пишет: marty_iron блин, ну вот сколько можно повторять, номер телефона пишется в кавычках "" и с + в начале номера. но я поднял историю - я 47 смс успешно отправлял без плюса и кавычек))) почему раньше срабатывало??

Kaveckiy: marty_iron пишет: почему раньше срабатывало?? Недокументированная функция: хочу работаю, хочу не работаю.

marty_iron: Kaveckiy пишет: Недокументированная функция: хочу работаю, хочу не работаю. просто боязнь только одна - не вышло бы так, что сделаем - а она потом вот так же отвалится...

Kaveckiy: marty_iron пишет: просто боязнь только одна - не вышло бы так, что сделаем - а она потом вот так же отвалится... Я не понимаю один простой момент - дали ж рабочую стоку, просто поменять номер мобильного на свой. Что заставляет проявлять фантазию и делать по-своему?

marty_iron: Kaveckiy нет, я так и сделал теперь просто есть опасения - не отвалится ли и это со временем очень уж хорошо тот работал, без сбоев до определенного момента

DmitriiP: если есть + то оператор понимает что это международный (формат) номер(а) без + хрен поймёш что это за номер международный или национальный или сервис может для 380 "и работало внутри страны" а для 7 нужно +7ххх

marty_iron: а смс на-русском никак не отправить? перебрал до FF - все не те символы

DmitriiP: Для поддержки других национальных алфавитов (китайского, арабского, русского и др.) используется 2-байтовая (16-битная) кодировка UCS-2. Таким образом, SMS, написанное кириллицей, не может превышать 70 знаков.

Вячеслав: Вот нашел: под «кодировкой» UCS-2 понимают UTF-16 без суррогатных пар (от 0xD800 и до 0xDFFF). Т.е. не будет символов кодируемых 4 байтами, а только 2-х байтные пары на один символ. Это чтоб не бегать потом в поисках конвертера в USC-2 :)

Вячеслав: Вот нашел на просторах интернета решение проблемы с отправкой русских символов. Придется попыхтеть конечно чуток и от перекодировки никуда не деться. Но все же достаточно понятно расписано, ссылка тут

Вячеслав: Другой тоже интересный источник click here еще больше упрощает жизнь. Оказывается переводить в цифровой режим не надо, можно и в текстовом Достаточно выполнить предварительную инициализацию модема: 1.Устанавливаем текстовый режим: to_modem$="AT+CMGF=1\x0D"; 2.Установить модем в режим USC2: (предварительно проверив что он такой режим поддерживает может командой AT+CSCS=?\x0D) to_modem$="AT+CSCS=\x22UCS2\x22\x0D"; 3.Установка параметров текстового режима время действия 24ч, формат символов КИРИЛЛИЦА: to_modem$="AT+CSMP=17,167,0,8\x0D"; 4.Преобразовать сообщение из расширенной ASCII в UTF16 (USC2) с помощью нехитрой функции (но не обычной т.к. используем формат "0410" вместо "\x04\x10"): String_Function SMS_CONVERTOR(string ASCII_EXT$) { integer k,m; string UCS2$[70],symb[2]; UCS2$=""; for (k=1 to len(ASCII_EXT$)) { if((byte(ASCII_EXT$,k)>0)&&(byte(ASCII_EXT$,k)<128)){Makestring(symb,"%04X",byte(ASCII_EXT$,k));} //latin & numeric &not printable else if(byte(ASCII_EXT$,k)>191){Makestring(symb,"%04X",848+byte(ASCII_EXT$,k));}//printable Curillic UCS2$=UCS2$+symb; if(k=70){break;} } Return (UCS2$); } 5.Далее отправляем выше описанным способом to_modem$="AT+CMGS=380XXXXXXXXX\x0D"+SMS_CONVERTOR("Ваше сообщение")+"\x1A"; Понятное дело, что номер телефона и сообщение можно подставлять через переменные s+ модуля или используя STRING_INPUT Это все для 2-серии, если на 3 серии не удастся получить сообщение в ASCII, то конвертор надо будет немного поправить для преобразований "\x04\x10" к виду "0410" и т.п. Впрочем производитель не озвучил возможность отправки в текстовом варианте, а настаивал на цифровом (PDU), так что надо проверять: Radiofid support пишет: Здравствуйте! Кириллица поддерживается только в PDU режиме. Последовательность AT команд: ATE0 Отключение Эха AT+CMEE=2 Включение расширенного отчета об ошибках. AT+CMGF=0 Перевод смс в pdu режим AT+CMGS=17 Кол-во символов поделенное на 2 минус 1 0001000B910789674523F100040474657374 Сообщение в DPU режиме Далее CTRL+Z http://rednaxela.net/pdu.php Генератор смс в PDU



полная версия страницы