реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> Q64 организация TCP/IP с помощью OpenAt, Использование adl_grps в WIP плагине
Vlad1977
сообщение Dec 28 2011, 11:29
Сообщение #16


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 13-04-09
Пользователь №: 47 606



Люди подскажите плииз, был контроллер раньше, и по уарту управлял модемом wavecom FXT002, все работало замечательно. Но тут случиласт проблема нехватки озу на контроллере, вот решил использовать озу самого модема ну соответственно с помощью Open AT. Взял пример ихних что бы создать тсп_клиента, и начался какой то кошмар. Проходит ввод пин кода adl_simSubscribe( evh_sim, GPRS_PINCODE);, возвращается состояние ADL_SIM_EVENT_FULL_INIT:
Дальше делаю все как в примере после запроса
adl_atCmdCreate( "AT+CREG?", FALSE, poll_creg_callback, ADL_STR_CREG, NULL);
попадаю вот сюда
.....
if ( 1 == regStateInt || 5 ==regStateInt) {
TRACE (( 1, "(poll_creg_callback) Registered on GPRS network." ));
open_and_start_bearer();
}
.....
вызываю открыть беар. Но функция
.....
if ((r=wip_bearerOpen(&b,"GPRS", evh_bearer, NULL)) !=0)
{ TRACE (( 1, "wip_bearerOpen r = %d ",r ));

//return FALSE;
}
.....
мне постоянно возвращает значение r=-28, и соответственно дальше ничгео не работает. Может подскажите из за чего такое мождет происходить?
Go to the top of the page
 
+Quote Post
gosha14
сообщение Dec 28 2011, 13:36
Сообщение #17


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 10-05-11
Пользователь №: 64 905



А WIP стек перед этим инициализировали?
Go to the top of the page
 
+Quote Post
Vlad1977
сообщение Dec 28 2011, 15:02
Сообщение #18


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 13-04-09
Пользователь №: 47 606



Да инициализировал, там стоит вначале программы
r = wip_netInitOpts(
WIP_NET_OPT_DEBUG_PORT, WIP_NET_DEBUG_PORT_UART1, WIP_NET_OPT_END);

Это может быть как то связано с отладкой? Я запускаю программу в режиме RTE, модем подлючен по usb к компу,
вот сейчас допустим wip_bearerOpen вернул 0, а на след операторе:

r = wip_bearerSetOpts( b, WIP_BOPT_GPRS_APN, GPRS_APN,
WIP_BOPT_LOGIN, GPRS_USER,
WIP_BOPT_PASSWORD, GPRS_PASSWORD,
WIP_BOPT_END);

вылетает окно дизассемблера, и после этого, программа виснет, и дальше логику отследить невозможно в принипе sad.gif.

Go to the top of the page
 
+Quote Post
Vlad1977
сообщение Dec 28 2011, 16:23
Сообщение #19


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 13-04-09
Пользователь №: 47 606



Еще на счет отладки в m2m, у меня почему то получается запустить отладку только в RTE режиме. А вот тут вот запускают по дргуом, но почему то у меня так не получилось. http://www.youtube.com/watch?v=q_NTeAN-p_0...player_embedded
Go to the top of the page
 
+Quote Post
Vlad1977
сообщение Dec 29 2011, 05:46
Сообщение #20


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 13-04-09
Пользователь №: 47 606



оказывается проблема вот в этих параметрах: GPRS_USER и GPRS_PASSWORD, если ставлю их в NULL, отладчик вылетает на wip_bearerSetOpts, ставлю их в gdata или в *, то он проходит установку те wip_bearerSetOpts, но вылетает на старте беар, с ошибкой -27, и пишет [WIP] No more ctx, call adl_gprsUnsubscribe().
Оператор мегафон, у него никогда не было ни логина ни пароля, что можно еще попробовать туда записать?
Go to the top of the page
 
+Quote Post
GeGeL
сообщение Dec 29 2011, 07:17
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 403
Регистрация: 29-04-11
Из: Украина
Пользователь №: 64 682



