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

 
 
> Состояние GPRS
ArtemKAD
сообщение Dec 21 2016, 14:17
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364



Нет ли где внятного описания чего означают каждый из вариантов возвращаемый по запросу
AT+CIPSTATUS

В частности сильно интересует что означает статус
STATE: TCP CONNECTING

ЗЫ. Модем Sim900
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 17)
Baser
сообщение Dec 21 2016, 16:18
Сообщение #2


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Диаграмму состояний (граф переходов) встречал в AN_SIM900_TCPIP_Application_Note
Но собственно описания там нет, по паре слов на каждое состояние, которые и так вытекают из его названия.

Вообще, большая часть стандартов GSM написана так, что чаще всего описывают только форму команды.
Смысл же или для чего это вообще нужно, описывается крайне редко sad.gif
Типа: спец и так знает, а посторонним нефиг и лезть...
Go to the top of the page
 
+Quote Post
ArtemKAD
сообщение Dec 21 2016, 16:50
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364



Ту диаграмму я видел и даже надеялся что она полная. Вот только кольцо которое там "слегка" не так работает как в реальности. К примеру переходит из STATE: TCP CLOSED в STATE: TCP CONNECTING минуя половину графа.
Go to the top of the page
 
+Quote Post
Hub
сообщение Dec 21 2016, 20:57
Сообщение #4


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

Группа: Свой
Сообщений: 184
Регистрация: 7-10-15
Из: Санкт-Петербург
Пользователь №: 88 743



Цитата(ArtemKAD @ Dec 21 2016, 19:50) *
Ту диаграмму я видел и даже надеялся что она полная. Вот только кольцо которое там "слегка" не так работает как в реальности. К примеру переходит из STATE: TCP CLOSED в STATE: TCP CONNECTING минуя половину графа.

скорее не минуя, а очень быстро перебирая...
есть аналогичный озвученному Baser'ом для 900й серии, документ для 800й серии, напишите мне - пришлю (wirelessДОГmt-system.ru).
Go to the top of the page
 
+Quote Post
Baser
сообщение Dec 21 2016, 21:29
Сообщение #5


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Цитата(Hub @ Dec 21 2016, 22:57) *
есть аналогичный озвученному Baser'ом для 900й серии, документ для 800й серии, напишите мне - пришлю (wirelessДОГmt-system.ru).

На сайте "Гаммы" (microchip.ua) этот документ (v1.01) лежит открыто, но там по графу состояний нет отличий от документа на SIM900.
Там только все облагородили и добавили главу "Two GPRS Context". Больше разницы не заметил.
Go to the top of the page
 
+Quote Post
ArtemKAD
сообщение Dec 22 2016, 02:05
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364



Цитата(Hub @ Dec 21 2016, 22:57) *
скорее не минуя, а очень быстро перебирая...

По графу состояний для того, что-бы попасть из TCP CLOSED в TCP CONNECTING необходимо пройти всю цепочку начиная как минимум с IP INITIAL и как минимум в четырех точках для дальнейшего движения по графу ожидать моих данных или команд(AT+SIPSHUT, AT+CSTT, AT+CIICR, AT+CIFSR), но такого нет. Вот и хотелось-бы узнать более полный граф - т.е. куда и какими командами между состояниями можно попасть помимо того, что указано в SIM900_TCPIP_Application_Note. Потому как метод научного втыка конечно рулит, но хотелось-бы представлять и что создатели имели ввиду...

ЗЫ. Я так понимаю по 800-ке ситуация примерно аналогична...
Go to the top of the page
 
+Quote Post
smalcom
сообщение Dec 23 2016, 09:02
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 292
Регистрация: 26-06-07
Пользователь №: 28 718



Цитата
STATE: TCP CONNECTING

установление TCP-соединения.
Go to the top of the page
 
+Quote Post
aiwa
сообщение Dec 25 2016, 16:38
Сообщение #8


Местный
***

Группа: Участник
Сообщений: 301
Регистрация: 13-12-15
Из: Харьков
Пользователь №: 89 682



Цитата(ArtemKAD @ Dec 21 2016, 18:50) *
Вот только кольцо которое там "слегка" не так работает как в реальности. К примеру переходит из STATE: TCP CLOSED в STATE: TCP CONNECTING минуя половину графа.

Первая половина графа относится к "bearer"-соединению с провайдером, в результате которого последний выделяет IP сим-карты.
Вторая половина графа - TCP-соединения в обычном сетевом смысле.
Поэтому для переоткрытия ТCP - соединения, процедуры относящиеся к "bearer", которым соответствует добрая половина графа в начале, необязательны.
Go to the top of the page
 
