Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Определить статус соединения
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
_Артём_
Использую для определения статуса TCP/UDP-соединения команду CIPSTATUS.
Не наравится то, что ответ текстовый
Цитата
STATE: CONNECT OK


и таких ответов ещё не меньше 10 вариантов.
Нельзя ли настроить модем так, чтобы получать ответ в виде примерно таком:
Цитата
STATE: 5


Или может есть какая другая команда с близкой функциональностью?
Спасибо.
Цырен.
Цитата(_Артём_ @ Jan 18 2012, 18:02) *
Использую для определения статуса TCP/UDP-соединения команду CIPSTATUS.
Не наравится то, что ответ текстовый


и таких ответов ещё не меньше 10 вариантов.
Нельзя ли настроить модем так, чтобы получать ответ в виде примерно таком:


Или может есть какая другая команда с близкой функциональностью?
Спасибо.


До конца не уверен, ибо не проверял. Но попробуйте ATV0.
_Артём_
Цитата(Цырен. @ Jan 24 2012, 07:34) *
До конца не уверен, ибо не проверял. Но попробуйте ATV0.


Теперь выдаёт
Цитата
ATV0
0
AT+CIPSTATUS
0

Т.е. заменил OK на 0. А вот как бы OK оставить, STATE: CONNECT OK заменить на STATE: 0?
CADiLO
Никак. Или код всего ответа, или текстовый URC.
_Артём_
Цитата(CADiLO @ Jan 24 2012, 15:10) *
Никак. Или код всего ответа, или текстовый URC.

Зря.

Цитата(CADiLO @ Jan 24 2012, 15:10) *
Или код всего ответа, или текстовый URC.

Почему не делать как в стандартных командах?
Цитата
AT+CPAS
+CPAS: 0
OK

Нет надо им 15 текстовых сообщений сочинять...
andrewlekar
Цитата
Нет надо им 15 текстовых сообщений сочинять...

Сумрачный китайский гений. В TCP/UDP командах simcom насочинял полную ерунду, конечно. Особенно порадовало асинхронное сообщение CLOSE OK. Очень увлекательно его отлавливать в потоке данных от модуля.
CADiLO
Я вас разочарую - TCP/IP стек у Симкома покупной и лицензированый. Так что сами они там ничего не сочиняли.
Разве что окружение и интеграцию в фирмваре.
Думаю что этот стек используется многими кто применил в своих телефонах или модулях PNXхххх.

andrewlekar
А что, AT команды для стека тоже покупные? На самом деле разница между стандартными AT командами и командами стека уж больно в глаза бросается. И для автоматической обработки стек у симкома плохо пригоден. Мы его победили конечно, но если кто-то закладывался на то, что асинхронные команды всегда идут с ведущим плюсом, тот жестоко намучается.
CADiLO
AT команды касающиеся GPRS стандартные и регламентируются GSM 07.60.
Остальные писались для максимальной совместимости с тем как было в SIM300x.
Потому и получилось несколько коряво - потому что стек от TTPCOM, который был в 300й серии, именно так и отвечал.
FTP, HTTP писались с нуля, поэтому мне например, там все нравится - как в апнотесе написано - так и работает.

Кстати свободных исходников по TCP в инете пруд пруди - многие просто пишут под себя только то что нужно для работы вместе с обработчиками ответов. Не так уж много это места в микроконтроллере занимает. А то что в модуле - ну на всех не угодить - универсальный продукт всегда хуже специализированного.
_Артём_
Цитата(andrewlekar @ Jan 25 2012, 08:06) *
Сумрачный китайский гений. В TCP/UDP командах simcom насочинял полную ерунду, конечно. Особенно порадовало асинхронное сообщение CLOSE OK. Очень увлекательно его отлавливать в потоке данных от модуля.

Тут запрос CIPSTATUS в помощь (несмотря на его кривизну).


Цитата(CADiLO @ Jan 25 2012, 12:41) *
AT команды касающиеся GPRS стандартные и регламентируются GSM 07.60.
Остальные писались для максимальной совместимости с тем как было в SIM300x.
Потому и получилось несколько коряво - потому что стек от TTPCOM, который был в 300й серии, именно так и отвечал.
FTP, HTTP писались с нуля, поэтому мне например, там все нравится - как в апнотесе написано - так и работает.

Так и TCP-стек работает как написано (в основном), только скорость не радует, но приемлимо.

Цитата(CADiLO @ Jan 25 2012, 12:41) *
Кстати свободных исходников по TCP в инете пруд пруди - многие просто пишут под себя только то что нужно для работы вместе с обработчиками ответов. Не так уж много это места в микроконтроллере занимает. А то что в модуле - ну на всех не угодить - универсальный продукт всегда хуже специализированного.