Может, не совсем в тему, но если уж совсем упретесь в глухую стену, то помните о возможности соединения "вручную". Можно отлогировать конект РС с подходящим драйвером модема. Причем нет необходимости в реализации полного ррр, достаточно отработать его по минимальному шаблону, т.к. в GSM сам алгоритм ррр зависит только от прошивки модуля, но не от оператора. Таким образом, после CGDCONT и ATD обычно достаточно двух обменов фиксированными пакетами для LCP, одного обмена для PAP и двух-трех - для IPCP. Из дополнительных функций понадобится 7D-преобразование и crc16. В итоге получаем как бы raw-сокет с полным доступом к IP-заголовкам. Если обмен будет только по UDP, то просто дописываем IP-UDP заголовок к датаграмме (с длиной данных, UDP CS можно 0 , считаем IP CS и crc16, выполняем 7D-преобразование и отправляем в порт). Для TCP-сокета гимора чуть побольше (необходимо "тройное рукопожатие" вначале, вести счетчики SEQ и ACK и таймауты повторных отсылок), но вполне реализуемо.
В итоге получаем абсолютно прозрачную и полностью управляемую вами реализацию обмена без глюков встроенного стека.
Go to the top of the page
 
+Quote Post
Vlad1977
сообщение Dec 29 2011, 07:29
Сообщение #22


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 13-04-09
Пользователь №: 47 606



Да хочется же разобраться с wip, сейчас вот где стопорится: начинается соеденение с жпрс, а потом модем почему то, судя по лампочке, сбрасывается, отладка опять же ничего не показывает.

GPRS]: GPRS CTX (cid=1) found
[GPRS]: GPRS EVENT SETUP OK (cid=1): GPRS activate

+WIND: 3

+WIND: 13

+WIND: 1

+WIND: 16

+WIND: 4

+WIND: 10,"SM",0,"FD",0,"ON",0,"SN",0,"EN",0

+WIND: 11,,,,"9D59FA612615B2190DCB1F8273AE906B","CDD9FB4785F604BADC77D4B146B6147
C",

+WIND: 7

[GPRS]: open: -> DISCONNECTED
[GPRS]: start: -> CONNECTING
[WIP] No more ctx, call adl_gprsUnsubscribe()
[GPRS]: close: -> CLOSED

Go to the top of the page
 
+Quote Post
gosha14
сообщение Dec 29 2011, 09:38
Сообщение #23


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 10-05-11
Пользователь №: 64 905



Цитата(Vlad1977 @ Dec 29 2011, 07:46) *
оказывается проблема вот в этих параметрах: GPRS_USER и GPRS_PASSWORD, если ставлю их в NULL, отладчик вылетает на wip_bearerSetOpts, ставлю их в gdata или в *, то он проходит установку те wip_bearerSetOpts, но вылетает на старте беар, с ошибкой -27, и пишет [WIP] No more ctx, call adl_gprsUnsubscribe().
Оператор мегафон, у него никогда не было ни логина ни пароля, что можно еще попробовать туда записать?

Заменяете их просто пустыми кавычками #define GPRS_USER ""
Go to the top of the page
 
+Quote Post
Vlad1977
сообщение Dec 29 2011, 11:19
Сообщение #24


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 13-04-09
Пользователь №: 47 606



вот же фигня какая, оказалось все банально просто, открутилась антенна на модеме sm.gif, сеть он кое как видел, а вот жпрс не работал.
Go to the top of the page
 
+Quote Post
Vlad1977
сообщение Jan 13 2012, 09:17
Сообщение #25


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 13-04-09
Пользователь №: 47 606



А как правильно закрыть соединение c GPRS, что бы выключить модем, в опен ат? Я сейчас делаю так: вызываю wip_close(), потом попадаю на функцию finalizzer, она вызывается когда сокет закрыт. И в ней уже пытаюсь закрыть wip_bearerClose(), но в ответ приходит ошибка -24. Что это за ошибка понять не могу sad.gif

Сообщение отредактировал Vlad1977 - Jan 13 2012, 12:48
Go to the top of the page
 
+Quote Post
bolmoe
сообщение Jan 18 2012, 08:57
Сообщение #26


Частый гость
**

Группа: Свой
Сообщений: 121
Регистрация: 5-04-06
Из: Рязань
Пользователь №: 15 830



Цитата(Vlad1977 @ Jan 13 2012, 12:17) *
А как правильно закрыть соединение c GPRS, что бы выключить модем, в опен ат? Я сейчас делаю так: вызываю wip_close(), потом попадаю на функцию finalizzer, она вызывается когда сокет закрыт. И в ней уже пытаюсь закрыть wip_bearerClose(), но в ответ приходит ошибка -24. Что это за ошибка понять не могу sad.gif