+Quote Post
turnon
сообщение Jan 13 2017, 08:42
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 340
Регистрация: 17-10-14
Пользователь №: 83 207



Цитата(aiwa @ Dec 25 2016, 19:38) *
Первая половина графа относится к "bearer"-соединению с провайдером, в результате которого последний выделяет IP сим-карты.
Вторая половина графа - TCP-соединения в обычном сетевом смысле.
Поэтому для переоткрытия ТCP - соединения, процедуры относящиеся к "bearer", которым соответствует добрая половина графа в начале, необязательны.


Давно хотел узнать что это за bearer такой и почему есть два типа соединений - с bearer (HTTP) и без (TCP).
Go to the top of the page
 
+Quote Post
aiwa
сообщение Jan 13 2017, 11:47
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 301
Регистрация: 13-12-15
Из: Харьков
Пользователь №: 89 682



Цитата(turnon @ Jan 13 2017, 10:42) *
Давно хотел узнать что это за bearer такой и почему есть два типа соединений - с bearer (HTTP) и без (TCP).

"bearer-соединение" - это Ваше соединение с провайдером. Все остальное - как HTTP так и ТСР - это соединение провайдера от Вашего лица с конечным адресом.

Для лучшего понимания бытовая аналогия: есть домашний роутер подключенный проводами к провайдеру, который раздает WiFi на все планшеты и ноутбуки в квартире. В этом случае роутер выполняет роль провайдера, а 5-метровый WiFi - "bearer"-соединение.

PS: я не специалист и если мое понимание ошибочно, надеюсь знатоки поправят.

Сообщение отредактировал aiwa - Jan 13 2017, 11:50
Go to the top of the page
 
+Quote Post
turnon
сообщение Jan 14 2017, 08:28
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 340
Регистрация: 17-10-14
Пользователь №: 83 207



Цитата(aiwa @ Jan 13 2017, 14:47) *
"bearer-соединение" - это Ваше соединение с провайдером. Все остальное - как HTTP так и ТСР - это соединение провайдера от Вашего лица с конечным адресом.

Так а почему для HTTP надо "bearer-соединение", а для TCP надо "PDP-context".
Go to the top of the page
 
+Quote Post
aiwa
сообщение Jan 14 2017, 19:27
Сообщение #12


Местный
***

Группа: Участник
Сообщений: 301
Регистрация: 13-12-15
Из: Харьков
Пользователь №: 89 682



Цитата(turnon @ Jan 14 2017, 10:28) *
Так а почему для HTTP надо "bearer-соединение", а для TCP надо "PDP-context".

Во-первых, понятия HTTP и TCP не являются достоянием мобильной связи, это общая теория сетей с их уровнями.
Во-вторых, HTTP и TCP не подлежат такому сравнению, потому что прикладной HTTP на транспортном уровне является TCP.
Поэтому, для HTTP, так как это TCP, также нужно "bearer-соединение".

В терминах "PDP-context" это выглядит так: при запросе клиента, как на стороне модема, так и на стороне провайдера
создаются структуры данных, называемые "PDP-context", в которые заносится информация о идентификации клиента и приобретенных
клиентом в пакете услуг благах: белый или динамический адрес, уровень качества предоставляемого сервиса и прочее.
Вот такое взаимное выделение этого контекста можете считать установившемся "bearer-соединением".

А далее - стандартная матрешка: PDP внутри содержат TCP, которые в свою очередь содержат HTTP.


Go to the top of the page
 
+Quote Post
turnon
сообщение Jan 15 2017, 07:41
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 340
Регистрация: 17-10-14
Пользователь №: 83 207



Цитата(aiwa @ Jan 14 2017, 22:27) *
Поэтому, для HTTP, так как это TCP, также нужно "bearer-соединение".

Повторяюсь, для работы с HTTP нужно "bearer-соединение", для работы с TCP "bearer" не нужно, а только PDP-context. Почему так по разному? Ведь на транспортном уровне там все равно TCP в обоих случаях.

Весь вопрос как раз в том почему для TCP не нужно "bearer-соединение".
Go to the top of the page
 
+Quote Post
aiwa
сообщение Jan 15 2017, 13:59
Сообщение #14


Местный
***

Группа: Участник
Сообщений: 301
Регистрация: 13-12-15
Из: Харьков
Пользователь №: 89 682



Цитата(turnon @ Jan 15 2017, 09:41) *
Весь вопрос как раз в том почему для TCP не нужно "bearer-соединение".

Потому что в той документации инструментария, которую Вы используете слишком вольно пользуются терминологией.
Контекст - это всего лишь запись в базе данных на "APN-сервере" провайдера, что обладатель конткретной симки купил
услугу GPRS определенного тарифа и что на его счету что-то еще есть.
Это необходимое условие, но недостаточное: для TCP, как и для всего прочего по GPRS, нужна "активация PDP-контекста", что на сленге именуется "bearer-соединением".

