Перейти к содержанию
    

RL-TCPnet and GPRS using PPP

Добрый день

На данный момент использую RL-TCPNet вместе с Ethernet, все работает на отлично.

Требуеться подлкючить как вариант GPRS модем GE865-QUAD.

В моем понимании надо использовать PPP (RL-TCPNet использует больше двух сокетов, поэтому использовать встроенный TCP Stack в модуле нет смысла).

Кто уже использовал данный протокол с GPRS или если есть примеры данного подключения.

Будет ли RL-TCPNet вообще работать с модемом по данному протоколу? В пояснении постоянно фигурирует PC, который контролирует соединение.

Изменено пользователем Sergiy26

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Огромное спасибо, всем тем, кто мог помочь и оставил мне так много информации.

А теперь по делу.

RL-TCPNet стек может работать одновременно с Ethernet и PPP подключением. Но есть и ограничения.

В файле "Net_Config.с" есть константа "PPP_DEFGW" которая определяет какой из источников будет использоваться на отправку данных с микроконтроллера. Если константа имеет значение 1, то данные будут отправлятся только через РРР соединение, если значение константы 0, то используется LAN. При любом значение константы можно подключиться к TCP стеку (проверено на HTTP Server, FTP Server and TCP Connection:server type).

//   <q>Use Default Gateway on remote Network
//   ========================================
//   <i> This option only applies when both Ethernet and PPP Dial-up
//   <i> are used. If checked, data that cannot be sent to local LAN
//   <i> is forwarded to Dial-up network instead.
#define PPP_DEFGW      1

Если кто-то владеет информацией как динамически определять через какое подключение отправить данные, то можете и поделиться.

 

Для использования непосредственно РРР подключение требуется три этапа (если в общем ):

1. Инициализация USART и функции для работы:

- void init_serial ()

* - int com_get_char ()

* - BOOL com_putchar (U8 c)

* - BOOL com_tx_active ()

* - interrupt function(s)

2. Инициализируем сам модем:

at
OK
AT+CGSN
356308042770856

OK
AT#GPPPCFG="0.0.0.0",25,2
OK
AT+CGDCONT=1,"IP","open.internet",,0,0
OK
AT+CGATT?
+CGATT: 1

OK
AT#GAUTH=1
OK
ATD*99***1#
CONNECT

3. Даем команду ТСР стеку, о том, что можно начать "рукопажатие" и передачу данных по PPP:

ppp_connect ("","", "");
оs_dly_wait ( 1000 );
SendToPPPStack ("CLIENTSERVER");

 

Функцию "ppp_connect" использую, потому как модем настроен как server в РРР подключении, т.е. ТСР стек начинает подключение первым. Для начала непосредственной передачи данных надо сказать ТСР стеку волшебное слово "Абра....", извините, я хотел сказать "CLIENTSERVER" ->SendToPPPStack ("CLIENTSERVER");

 

Есть следующте проблемы:

1. В продвинутых страны с развитым "3G", устройства с GPRS соединием не приветствуются операторами мобильной связи, т.е. по просту отсоединяют от сети и модем возвращает "NO CARRIER". Низкий приоритет по сравнению с остальными протоколами мобильной связи. Чтобы добиться аудиенции надо непрерывно переподключаться и тогда есть толк ( заявить о себе ). Сейчас попробую отписать операторам, может что-то подскажут.

 

Подсказки и желание поделится опытом приветствуются.

Изменено пользователем Sergiy26

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы там поаккуратнее с частым переподключением GPRS. Есть мнение, что некоторые операторы за это банят. У меня было такое, что модуль напрочь отказывался цепляться к GPRS, а на следующий день работал как ни в чём не бывало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если кто-то владеет информацией как динамически определять через какое подключение отправить данные, то можете и поделиться.

 

Для этого нужен TCP стек с роутингом.

Такой встроен в RTOS MQX.

Можно хоть пять интерфейсов выхода в интернет подключить и все будут работать.

 

 

Есть следующте проблемы:

1. В продвинутых страны с развитым "3G", устройства с GPRS соединием не приветствуются операторами мобильной связи, т.е. по просту отсоединяют от сети и модем возвращает "NO CARRIER". Низкий приоритет по сравнению с остальными протоколами мобильной связи. Чтобы добиться аудиенции надо непрерывно переподключаться и тогда есть толк ( заявить о себе ). Сейчас попробую отписать операторам, может что-то подскажут.

 

Не факт. С модулями Telit имел много дел. Они чувствительны к SIM карте. Были такие карты с которыми подключение к GPRS строго со второго или третьего раза происходило.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Благодарю AlexandrY, за совет на счет RTOS MQX.

Это другая RTOS. Времени на быстрый переход у меня нет. Пока буду использовать то, что есть.

 

Сегодня подключил STM32F4 with RL-TCPNet к 3G модему.

Модем E220. Одна из простых и старых моделей. Сим карта во всех тестах одна и таже.

 

После "рукопажатия" через PPP модем остается подключен и не сбрасывает соединие. За пару часов теста, ни одного раза небыло разрыва связи.

Даже если данные не передаются через модем ( не могу утверждать за сам модем, возможно он и остылает команды "keep alive"), но модем преданно ждет постлупление информации.

 

Все -таки GPRS модемы имеют проблему.

Эту проблему я обнаружил не сам. Данную проблему мне озвучил представитель Telit когда посещал нашу компанию. Он предупредил, что такое есть и возможно через n лет GPRS модемы станут вымирающим видом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...