По поводу ошибки - WIP_BERR_BAD_HDL
При открытии есть параметр wip_bearer_t *br, его же надо и при закрытии использовать

//глобальная переменная
wip_bearer_t br;

wip_bearerOpen( &br, "GPRS", Handler обработчик сообщений, NULL)
wip_bearerStart ( br );
wip_bearerClose( br);


Go to the top of the page
 
+Quote Post
Vlad1977
сообщение Jan 18 2012, 12:19
Сообщение #27


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 13-04-09
Пользователь №: 47 606



Цитата(bolmoe @ Jan 18 2012, 12:57) *
По поводу ошибки - WIP_BERR_BAD_HDL
При открытии есть параметр wip_bearer_t *br, его же надо и при закрытии использовать

//глобальная переменная
wip_bearer_t br;

wip_bearerOpen( &br, "GPRS", Handler обработчик сообщений, NULL)
wip_bearerStart ( br );
wip_bearerClose( br);

спасибо с этим уже разобрался.
Может вы сталкивались с повышенным потреблением? модем жрет собара порядка 30-40мА в sleep режиме w32k=1, уже и open at отключил вообще. А пишут что должен потьреблять порядка 3-4 мА.
Go to the top of the page
 
+Quote Post
bolmoe
сообщение Jan 19 2012, 06:23
Сообщение #28


Частый гость
**

Группа: Свой
Сообщений: 121
Регистрация: 5-04-06
Из: Рязань
Пользователь №: 15 830



Цитата(Vlad1977 @ Jan 18 2012, 15:19) *
спасибо с этим уже разобрался.
Может вы сталкивались с повышенным потреблением? модем жрет собара порядка 30-40мА в sleep режиме w32k=1, уже и open at отключил вообще. А пишут что должен потьреблять порядка 3-4 мА.


Честно говоря не сталкивался, задача немного другая, используем FASTRACK GO( 2686) и GL6100(WMP 100). Питаются от сети 220В, постоянно в GPRS висит, получает от и отправляет данные на сервер(а)... sm.gif Энергию не бережем sm.gif

кстати, а DTR сигнал учитываете, а то при AT+W32K=1 отруливание SLEEP режимом происходит сигналом DTR, может просто терминал не находится в sleep режиме?
Чтобы без DTR -> AT+W32K=1,0
Go to the top of the page
 
+Quote Post
Vlad1977
сообщение Jan 19 2012, 19:30
Сообщение #29


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 13-04-09
Пользователь №: 47 606



Цитата(bolmoe @ Jan 19 2012, 10:23) *
Честно говоря не сталкивался, задача немного другая, используем FASTRACK GO( 2686) и GL6100(WMP 100). Питаются от сети 220В, постоянно в GPRS висит, получает от и отправляет данные на сервер(а)... sm.gif Энергию не бережем sm.gif

кстати, а DTR сигнал учитываете, а то при AT+W32K=1 отруливание SLEEP режимом происходит сигналом DTR, может просто терминал не находится в sleep режиме?
Чтобы без DTR -> AT+W32K=1,0

Конечно dtr учитывается, в sleep mode он явно попадает, тк потребление после w32k снижается с 90ма до 30ma и сразу перестает реагировать на ат команды, через рс232. Как только dtr в 1цу загоняешь, модем просыпается. При том интересно, что если физически из модема выдернуть кабель рс232 в sleep mode, то потребление еще снижается и становится примерно 20-25ма, хотя это тоже много. И еще это потребление одинаково при рабочем gsm модуле и без него, одинаково высокое я бы сказал. Попробую завтра компорт командой отключить, хотя не уверен что это поможет. Еще можно попробовать все ноги на рс232 на землю опустить.... А больше идей никаких че то нету sad.gif, я уже даже светодиод на модема отключил, для чистоты эксперимента, что бы ничего ему не мешало.
Go to the top of the page
 
+Quote Post
Vlad1977
сообщение Jan 20 2012, 07:20
Сообщение #30


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 13-04-09
Пользователь №: 47 606



точно, погсле команды at+wasr=1, уарт отключается полностью и потребление становится как и заявлено 2-3мА.
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 09:01
Рейтинг@Mail.ru


Страница сгенерированна за 0.01486 секунд с 7
ELECTRONIX ©2004-2016