|
Sagem HiLo |
|
|
|
Oct 23 2013, 07:42
|
Группа: Новичок
Сообщений: 7
Регистрация: 23-10-13
Из: Земля Франца и Осифа
Пользователь №: 78 858

|
Доброго времени суток. Имеется GSM модуль Sagem HiLo, использующийся для отправки данных посредством gprs. Для отправки используется АТ-команда AT+KTCPSND, которая должна завершаться отправкой --EOF--Pattern-- , который переведет модуль обратно в командный режим. Собственно проблема - после отправки данных я отправляю модулю --EOF--Pattern-- , который распознается успешно, но при этом также отправляется на серверную сторону, прилепленный к данным. Есть какие-нибудь предложения, как избежать отправки --EOF--Pattern-- на серверную сторону?
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 14)
|
Oct 23 2013, 17:38
|
Знающий
   
Группа: Свой
Сообщений: 615
Регистрация: 14-02-08
Из: г. Рыбинск, Ярославская область
Пользователь №: 35 028

|
Цитата(Battle-Piggy @ Oct 23 2013, 11:42)  Доброго времени суток. Имеется GSM модуль Sagem HiLo, использующийся для отправки данных посредством gprs. Для отправки используется АТ-команда AT+KTCPSND, которая должна завершаться отправкой --EOF--Pattern-- , который переведет модуль обратно в командный режим. Собственно проблема - после отправки данных я отправляю модулю --EOF--Pattern-- , который распознается успешно, но при этом также отправляется на серверную сторону, прилепленный к данным. Есть какие-нибудь предложения, как избежать отправки --EOF--Pattern-- на серверную сторону? аналогичная проблема была на визнетах, программисты "забивали костыли", но затем , втихоря, визнетовцы это пофиксили, так , что либо костыли , либо пинать разработчиков.
|
|
|
|
|
Oct 24 2013, 06:31
|
Группа: Новичок
Сообщений: 7
Регистрация: 23-10-13
Из: Земля Франца и Осифа
Пользователь №: 78 858

|
Цитата(ssokol @ Oct 23 2013, 21:38)  программисты "забивали костыли" Даже не представляю, какой "костыль" можно забить в данном случае. Ребята, которые пишут серверную сторону, конечно, отсекают --EOF--Pattern-- после каждого пакета, но сие чересчур уж топорно, на мой взгляд
|
|
|
|
|
Oct 24 2013, 07:39
|
Знающий
   
Группа: Свой
Сообщений: 615
Регистрация: 14-02-08
Из: г. Рыбинск, Ярославская область
Пользователь №: 35 028

|
Цитата(Battle-Piggy @ Oct 24 2013, 10:31)  Даже не представляю, какой "костыль" можно забить в данном случае. Ребята, которые пишут серверную сторону, конечно, отсекают --EOF--Pattern-- после каждого пакета, но сие чересчур уж топорно, на мой взгляд Ну, вот , костыль уже и забили, теперь попытайтесь пнуть производителя, тем более если и далее планируете пользоваться этими же модулями.
|
|
|
|
|
Oct 25 2013, 08:34
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 14-05-09
Пользователь №: 49 051

|
Цитата(Battle-Piggy @ Oct 23 2013, 11:42)  Доброго времени суток. Имеется GSM модуль Sagem HiLo, использующийся для отправки данных посредством gprs. Для отправки используется АТ-команда AT+KTCPSND, которая должна завершаться отправкой --EOF--Pattern-- , который переведет модуль обратно в командный режим. Собственно проблема - после отправки данных я отправляю модулю --EOF--Pattern-- , который распознается успешно, но при этом также отправляется на серверную сторону, прилепленный к данным. Есть какие-нибудь предложения, как избежать отправки --EOF--Pattern-- на серверную сторону? Попробуйте увеличить таймаут между окончанием данных и выдачей маркера окончания посылки. Кстати, жить модулю Sagem HiLo осталось не больше года, если есть возможность лучше найти альтернативу.
|
|
|
|
|
Oct 28 2013, 09:26
|
Группа: Новичок
Сообщений: 7
Регистрация: 23-10-13
Из: Земля Франца и Осифа
Пользователь №: 78 858

