|
GPRS, SIM900, TCP, Модуль (клиент) не соединяется с сервером |
|
|
|
Oct 9 2012, 08:29
|
Частый гость
 
Группа: Участник
Сообщений: 89
Регистрация: 28-04-11
Пользователь №: 64 664

|
Добрый день!
Начал разбираться с GPRS на базе модуля SIM900. Ознакомился с файлом описания TCP/IP (название документа: SIM900_TCPIP_ApplicationNote_V1.02.pdf). Начал делать такой проектик: Софт на РС будет сервером, а модуль SIM900 - клиентом. Модуль на данный момент подсоединен к терминалу. Буду с терминала управлять модулем SIM900 для первоначального запуска. Используется режим single connection и non-transparent mode, установленные по умолчанию. Начал выполнять действия, описанные в пункте 2.1.1 How to Establish a TCP Client Connection. Команды AT+CPIN?, AT+CSQ, AT+CREG?, AT+CGATT?, AT+CSTT="internet.lmt.lv" (APN латвийского оператора LMT), AT+CIICR, AT+CIFSR прошли нормально. Ответы на эти команды такие же, как в примере на страницах 5 и 6. До этого момента вроде все нормально.
На следующую команду AT+CIPSTART="TCP","10.13.137.45","10000" получил такой ответ: OK а еще через какое-то время пришло: STATE: TCP CLOSED CONNECT FAIL
На компе с IP адресом 10.13.137.45 уже до выполнения этой команды была запущена программа сервера с номером порта сервера 10000. Может какой-то не тот софт на PC? При запуске этой программы нужно было только присвоить номер порта (выбрал 10000). Софт уже сам считывал IP адрес РС. В чем может быть проблема? Какой софт можете посоветовать?
Думаю, что проблема все же не в софте на РС. Один человек подсказал следующее: "Программа может и слушает, но модулю возможно не пробиться через сервер/рутер, сложно сказать не зная вашей архитектуры сети. Настройки Nat, port forwarding и т.д. смотрите". Где можно посмотреть настройки и какие они должны быть?
Заранее спасибо за помощь! Дмитрий
Создал сразу 4 одинаковые темы. У меня сегодня РС тормозит. Первые 3 можно не читать. Не могу найти, как их можно удалить.
|
|
|
|
|
 |
Ответов
|
Oct 12 2012, 06:03
|
Частый гость
 
Группа: Участник
Сообщений: 89
Регистрация: 28-04-11
Пользователь №: 64 664

|
Цитата(GeGeL @ Oct 11 2012, 15:51)  При Вашем подходе расход трафика будет очень большой: модуль практически постоянно будет слать sin-пакеты (они дублируются и сокетом). Как часто планируется включать сервер? Сколько времени в % он будет отключен? Думаю, лучшим решение видится все же инициализация входящим звонком на некоторое количество попыток подключения. Если хотите автоматизировать этот процесс со стороны сервера, тоже установите на нем модем с модулем. Сервер планируется включать раз в неделю или еще реже, возможно, даже раз в месяц. Устройство должно работать в автономном режиме, периодически, допустим, с интервалом 1 минута архивировать состояние датчика. Время и состояние датчика будет записываться в FRAM. С объемом памяти 2Мбита данные могут записываться в память без ее переполнения до 1 месяца. Софт на РС должен считывать память до того, как она переполнится. Часто не нужно считывать данные, поэтому активировать программу сервера раз-два в месяц было бы достаточно. С РС также нужно будет устанавливать кое-какие параметры. Модем у РС не хотелось бы ставить, т.к. это лишние затраты. Готовый модем, наверно, стоит около 100-200 евро. Минус этого варианта является то, что нужно оплачивать 2 SIM карты. Хотя, такое решение более правильное, т.к. позволяет автоматизировать процесс. Оптимально с точки зрения цены на обслуживание сделать дозвон или послать смс с телефона оператора. Тут уже человеческий фактор может сказаться, забыть отслать смс и программа не будет работать. Цитата(_Артём_ @ Oct 11 2012, 16:23)  Непонятно зачем зачем apn и регистрацию в GPRS повторять многократно. Если модуль уже зарегистрирован, то дальше достаточно только пытаться соединится по сокету. Возможно при повторных запросах первые 2 команды можно и не слать. Насчет 3, 4, 5 команд нужно экспериментировать. Хотя, судя по диаграмме состояний на странице 25, нужно начинать с команды 3 (AT+CSTT="apn"), т.к. после команды AT+CIPSHUT модуль находится в состоянии IP INITIAL. Микроконтроллер отсылает AT+CIPSHUT, когда получает ответ "STATE: TCP CLOSED" "CONNECT FAIL" на команду 6. Цитата(_Артём_ @ Oct 11 2012, 16:23)  Что-то как-то быстро у вас получается. Микроконтроллер отсылает следующую команду практически сразу после получения ответа от предыдущей команды. Интервал времени между ответом и новой командой как правило меньше 1мс. Поэтому может и получается максимально быстро на скорости 9600. Хотя baud rate не так критичен, т.к. SIM900 отвечает с довольно большой задержкой. Как я вижу больше 100мс для самых быстрых ответов. Цитата(_Артём_ @ Oct 11 2012, 16:23)  PS. Если за траффик беспокоитесь, то может UDP попробовать? UDP использовать не хотел бы, т.к. в этом режиме нет подтверждения того, что отосланные данные приняты.
|
|
|
|
|
Oct 12 2012, 13:24
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(Electronics Engineer @ Oct 12 2012, 09:03)  Микроконтроллер отсылает следующую команду практически сразу после получения ответа от предыдущей команды. Интервал времени между ответом и новой командой как правило меньше 1мс. Поэтому может и получается максимально быстро на скорости 9600. Хотя baud rate не так критичен, т.к. SIM900 отвечает с довольно большой задержкой. Как я вижу больше 100мс для самых быстрых ответов. Как-то быстро всё равно - у меня подключение к GPRS занимает до секунд 15, плюс сокет TCP может несколько секунд подключатся (не более 60). Цитата(Electronics Engineer @ Oct 12 2012, 09:03)  UDP использовать не хотел бы, т.к. в этом режиме нет подтверждения того, что отосланные данные приняты. Самому можно сформировать...
|
|
|
|
|
Oct 12 2012, 16:02
|
Частый гость
 