Не так уж мало, у китайцев там ARM стоит и скорость низкая, а у меня авр, какая скорость стека ожидаема при написании самому? Думаю ответ не порадует.
CADiLO
Микрочиповский TCP стек на штатном PIC18F67J60. Товарищ который переделывал себе этот стек для своих задач получил на нем 800килобайт/сек в обычной сетке. Кто мешает адаптировать под себя?
Ну и зачастую ограничение будет совсем не в стеке, а в операторе, это ж не 3G.
_Артём_
Цитата(CADiLO @ Jan 25 2012, 15:56) *
Микрочиповский TCP стек на штатном PIC18F67J60.

Там PPP или Ethernet?

Цитата(CADiLO @ Jan 25 2012, 15:56) *
Товарищ который переделывал себе этот стек для своих задач получил на нем 800килобайт/сек в обычной сетке. Кто мешает адаптировать под себя?

Скорость впечатляет, не знал что можно так быстро.
Вот и ткнуть бы китайцев носом, а них ведь АРМ внутри.

Цитата(CADiLO @ Jan 25 2012, 15:56) *
Ну и зачастую ограничение будет совсем не в стеке, а в операторе, это ж не 3G.

Согласен, но и GPRS тоже не на 0,5-2кБ/с должен работать (такую скорость получали на sim300/900 сос стеком).
CADiLO
http://www.microchip.com/stellent/idcplg?I...;param=en535724

Optimized for all PIC18, PIC24, dsPIC and PIC32 families
Supported Protocols: ARP, IP, ICMP, UDP, TCP, DHCP, SNMP, HTTP, FTP, TFTP
Socket support for TCP and UDP
Secure Sockets Layer (SSL)
NetBIOS Name Service
DNS – Domain Name System
Ethernet Device Discovery
Support for MPLAB C18, C30, and C32 compilers

Для PPP у микрочипа есть апнотес, ну и кроме того можно воспользоваться книжкой
James Carlson "PPP Design, Implementation and Debugging"

>>>>Согласен, но и GPRS тоже не на 0,5-2кБ/с должен работать (такую скорость получали на sim300/900 сос стеком).

Теоретический максимум в 171,2 Кбит/сек., похоже, используется исключительно в маркетинговых целях и никогда на практике. Из 4 схем кодирования, применяемых в GPRS-сетях (от схемы кодирования зависит скорость передачи данных в одном канале), чаще всего используют именно вторую, позволяющую передавать не более 13,4 килобита в секунду в одном временном слоте. Принимая во внимание большую распространенность телефонов с поддержкой 10-го класса (с максимальным числом слотов на прием данных, равным 4), можно с уверенностью говорить о практическом максимуме скорости получения данных в сети GPRS — это: 13,4 Кбит/сек.х 4 канала = 53,6 Кбит/сек. (всего-то 6,7 кбайт/сек.).

У меня поздней ночью на МТС иногда было 39 килобит/сек. Делим на 10 и получаем 3.9 килобайта при незагруженных сотах. Днем там гораздо ниже скорость - можно сказать что ее не было вообще. В качестве модема стоял телефон SAMSUNG S5230.
То ли сота у меня такая, то ли реальность - но нормальной скорости в GPRG я не видел никогда.

Если нужна стабильная скорость, а переходить на 3G не получается, то покупается канал, и можете там в гордом одиночестве получить 4 килобайта для аплоада и 8 для довнлоада - больше класс 10 не позволит. Далее нужно уже или EDGE или 3G.

Хочу добавить что модули с классом 12 не спасут ситуацию - как только сеть начнет грузиться, сота будет снижать схему кодирования уходя на меньшее количество таймслотов впоть до класс 8.
_Артём_
Цитата(CADiLO @ Jan 25 2012, 17:34) *
http://www.microchip.com/stellent/idcplg?I...;param=en535724

Optimized for all PIC18, PIC24, dsPIC and PIC32 families
Supported Protocols: ARP, IP, ICMP, UDP, TCP, DHCP, SNMP, HTTP, FTP, TFTP
Socket support for TCP and UDP
Secure Sockets Layer (SSL)
NetBIOS Name Service
DNS – Domain Name System
Ethernet Device Discovery
Support for MPLAB C18, C30, and C32 compilers

Для PPP у микрочипа есть апнотес, ну и кроме того можно воспользоваться книжкой
James Carlson "PPP Design, Implementation and Debugging"

СПасибо, посмотрю. Надеюсь там не намертво для пиков (без асма хотя бы), а то мне на авр нада или лучше чтоб независимо от архитектуры.


Цитата(CADiLO @ Jan 25 2012, 17:34) *
Теоретический максимум в 171,2 Кбит/сек., похоже, используется исключительно в маркетинговых целях и никогда на практике. Из 4 схем кодирования, применяемых в GPRS-сетях (от схемы кодирования зависит скорость передачи данных в одном канале), чаще всего используют именно вторую, позволяющую передавать не более 13,4 килобита в секунду в одном временном слоте. Принимая во внимание большую распространенность телефонов с поддержкой 10-го класса (с максимальным числом слотов на прием данных, равным 4), можно с уверенностью говорить о практическом максимуме скорости получения данных в сети GPRS — это: 13,4 Кбит/сек.х 4 канала = 53,6 Кбит/сек. (всего-то 6,7 кбайт/сек.).