|
Цитата(ilya_nn @ Oct 25 2013, 12:34)  Попробуйте увеличить таймаут между окончанием данных и выдачей маркера окончания посылки. Даже двухсекундный таймаут не дал эффекта. Цитата(=F8= @ Oct 25 2013, 18:52)  Уражите в команде кол-во байт которое хотите отправить - второй параметр. Указываю согласно даташиту: Код AT+KTCPSND=1,18 где 1 - номер открытой сессии, 18 - количество байт для отправки ( без учета --EOF--Pattern-- ) Затем получаю от модуля: Код CONNECT Отправляю 18 байт, затем отсылаю: Код --EOF--Pattern-- Получаю в ответ: Код OK +KTCP_DATA: 1,1380 Итого на серверную сторону уходит 18 байт полезной нагрузки плюс --EOF--Pattern-- Цитата(=F8= @ Oct 25 2013, 18:52)  Чтоб не создавать новую тему. Модуль работает в режиме мультиплексирования. Пытаюсь отправить смс с подтверждением о доставке. Вместо подтверждения, примерно в то время когда должно прийти подверждение получаю CME ERROR 24. Согласно www.macrogroup.ru/content/data/store/images/f_931_4978_1.pdf : Цитата CME ERROR code 24 - Text string too long Возможно, стоит использовать предварительно AT+CMGF=0
Сообщение отредактировал Battle-Piggy - Oct 28 2013, 09:28
|
|
|
|
|
Oct 28 2013, 10:23
|
Группа: Новичок
Сообщений: 7
Регистрация: 23-10-13
Из: Земля Франца и Осифа
Пользователь №: 78 858

|
Цитата(ilya-m @ Oct 28 2013, 13:57)  А Вы "--EOF--Pattern--", случайно, не в виде текстовой строки передаете? Вы имеете ввиду, не передаю ли я после 16-ти байт "--EOF--Pattern--" еще и байт 0х00 ? нет не передаю. При попытке прилепить после "--EOF--Pattern--" что-нибудь еще, типа '\0' или '\r' модуль просто не переходит в командный режим
|
|
|
|
|
Oct 28 2013, 11:28
|
Группа: Новичок
Сообщений: 7
Регистрация: 23-10-13
Из: Земля Франца и Осифа
Пользователь №: 78 858

|
Цитата(ilya-m @ Oct 28 2013, 14:42)  "--EOF--Pattern--" - это не должно быть 16 Байт (16 ASCII символов). "--EOF--Pattern--" - EOF (аббревиатура англ. end of file — конец файла) в компьютерной терминологии является индикатором что достигнут конец файла (для модема это индикатор конца блока данных и команда, что передачу данных следует завершить и перейти в командный режим). EOF - это макрос, который определён в stdio.h. Для передачи EOF в терминальных программах используется команда Ctrl+Z. EOF - это именно текстовая строка. CTRL+Z не имеет к нему никакого отношения
|
|
|
|
|
Oct 28 2013, 11:29
|
Группа: Участник
Сообщений: 14
Регистрация: 15-10-13
Из: село Залупка Пястецкой губернии
Пользователь №: 78 740

|
Цитата(ilya-m @ Oct 28 2013, 14:42)  "--EOF--Pattern--" - это не должно быть 16 Байт (16 ASCII символов). "--EOF--Pattern--" - EOF (аббревиатура англ. end of file — конец файла) в компьютерной терминологии является индикатором что достигнут конец файла (для модема это индикатор конца блока данных и команда, что передачу данных следует завершить и перейти в командный режим). EOF - это макрос, который определён в stdio.h. Для передачи EOF в терминальных программах используется команда Ctrl+Z. ты вообще далек от темы
|
|
|
|
|
Oct 28 2013, 11:34
|

Частый гость
 
Группа: Свой
Сообщений: 165
Регистрация: 30-06-08
Из: С.-Петербург
Пользователь №: 38 642

|
Цитата(kabanchik @ Oct 28 2013, 15:29)  ты вообще далек от темы Извините. Действительно, с такой фишкой я в модемах раньше никогда не сталкивался.
|
|
|
|
|
Oct 28 2013, 11:37
|
Группа: Участник
Сообщений: 14
Регистрация: 15-10-13
Из: село Залупка Пястецкой губернии
Пользователь №: 78 740

|
ты с модемами вообще сталкивался? погодика, дай угадаю, программист авр?!
|
|
|
|
|
Oct 28 2013, 11:42
|

Частый гость
 
Группа: Свой
Сообщений: 165
Регистрация: 30-06-08
Из: С.-Петербург
Пользователь №: 38 642

|
Цитата(kabanchik @ Oct 28 2013, 15:37)  ты с модемами вообще сталкивался? погодика, дай угадаю, программист авр?! Да, приходилось, немного. За последние лет 10 около 20000 серийных изделий. А авр не люблю.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|