Группа: Участник
Сообщений: 89
Регистрация: 28-04-11
Пользователь №: 64 664

|
Цитата(_Артём_ @ Oct 12 2012, 16:24)  Как-то быстро всё равно - у меня подключение к GPRS занимает до секунд 15, плюс сокет TCP может несколько секунд подключатся (не более 60). При включении питания, действительно, на одну из команд AT+CREG? или AT+CGATT? (сейчас точно не помню какая) нужный ответ приходит где-то через 7-10 секунд. А уже последующие попытки подключения клиента к серверу занимают в основном до 3 секунд. Еще был момент, который описан где-то в начале темы, т.е. когда клиент пытался подключиться к серверу, IP адрес которого не был виден. Тогда пытался подключиться к РС, который находился в локальной сети. Тогда, действительно, ответ "STATE: TCP CLOSED" "CONNECT FAIL" на команду AT+CIPSTART="TCP","IP address of server","Port number of server" приходил с большой задержкой. Наверно, больше 30 секунд. Сейчас такого нет с белым адресом. P.S. А Вы сами тоже из Риги?
Сообщение отредактировал Electronics Engineer - Oct 12 2012, 16:32
|
|
|
|
|
Oct 12 2012, 20:55
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(Electronics Engineer @ Oct 12 2012, 19:02)  При включении питания, действительно, на одну из команд AT+CREG? или AT+CGATT? (сейчас точно не помню какая) нужный ответ приходит где-то через 7-10 секунд. А уже последующие попытки подключения клиента к серверу занимают в основном до 3 секунд. У меня такая же картина: gprs подключается за секунд 10-20, сокет тоже подключается в пределах нескольких секунд.Бывает, правда, оператор не даёт подключится (наверное считает что модем не отключался) и тогда дело затягивается, но это не часто. Цитата(Electronics Engineer @ Oct 12 2012, 19:02)  P.S. А Вы сами тоже из Риги? Да, живу в Риге.
|
|
|
|
|
Oct 15 2012, 07:07
|
Частый гость
 
Группа: Участник
Сообщений: 89
Регистрация: 28-04-11
Пользователь №: 64 664