У меня поздней ночью на МТС иногда было 39 килобит/сек. Делим на 10 и получаем 3.9 килобайта при незагруженных сотах. Днем там гораздо ниже скорость - можно сказать что ее не было вообще. В качестве модема стоял телефон SAMSUNG S5230.
То ли сота у меня такая, то ли реальность - но нормальной скорости в GPRG я не видел никогда.

Если нужна стабильная скорость, а переходить на 3G не получается, то покупается канал, и можете там в гордом одиночестве получить 4 килобайта для аплоада и 8 для довнлоада - больше класс 10 не позволит. Далее нужно уже или EDGE или 3G.

Хочу добавить что модули с классом 12 не спасут ситуацию - как только сеть начнет грузиться, сота будет снижать схему кодирования уходя на меньшее количество таймслотов впоть до класс 8.

Может и так, тогда особо не разгонишся.
Возможно ещё что так медленно у меня потому, что обмен зачастую paket-by-paket.

А нет ли simcom-а апноты по PPP, или смысла в нём нет исходя из сказанного выше (скорость всё равно не поднять)?
Тогда единственный плюс PPP - назависимость от производителей модемов.
CADiLO
Для совместимости только L2P и лучше вместо него другой протокол использовать.

Вот что Симком пишет по поводу PPP:

AT+CGDATA="PPP", 1
The mobile supports Layer 2 Protocol (L2P) PPP only.
Note: If the mobile is NOT attached by AT+CGATT=1 and the CID is NOT activated before connecting, attaching and activating is automatically done by the AT+CGDATA Command.
Some providers require using an APN to establish a GPRS connection. So if user uses the Microsoft Windows Dial-Up Network and ATD*9… to connect to GPRS, user must provide the context definition as part of the modem definition (Modem properties/Connection/Advanced…/Extra settings.) As an alternative, user can define and activate the context in a terminal program (e.g. Microsoft HyperTerminal) and then use the Dial-Up Network to send only the ATD Command
CADiLO
Вот что Симком пишет по поводу PPP:

AT+CGDATA="PPP", 1
The mobile supports Layer 2 Protocol (L2P) PPP only.
Note: If the mobile is NOT attached by AT+CGATT=1 and the CID is NOT activated before connecting, attaching and activating is automatically done by the AT+CGDATA Command.
Some providers require using an APN to establish a GPRS connection. So if user uses the Microsoft Windows Dial-Up Network and ATD*9… to connect to GPRS, user must provide the context definition as part of the modem definition (Modem properties/Connection/Advanced…/Extra settings.) As an alternative, user can define and activate the context in a terminal program (e.g. Microsoft HyperTerminal) and then use the Dial-Up Network to send only the ATD Command
_Артём_
Цитата(CADiLO @ Jan 26 2012, 09:06) *
Вот что Симком пишет по поводу PPP:

AT+CGDATA="PPP", 1
The mobile supports Layer 2 Protocol (L2P) PPP only.
Note: If the mobile is NOT attached by AT+CGATT=1 and the CID is NOT activated before connecting, attaching and activating is automatically done by the AT+CGDATA Command.
Some providers require using an APN to establish a GPRS connection. So if user uses the Microsoft Windows Dial-Up Network and ATD*9… to connect to GPRS, user must provide the context definition as part of the modem definition (Modem properties/Connection/Advanced…/Extra settings.) As an alternative, user can define and activate the context in a terminal program (e.g. Microsoft HyperTerminal) and then use the Dial-Up Network to send only the ATD Command


А что за документ?
CADiLO
SIM900_AT Command Manual_V1.05.pdf
страница 239

Кстати если интересно, в Риге можно брать модули через наших партнеров - http://www.micel.ee/
У них же вся остальная поставляемая нами линейка продукции.
Звоните, спрашиваете Льва Гапочку, он ответит на все вопросы по поставке.
_Артём_
Цитата(CADiLO @ Jan 26 2012, 09:25) *
SIM900_AT Command Manual_V1.05.pdf
страница 239

Кстати если интересно, в Риге можно брать модули через наших партнеров - http://www.micel.ee/
У них же вся остальная поставляемая нами линейка продукции.
Звоните, спрашиваете Льва Гапочку, он ответит на все вопросы по поставке.


А какие цены можно получить за десятки/сотни (sim900D)
CADiLO
Перезвоните или напишите им - у нас несколько разная ценовая политика и их оптовых цен я не знаю.
Розница указана здесь - http://www.micel.ee/search/?where=stock&search=sim900
_Артём_
Цитата(CADiLO @ Jan 26 2012, 09:48) *
Перезвоните или напишите им - у нас несколько разная ценовая политика и их оптовых цен я не знаю.
Розница указана здесь - http://www.micel.ee/search/?where=stock&search=sim900

Хорошо. Спасибо.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.