Из-за путаницы в терминологии получается приблизительно как "нужен hard disc, а не винчестер".


Go to the top of the page
 
+Quote Post
turnon
сообщение Jan 15 2017, 15:39
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 340
Регистрация: 17-10-14
Пользователь №: 83 207



Цитата(aiwa @ Jan 15 2017, 16:59) *
Потому что в той документации инструментария, которую Вы используете слишком вольно пользуются терминологией.
Из-за путаницы в терминологии получается приблизительно как "нужен hard disc, а не винчестер".

Так ведь и команды подъема соединения совершенно разные, для FTP/HTTP - AT+SAPBR, для TCP - AT+CSTT, AT+CIICR. Это что, внутри SIM800C одно и то же? Или внутри совершенно разный код для одного и того же? Или для FTP/HTTP код студетны делали с нуля не знаю о готовой реализации для TCP?
Go to the top of the page
 
+Quote Post
aiwa
сообщение Jan 15 2017, 16:44
Сообщение #16


Местный
***

Группа: Участник
Сообщений: 301
Регистрация: 13-12-15
Из: Харьков
Пользователь №: 89 682



Цитата(turnon @ Jan 15 2017, 17:39) *
Так ведь и команды подъема соединения совершенно разные, для FTP/HTTP - AT+SAPBR, для TCP - AT+CSTT, AT+CIICR. Это что, внутри SIM800C одно и то же?

Команды разные, в силу того, что в случае для FTP/HTTP вы сообщаете о намерении использовать соответствующий протокол прикладной протокол - SIM800C в этом случае все равно выполняет вначале действия аналогичные для TCP-команд.
Грубо говоря, если Вы вручную реализуете ftp- или http- сервисы посредством команд для TCP, то это и будет тем, что делают
команды для для FTP/HTTP.

Go to the top of the page
 
+Quote Post
turnon
сообщение Jan 16 2017, 08:31
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 340
Регистрация: 17-10-14
Пользователь №: 83 207



Цитата(aiwa @ Jan 15 2017, 20:44) *
Команды разные, в силу того, что в случае для FTP/HTTP вы сообщаете о намерении использовать соответствующий протокол прикладной протокол - SIM800C в этом случае все равно выполняет вначале действия аналогичные для TCP-команд.

Это скорее HTTPINIT.

Цитата(aiwa @ Jan 15 2017, 20:44) *
Грубо говоря, если Вы вручную реализуете ftp- или http- сервисы посредством команд для TCP, то это и будет тем, что делают команды для для FTP/HTTP.


Не похоже что одно и то же. Если там внтури это одно и то же по сути, то не понимаю почему при варианте реализации HTTP через TCP от SIM800C запрос выполняется почти в два раза быстрее чем при использовании HTTP от SIM800C.

HTTP:
Код
+HTTPINIT
+HTTPPARA="CID",1"
+HTTPPARA="URL","..."
+HTTPACTION=0
+HTTPACTION: 0,200,301"
httpRead(expectedDataLen = 301)
+HTTPTERM

Около 2-х сек.

TCP:
Код
+CIPSTART="TCP","...",80"...
CONNECT_OK
+CIPSEND=493
>
Send 291+202 byte...
+CIPCLOSE=0

Около 1-й сек.
Go to the top of the page
 
+Quote Post
aiwa
сообщение Jan 17 2017, 02:33
Сообщение #18


Местный
***

Группа: Участник
Сообщений: 301
Регистрация: 13-12-15
Из: Харьков
Пользователь №: 89 682



Цитата(turnon @ Jan 16 2017, 10:31) *
Не похоже что одно и то же. Если там внтури это одно и то же по сути, то не понимаю почему при варианте реализации HTTP через TCP от SIM800C запрос выполняется почти в два раза быстрее чем при использовании HTTP от SIM800C.

Чисто теоретически вариант реализации через TCP будет быстрее варианта HTTP, потому что TCP - это "stream"-сокет, который ретранслирует данные между Вами и конечным адресатом, а HTTP - это такой же "stream"-сокет, возле которого в качестве цензора сидит встроенный HTML-сервис SIM800C. Который забирает на свою работу часть времени и которую Вы в случае реализации через TCP должны выполнять самостоятельно, но уже после остановки секундомера.
А в приведенном Вами коде я не увидел, что запросы идентичны: в случае HTML запись GET с последующим чтением результата, а в случае TCP - только запись.

Сообщение отредактировал aiwa - Jan 17 2017, 02:33
Go to the top of the page
 
+Quote Post

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

 


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


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