Sergiy_master 0 16 мая, 2014 Опубликовано 16 мая, 2014 (изменено) · Жалоба Добрый день На данный момент использую RL-TCPNet вместе с Ethernet, все работает на отлично. Требуеться подлкючить как вариант GPRS модем GE865-QUAD. В моем понимании надо использовать PPP (RL-TCPNet использует больше двух сокетов, поэтому использовать встроенный TCP Stack в модуле нет смысла). Кто уже использовал данный протокол с GPRS или если есть примеры данного подключения. Будет ли RL-TCPNet вообще работать с модемом по данному протоколу? В пояснении постоянно фигурирует PC, который контролирует соединение. Изменено 16 мая, 2014 пользователем Sergiy26 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sergiy_master 0 3 июля, 2014 Опубликовано 3 июля, 2014 (изменено) · Жалоба Огромное спасибо, всем тем, кто мог помочь и оставил мне так много информации. А теперь по делу. 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". Низкий приоритет по сравнению с остальными протоколами мобильной связи. Чтобы добиться аудиенции надо непрерывно переподключаться и тогда есть толк ( заявить о себе ). Сейчас попробую отписать операторам, может что-то подскажут. Подсказки и желание поделится опытом приветствуются. Изменено 3 июля, 2014 пользователем Sergiy26 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrewlekar 0 3 июля, 2014 Опубликовано 3 июля, 2014 · Жалоба Вы там поаккуратнее с частым переподключением GPRS. Есть мнение, что некоторые операторы за это банят. У меня было такое, что модуль напрочь отказывался цепляться к GPRS, а на следующий день работал как ни в чём не бывало. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 3 июля, 2014 Опубликовано 3 июля, 2014 · Жалоба Если кто-то владеет информацией как динамически определять через какое подключение отправить данные, то можете и поделиться. Для этого нужен TCP стек с роутингом. Такой встроен в RTOS MQX. Можно хоть пять интерфейсов выхода в интернет подключить и все будут работать. Есть следующте проблемы: 1. В продвинутых страны с развитым "3G", устройства с GPRS соединием не приветствуются операторами мобильной связи, т.е. по просту отсоединяют от сети и модем возвращает "NO CARRIER". Низкий приоритет по сравнению с остальными протоколами мобильной связи. Чтобы добиться аудиенции надо непрерывно переподключаться и тогда есть толк ( заявить о себе ). Сейчас попробую отписать операторам, может что-то подскажут. Не факт. С модулями Telit имел много дел. Они чувствительны к SIM карте. Были такие карты с которыми подключение к GPRS строго со второго или третьего раза происходило. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sergiy_master 0 4 июля, 2014 Опубликовано 4 июля, 2014 · Жалоба Благодарю AlexandrY, за совет на счет RTOS MQX. Это другая RTOS. Времени на быстрый переход у меня нет. Пока буду использовать то, что есть. Сегодня подключил STM32F4 with RL-TCPNet к 3G модему. Модем E220. Одна из простых и старых моделей. Сим карта во всех тестах одна и таже. После "рукопажатия" через PPP модем остается подключен и не сбрасывает соединие. За пару часов теста, ни одного раза небыло разрыва связи. Даже если данные не передаются через модем ( не могу утверждать за сам модем, возможно он и остылает команды "keep alive"), но модем преданно ждет постлупление информации. Все -таки GPRS модемы имеют проблему. Эту проблему я обнаружил не сам. Данную проблему мне озвучил представитель Telit когда посещал нашу компанию. Он предупредил, что такое есть и возможно через n лет GPRS модемы станут вымирающим видом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться