Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SIM900
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
rat
Суть вопроса: отправляю данные на сервер:

RDY

+CFUN: 1

+CPIN: READY

Call Ready
AT+CGATT=1
OK
AT+CSTT="internet.mts.ru"
OK
AT+CIICR
OK
AT+CIFSR
10.65.171.75
AT+CIPSTART="TCP","109.111.ХХХ.ХХ","ХХХХ"
OK

CONNECT OK
AT+CIPSEND
> +7913929ХХХХ,GPRMC,014157.000,A,5501.3812,N,08255.0908,E,2.14,181.97,301012,,,A*
6A,L,bat:,imei:ХХХХХ,112#d
SEND OK

Это трекерное приложение,отправляемые данные заданного формата, определяемого сервером. В результате на карте должна отображаться точка в месте с передаваемыми координатами, но этого не происходит. Раньше с TCP не работал, наверняка какой-то очевидный ляп, прошу совета.
alexdos
Цитата(rat @ May 20 2013, 06:52) *
Суть вопроса: отправляю данные на сервер:

Это трекерное приложение,отправляемые данные заданного формата, определяемого сервером. В результате на карте должна отображаться точка в месте с передаваемыми координатами, но этого не происходит. Раньше с TCP не работал, наверняка какой-то очевидный ляп, прошу совета.



А отправлять на сервер, те же данные но другими способами пробовали?
Приводит это к появлению точки ?
А то есть где то тут тема, тоже грешили на "транспорт", оказалось что плохо "отсканировали" данные.
rat
Цитата(alexdos @ May 20 2013, 12:34) *
А отправлять на сервер, те же данные но другими способами пробовали?
Приводит это к появлению точки ?
А то есть где то тут тема, тоже грешили на "транспорт", оказалось что плохо "отсканировали" данные.


Другими это какими? Что такое "отсканировали"?. Разумеется, ошибки возможны, интересует, нет ли откровенной неправильности в вышеописанном отправлении данных?
alexdos
Цитата(rat @ May 20 2013, 10:12) *
Другими это какими? Что такое "отсканировали"?. Разумеется, ошибки возможны, интересует, нет ли откровенной неправильности в вышеописанном отправлении данных?


Есть уйма софта которым можно установить соединение с сервером и по TCP или UPD передать данные. Тоесть прямо с компа на сервер.
Формат передачи данных на сервер Вы гдето взяли ведь. способа получения фактически 2, с описания протокола, и с работающего устройства. С работающего устройства Вы можете получить подключившись туда (если такая возможность есть) и "отсканировать" протокол, (Ска́нер (англ. scanner, от scan «пристально разглядывать, рассматривать»)sm.gif.
откровенной неправильности в вышеописанном отправлении данных я не вижу.

Вот сценарий по котором у меня точно передаются данные

--
A T + C G A T T = 1 .
Активировать GPRS сесию
--
A T + C I P C S G P = 1 , " i w w w . k y i v s t a r . n e t " , " g p r s " ," g p r s " .
Передадим CSD и GPRS данные
--
A T + C I P A T S = 0 .
Включим автовреммя ответа
--
A T + C L P O R T = " T C P " , " 2222 " .
Откроем порт
--
A T + C I P S T A R T = " T C P " , " 1 11 . 111 . 1 11 . 11 " , " 2222"
Стартуем подключение
-- .
A T + C I P S T A T U S .
Проверим соединение
--
A T + C R E G ? .
Проверим регистрацию в сети
--
A T + C I P S T A T U S .
Проверим соединение
--
A T + C I P S E N D .
rat
Цитата(alexdos @ May 20 2013, 14:47) *
Есть уйма софта которым можно установить соединение с сервером и по TCP или UPD передать данные. Тоесть прямо с компа на сервер.


Посоветуйте пожалуйста простой удобный доступный софт для передачи данных на сервер по TCP.
sobr
Цитата(rat @ May 20 2013, 14:53) *
Посоветуйте пожалуйста простой удобный доступный софт для передачи данных на сервер по TCP.

Советую:
Нажмите для просмотра прикрепленного файла
rat
Цитата(sobr @ May 20 2013, 15:17) *


Спасибо )
sobr
Цитата(rat @ May 20 2013, 15:49) *
Спасибо )
Пожалуйста.
vassabi
Цитата(rat @ May 20 2013, 10:53) *
Посоветуйте пожалуйста простой удобный доступный софт для передачи данных на сервер по TCP.

Вот еще, чуть более функциональна:
rat
Цитата(vassabi @ May 20 2013, 15:58) *
Вот еще, чуть более функциональна:


Спасибо. Еще один вопрос - как помощью этой программы посмотреть, что я посылаю с SIM900 и посылаются ли данные вообще?
alexdos
Цитата(rat @ May 20 2013, 12:55) *
Спасибо. Еще один вопрос - как помощью этой программы посмотреть, что я посылаю с SIM900 и посылаются ли данные вообще?


Проще всего установить у себя на компе TCP IP Server, открыть на прием какойто порт, посмотреть какой у Вас IP в данный момент в сети интернета, настроить передачу на эти порт и IP и смотреть. НО! В каждом случае тут возможны свои индивидуальные плаяски "с бубном", зависит какой у Вас интернет.
Второй вариант, попросить на сервере на который Вы передаёте, посмотреть, присылает ли Ваш трекер строку.
rat
Цитата(alexdos @ May 20 2013, 18:10) *
Проще всего установить у себя на компе TCP IP Server, открыть на прием какойто порт, посмотреть какой у Вас IP в данный момент в сети интернета, настроить передачу на эти порт и IP и смотреть. НО! В каждом случае тут возможны свои индивидуальные плаяски "с бубном", зависит какой у Вас интернет.
Второй вариант, попросить на сервере на который Вы передаёте, посмотреть, присылает ли Ваш трекер строку.


Комп подключен к интернету через внутреннюю сеть. Как быть?
Aner
Вам же ответили:
1) открыть на прием какой-то свободный порт, ...смотрите в меню вашего роутера.
2) посмотреть какой у вас IP в данный момент в сети интернета, ... там же в меню вашего роутера.
3) настроить передачу на эти порты, на адрес IP и смотреть. ...
Что тут непонятного? Или для вас эти настройки тёмный лес?
sobr
Цитата(Aner @ May 21 2013, 16:28) *
Вам же ответили:
1) открыть на прием какой-то свободный порт, ...смотрите в меню вашего роутера.
2) посмотреть какой у вас IP в данный момент в сети интернета, ... там же в меню вашего роутера.
3) настроить передачу на эти порты, на адрес IP и смотреть. ...
Что тут непонятного? Или для вас эти настройки тёмный лес?
А кто нибудь говорил, что у rat есть доступ к настройкам NAT?
Aner
Но это не тех проблема а организационная, если он знает как решить тех проблему, думаю с орг проблемой он не задал бы вопроса.
Или что не так?
Alex_TAV
А вот вопрос как все же правильно открывать подключение по TCP? Раньше с SIM300 использовал алгоритм
Алгоритм подключения такой -
AT+CGATT? пока не прийдет CGATT:1
AT+IPR=115200
ATE0
AT+CIPCSGP=1,"internet","gdata","gdata" - точка доступа
AT+CIPSTART=="TCP","xxx.xxx.xxx.xxx","09003" подключится по TCP к серверу и ждем CONNECT OK


Внимательно перечитав доки для SIM900, увидел другой рекомендуемый набор команд, тогда сделал -
AT+CGATT? пока не прийдет CGATT:1
AT+IPR=115200
ATE0
AT+CSTT="internet","gdata","gdata" точка доступа
AT+CIICR
AT+CIFSR // локальный IP
AT+CIPSTART=="TCP","xxx.xxx.xxx.xxx","09003" подключится по TCP к серверу и ждем CONNECT OK

Как правильнее?
vassabi
Цитата(Alex_TAV @ May 21 2013, 13:43) *
...
AT+IPR=115200
...
Как правильнее?

А зачем бодрейт дерагать то?
Правильнее так, как написано в рекомендациях на конкретный модуль.
_Артём_
Цитата(vassabi @ May 21 2013, 17:10) *
А зачем бодрейт дерагать то?

Чтобы автоопределение скорости отключить.
Например при передачи бинарных данных (AT+CIPSEND=xxx) модем пожет автоопределится на какую-нибудь другую скорость.
vassabi
Цитата(_Артём_ @ May 21 2013, 17:26) *
Например при передачи бинарных данных (AT+CIPSEND=xxx) модем пожет автоопределится на какую-нибудь другую скорость.
Это где такое написано? Или это из опыта?
Конечно, зависит от задачи, но в 90% случаев бодрейт устанавливается один раз в жизни девайса (без учета аварийных ситуаций и перепрошивок)
_Артём_
Цитата(vassabi @ May 21 2013, 17:36) *
Это где такое написано? Или это из опыта?

Это из опыта (возможно уже устаревшего).

Цитата(vassabi @ May 21 2013, 17:36) *
Конечно, зависит от задачи, но в 90% случаев бодрейт устанавливается один раз в жизни девайса (без учета аварийных ситуаций и перепрошивок)

Вобщем да, к тому же можно запросить текущую скорость и если она устраивает можно не менять.
Цитата
AT+IPR?

+IPR: 19200

OK

AT+IPR=115200

OK
vassabi
Цитата
AT+IPR?
+IPR: 19200
OK
AT+IPR=115200
OK

Такое врядли возможно, т.к. если модуль отзывался на скорости 19200, то вы о ней точно знаете.
А в режиме автоопределения бодрейта, команда AT+IPR? отвечает всегда +IPR: 0
Переключение в AT+IPR=115200 требует последующего рестарта, а так как AT+IPR попадает в список команд, которые сохраняются в NVRAM, то строки переопределения бодрейта теряют смысл.
_Артём_
Цитата(vassabi @ May 21 2013, 18:55) *
Такое врядли возможно

Что именно невозможно?

Цитата(vassabi @ May 21 2013, 18:55) *
если модуль отзывался на скорости 19200, то вы о ней точно знаете.

Отозваться-то он может, но при этом скорость может быть настоена на автоопределение.

Цитата(vassabi @ May 21 2013, 18:55) *
Переключение в AT+IPR=115200 требует последующего рестарта

Зачем рестарт? Скорость на лету вполне переключалась.

Цитата(vassabi @ May 21 2013, 18:55) *
а так как AT+IPR попадает в список команд, которые сохраняются в NVRAM

Возможно без рестарта новая настройка IPR не запомнится (но это проверять надо) или может AT&W её сохранить может.
vassabi
Цитата
Отозваться-то он может, но при этом скорость может быть настоена на автоопределение.

В этом случае AT+IPR? вам не поможет, ответ будет +IPR: 0

Что вам мешает отловить RDY сразу после включения питания и если ее нет, отправить AT (для авто-бодрейта), а затем зафиксировать необходимую скорость навсегда?
Кстати, для этого вам не нужна AT&W, я же написал AT+IPR автоматически сохраняется в NVRAM.
_Артём_
Цитата(vassabi @ May 21 2013, 20:02) *
В этом случае AT+IPR? вам не поможет, ответ будет +IPR: 0

Если ответит +IPR: 0, значит скорость не настроена, а если +IPR: xxxxxx - то скорость задана и повторно её задавать не нужно.

Цитата(vassabi @ May 21 2013, 20:02) *
Что вам мешает отловить RDY сразу после включения питания и если ее нет, отправить AT (для авто-бодрейта), а затем зафиксировать необходимую скорость навсегда?

Можно и так.
Цитата(vassabi @ May 21 2013, 20:02) *
Кстати, для этого вам не нужна AT&W, я же написал AT+IPR автоматически сохраняется в NVRAM.

Да. Проверил - сохранять или слать AT&W не надо - запоминается и так.
Alex_TAV
Цитата(vassabi @ May 21 2013, 21:10) *
А зачем бодрейт дерагать то?
Правильнее так, как написано в рекомендациях на конкретный модуль.

Т.к. в SIM900 по умолчанию установлено автоопределение скорости, то я предпочитаю подстраховатся и установить ее еще и вручную. А каждый раз - так как я для надежности в случае неудач при подключении, выключаю модуль и начинаю работу "с нуля".
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.