|
Режим мультиплексирования, Опыт применения и возможные грабли |
|
|
|
Dec 11 2012, 05:00
|
Частый гость
 
Группа: Участник
Сообщений: 125
Регистрация: 13-04-11
Из: Суровый Челябинск
Пользователь №: 64 337

|
И в Telit и в Simcom ограничение пакета 128 байт. Смогу ли я прочитать в таком режиме SMS в UCS2 кодировке? Цитата(RadikX @ Dec 10 2012, 13:36)  В связи с глобальным изменением собственного протокола заодно и, на основе полученного опыта, было решено переписать программу в устройствах. В документации на SIMCOM модули указывается, что они поддерживают (хотя и в слегка урезанном виде) режим мультиплексирования команд (AT+CMUX=1). Теоретически это может дать много жирных плюсов, однако перед перелопачиванием всего весьма немаленького проекта хотелось бы узнать мнения опытных людей. У кого был опыт применения режима мультиплексирования команд и на какие проблемы можно при этом натолкнуться? Опечетался. Режим AT+CMUX=0 Увидел еще одну вещь: В документации Telit указано, что некоторые команды не могут выполняться паралельно. Причем те, которые было бы как раз неплохо распаралелить. НО до тех пор пока не поднимут трубку с той стороны при дозвоне или пока не завершится подключение к каналу GPRS нужно ждать ответа. А это может занимать несколько десятков секунд. Так ли это? Как это дело обстоит в SIMCom?
|
|
|
|
|
Dec 11 2012, 09:12
|

Профессионал
    
Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409

|
Цитата И в Telit и в Simcom ограничение пакета 128 байт. Смогу ли я прочитать в таком режиме SMS в UCS2 кодировке? Это не проблема. Из фреймов канала собирается пакет который в итоге будет представлять из себя точную копию того, что Вы могли бы получить работая в обычном режиме. Для каждого канала необходимо будет иметь свой буффер достаточного размера чтобы сохранять в него извлечённый из фрейма пакет. Цитата Увидел еще одну вещь: В документации Telit указано, что некоторые команды не могут выполняться паралельно. Причем те, которые было бы как раз неплохо распаралелить. НО до тех пор пока не поднимут трубку с той стороны при дозвоне или пока не завершится подключение к каналу GPRS нужно ждать ответа. А это может занимать несколько десятков секунд. Так ли это? Как это дело обстоит в SIMCom? Какие именно команды Вы хотели бы распаралелить? Вы хотите совершать 2 voice call одновременно? или одновременно активировать 2 GPRS-контента?
|
|
|
|
|
Dec 11 2012, 10:05
|
Частый гость
 
Группа: Участник
Сообщений: 125
Регистрация: 13-04-11
Из: Суровый Челябинск
Пользователь №: 64 337

|
Цитата(mempfis_ @ Dec 11 2012, 12:12)  Это не проблема. Из фреймов канала собирается пакет который в итоге будет представлять из себя точную копию того, что Вы могли бы получить работая в обычном режиме. Для каждого канала необходимо будет иметь свой буффер достаточного размера чтобы сохранять в него извлечённый из фрейма пакет. Спасибо. Вопрос снят. Цитата(mempfis_ @ Dec 11 2012, 12:12)  Какие именно команды Вы хотели бы распаралелить? Вы хотите совершать 2 voice call одновременно? или одновременно активировать 2 GPRS-контента? Хотелось бы распаралелить работу по GPRS, SMS и звонки. Допустим, команда CGATT может быть очень долгой, в это время можно проверить нет ли входящих звонков и SMS (URC использовать не хотелось бы). Или во время передачи данных по GPRS отправить SMS. В общем, не только для удобства, но и для минимизации временных простоев и улучшить время реакции на внешние события.
|
|
|
|
|
Dec 11 2012, 10:28
|

Профессионал
    
Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409

|
Цитата(RadikX @ Dec 11 2012, 14:05)  Хотелось бы распаралелить работу по GPRS, SMS и звонки. Допустим, команда CGATT может быть очень долгой, в это время можно проверить нет ли входящих звонков и SMS (URC использовать не хотелось бы). Или во время передачи данных по GPRS отправить SMS. В общем, не только для удобства, но и для минимизации временных простоев и улучшить время реакции на внешние события. У меня например работа с сетью, смс и gprs (активация контента и контроль наличия ip) выполнена в одном канале. Там автоматически снимаются вопросы связанные с необходимостью ожидания активации контента и т.п. Контроль входящих/исходящих вызовов в другом канале. Работа с сервером в третьем. Хотя на треккеры много не звонят и сами они не совершают много исходящих вызовов, но пока сообщений об неадекватном поведении треккеров во время звонков ко мне не поступало, хотя их продано уже не одну тысячу штук. Ничто не мешает принимать/отправлять смс даже во время активного обмена данными с сервером по gprs. Более того как показала практика это возможно даже при активном обмене данными сразу с двумя серверами по двум открытым соккетам.
|
|
|
|
|
Dec 12 2012, 14:34
|

Местный
  
Группа: Свой
Сообщений: 377
Регистрация: 12-11-10
Из: СПБ
Пользователь №: 60 836

|
Цитата(=F8= @ Dec 12 2012, 13:47)  Уже, наверное с пол года использую этот режим в серии на телитах. Особых граблей не заметил. Есть некоторые неудобства - например с SSL соединением можно работать только через 1-й канал, с другого не возможно даже опросить состояние SSL соединения. CMUX полезная вещь. Мы еще сделали такую штуку как передачу NMEA с GPS/GLONASS приемника, который подключен на второй порт GSM модуля, на внешний управляющий МК через основной первый порт. для трэкеров получается экономия одного физического порта ...
|
|
|
|
|
Dec 25 2012, 09:30
|
Местный
  
Группа: Участник
Сообщений: 212
Регистрация: 2-02-11
Пользователь №: 62 643

|
Цитата(megajohn @ Dec 25 2012, 12:44)  уважаемые знатоки CMUX, интересует следующее: могу ли я параллельно заниматься обработкой звонов и приемом-передачей СМС ? А то если нельзя так, то и переходить на своих задачах нет смысла Думается можно, только вот в момент звонка (до начала разговора) отправка/приём SMS невозможны, равно как и наоборот.
Сообщение отредактировал Frolov Kirill - Dec 25 2012, 09:30
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|