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

 
 
> GPRS, SIM900, TCP, Модуль (клиент) не соединяется с сервером
Electronics Engi...
сообщение Oct 9 2012, 08:29
Сообщение #1


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

Группа: Участник
Сообщений: 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 можно не читать. Не могу найти, как их можно удалить.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
GeGeL
сообщение Oct 11 2012, 12:51
Сообщение #2


Местный
***

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



При Вашем подходе расход трафика будет очень большой: модуль практически постоянно будет слать sin-пакеты (они дублируются и сокетом).
Как часто планируется включать сервер? Сколько времени в % он будет отключен?
Думаю, лучшим решение видится все же инициализация входящим звонком на некоторое количество попыток подключения. Если хотите автоматизировать этот процесс со стороны сервера, тоже установите на нем модем с модулем.
Go to the top of the page
 
+Quote Post
Electronics Engi...
сообщение Oct 12 2012, 06:03
Сообщение #3


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

Группа: Участник
Сообщений: 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 использовать не хотел бы, т.к. в этом режиме нет подтверждения того,
что отосланные данные приняты.
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Oct 12 2012, 13:24
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 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 использовать не хотел бы, т.к. в этом режиме нет подтверждения того,
что отосланные данные приняты.

Самому можно сформировать...
Go to the top of the page
 
+Quote Post
Electronics Engi...
сообщение Oct 12 2012, 16:02
Сообщение #5


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

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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 12 2012, 19...   Oct 12 2012, 20:55
|- - Electronics Engineer   Цитата(_Артём_ @ Oct 12 2012, 23:55) Да, ...   Oct 15 2012, 07:07
|- - _Артём_   Цитата(Electronics Engineer @ Oct 15 2012, 10...   Oct 15 2012, 20:49
|- - 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


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

 


RSS Текстовая версия Сейчас: 29th June 2025 - 10:55
Рейтинг@Mail.ru


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