|
Цитата(_Артём_ @ Oct 12 2012, 23:55)  Да, живу в Риге. Если не секрет, какое оборудование делаете на базе SIM900? У меня это было только ознакомление с SIM900. Разобрался с отсылкой / получением смс, voice call, TCP/IP по каналу GPRS. По ссылке можете посмотреть краткое описание демонстрационных проектиков на базе SIM900: http://embeddedsolutio.ucoz.com/index/projects/0-6Если что, было бы полезно на всякий случай иметь контакт в Риге.
|
|
|
|
|
Oct 15 2012, 20:49
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(Electronics Engineer @ Oct 15 2012, 10:07)  Если не секрет, какое оборудование делаете на базе SIM900? Да тоже что и все сейчас - GPS/GLONASS-GSM-GPRS оборудование и тому подобное. Цитата(Electronics Engineer @ Oct 15 2012, 10:07)  Если что, было бы полезно на всякий случай иметь контакт в Риге. Если что - пишите в личку.
|
|
|
|
Сообщений в этой теме
Electronics Engineer GPRS, SIM900, TCP Oct 9 2012, 08:29 andrewlekar Попробуйте с компа подцепиться к этому адресу. Ком... Oct 9 2012, 09:03 Electronics Engineer Цитата(andrewlekar @ Oct 9 2012, 12:03) П... Oct 9 2012, 09:19 andrewlekar Если связь не установится между двумя PC в разных ... Oct 9 2012, 09:47 Electronics Engineer Цитата(andrewlekar @ Oct 9 2012, 12:47) Е... Oct 9 2012, 12:06  _Артём_ Цитата(Electronics Engineer @ Oct 9 2012, 15... Oct 9 2012, 13:07   alexdos "а еще через какое-то время пришло: STATE: TC... Oct 9 2012, 16:28   Electronics Engineer Цитата(_Артём_ @ Oct 9 2012, 16:07) Зачем... Oct 10 2012, 06:57 andrewlekar Чтобы модуль был сервером, нужно идти к оператору ... Oct 10 2012, 07:03 Electronics Engineer Цитата(andrewlekar @ Oct 10 2012, 10:03) ... Oct 10 2012, 07:23  _Артём_ Цитата(Electronics Engineer @ Oct 10 2012, 10... Oct 10 2012, 11:20   Electronics Engineer Цитата(_Артём_ @ Oct 10 2012, 14:20) Испо... Oct 10 2012, 12:00    west329_ Цитата(Electronics Engineer @ Oct 10 2012, 15... Oct 10 2012, 13:18 GeGeL Не все так просто у Вас сделать.
Все IP, которые н... Oct 10 2012, 15:52 Electronics Engineer Спасибо всем за помощь в решении данной проблемы.
... Oct 11 2012, 09:34  _Артём_ Цитата(Electronics Engineer @ Oct 11 2012, 12... Oct 11 2012, 12:20   Electronics Engineer Цитата(_Артём_ @ Oct 11 2012, 15:20) Что ... Oct 11 2012, 12:40    _Артём_ Цитата(Electronics Engineer @ Oct 11 2012, 15... Oct 11 2012, 13:23 andrewlekar 1. Да, используется. Да, израсходуется.
2. Можно и... Oct 11 2012, 10:53 Electronics Engineer Цитата(andrewlekar @ Oct 11 2012, 13:53) ... Oct 11 2012, 11:17       Electronics Engineer Попробовал пересылать большие пакеты данных с кли... Oct 17 2012, 10:39        GeGeL Цитата(Electronics Engineer @ Oct 17 2012, 13... Oct 18 2012, 18:18         Electronics Engineer Цитата(GeGeL @ Oct 18 2012, 21:18) Думаю,... Oct 19 2012, 09:21       Electronics Engineer Увеличил скорость обмена данными по UART между мик... Oct 18 2012, 06:16 GeGeL UDP тут не поможет, т.к. в смысле трафика практиче... Oct 12 2012, 06:37 Electronics Engineer Цитата(GeGeL @ Oct 12 2012, 09:37) При та... Oct 12 2012, 07:19 vka_ Не совсем понятна Ваша проблема: по существу Вы ... Oct 12 2012, 06:43 MKdemiurg ЦитатаВопрос заключается в том, как можно по возмо... Oct 18 2012, 06:24 _Артём_ Цитата(MKdemiurg @ Oct 18 2012, 09:24) Пр... Oct 18 2012, 15:12 GeGeL При таком подходе сообщение о доставке будет прихо... Oct 19 2012, 09:50 vintick Уточните еще раз пожалуйста:
как можно устанавлив... Jan 3 2013, 13:33 GeGeL Модуль должен постоянно поддерживать соединение с ... Jan 7 2013, 08:22 vintick На данный момент мне надо вариант
когда модуль-сер... Jan 7 2013, 09:55 GeGeL Если все так, как описано (на модуле СТАТИЧЕСКИЙ I... Jan 7 2013, 15:06 Romashki По поводу скорости - передавал на сервер с СИМ900 ... Jan 8 2013, 17:30
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|