Автор | Сообщение |
|
Отправлено: 03.08.16 22:35. Заголовок: Смс от Crestron
Подскажите возможно ли каким-либо образом организовать отправку некоего отчета о состоянии по смс при появление в Crestron определенного сигнала? Например сработало реле - отправляется отчет что сработало реле...
|
|
|
Ответов - 71
, стр:
1
2
3
4
All
[только новые]
|
|
|
Отправлено: 23.10.16 01:57. Заголовок: В интернете ) По сло..
В интернете ) По слову +CMTI: «SM»,
|
|
|
|
Отправлено: 10.04.17 09:39. Заголовок: Вячеслав тут проблем..
Вячеслав тут проблема появилась)) вот команда AT+CSMP=17,167,0,8 дает нам писать на кирилице но теперь после этой команды пропадает возможность отправлять смс на латинице))) он в ответ на сообщение пишет - ОК, но не отправляет его... есть какая-то команда. чтобы это вернуть??
|
|
|
|
Отправлено: 10.04.17 11:21. Заголовок: Посмотрите, в каком ..
Посмотрите, в каком виде уходит сообщение в дебагере. Может функция SMS_CONVERTOR как то неверно отработала и сообщение ПУСТОЕ отправляется или типа того.
|
|
|
|
Отправлено: 10.04.17 11:30. Заголовок: Вячеслав нет, там вс..
Вячеслав нет, там все уходит как надо но раньше вот такой командой сообщение отправлялось AT+CMGS=+380XXXXXXXXX\x0DVashe soobschenie\x1A а теперь нет там принцип такой - когда от отправляет, он сначала возвращает дубликат сообщения, а потом ОК и номер отправленного сообщения а в таком видео с кирилической кодировкой он пишет ОК и не пишет номер отправленного сообщения и не отправляет соответственно и все тесты говорят что AT+CSMP=17,167,0,8 мешает это сделать т е например я пытаюсь отправить просто слово hello - нет, а если прогнать его через SMS_CONVERTOR - то отправляет, но я точно могу сказать, что до манипуляций с кирилицей отправлялся и просто hello
|
|
|
|
Отправлено: 10.04.17 14:03. Заголовок: ??? Так значит отпра..
??? Так значит отправляет все таки. Так почему не хочется конвертером воспользоваться и отправлять хоть русские, хоть латинские, хоть в перемешку? Хочется длиннее 70 знаков что ли? Ведь опция 8 (AT+CSMP=17,167,0,8)требует преобразования к UCS2. Поэтому в ASCII и не отправляет. Пробуйте другие значения вместо 8 (описания данного параметра я не встречал, описан лишь в варианте =8 для отправки в кодировке UCS2)
|
|
|
|
Отправлено: 10.04.17 14:10. Заголовок: Вячеслав да, нужно д..
Вячеслав да, нужно длиннее 70 я вроде нашел - работает при AT+CSMP=17,167,0,0 еще есть небольшой вопрос, может есть идея - в процессе тестов, когда все не работало, случались 3 раза ситуации (закономерность не понял), что после каких-то команд модем переставал отвечать на команды. Т е с RX переставало идти что-либо и помогала только перезагрузка модема как думаете что это могло быть? Спасибо
|
|
|
|
Отправлено: 10.04.17 14:16. Заголовок: Из предположений тол..
Из предположений только ошибка текущего режима AT+CMGF=0/1 Мне сложно предполагать, я модем этот и в руках никогда не держал
|
|
|
|
Отправлено: 02.10.21 23:06. Заголовок: Вячеслав пишет: а..
Вячеслав пишет: цитата: | 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 ¬ 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$); } |
| а этот модуль точно рабочий? он вроде не конвертирует...
|
|
|
|
Отправлено: 03.10.21 20:30. Заголовок: Может и не рабочий. ..
Может и не рабочий. Сейчас уже не вспомню, почему. Но эта функция в моём конверторе закоменчена. Вместо неё сначала все в формат UTF16 приводится, потом уже в SMS формат конвертируется вот так: String_FUNCTION UTF16_TO_UCS2(string str) { integer k; string tmp$[1000],symb[2]; tmp$=""; for (k=1 to len(str)) { Makestring(symb,"%02X",byte(str,k)); tmp$=tmp$+symb; } if(len(tmp$)>280){tmp$=Left(tmp$,280);} //по 4 символа на выходе вместо одного. При ограничении SMS 140 байт (160 символов в 7 битной кодировке ASCII или 70 символов в UTF) 70x4=280 //но на выходе модуля ещё надо порезать до 255 (т.е.отрезать 6 символов) Return(tmp$); }
|
|
|
|
Отправлено: 04.10.21 08:57. Заголовок: Вячеслав пишет: int..
Вячеслав пишет: цитата: | integer k; string tmp$[1000],symb[2]; |
| ошибка вот тут. Должно быть symb[4], он ее обрезал неправильно засчет длины переменной
|
|
|
|
Отправлено: 08.10.21 11:48. Заголовок: Только отсыл не на т..
Только отсыл не на ту функцию, тогда уж: string UCS2$[70],symb[2]; из функции UTF16_TO_UCS2(string str) Так как для UTF16_TO_UCS2(string str) 2 байта достаточно.
|
|
|
Ответов - 71
, стр:
1
2
3
4
All
[только новые]
|
|