Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Benq M23g GPRS Server
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
Sensei
Недавно начал работать с этим модемом, возникло несколько вопросов.

Задача такая:
Нужно чтобы модем пересылал данные на сервер, где они будут записываться в базу данных.

Я так понял, что сначала надо переключить модем в ГПРС режим: AT+CGATT=1. Потом задать ПДП: AT+CGDCONT=1,"IP","<мой apn>, потом AT+CGQREQ, AT+CGACT=1,1

Но не понятно, как именно указать IP сервера и порт на который должны приходить данные?
С помощью какой программы можно отловить данные приходящие на сервер?
И наконец как их записать в базу данных?

Очень нужна помощь.
av-master
Судя по приведенным выше вопросам, для начала, следует на пол года сесть за изучение литературы и , к примеру , этого форума.

А также освоить поиск, и через пол года, хоть немного конкретезировать вопросы.

не в обиду, но как там...: правильный ответ на неправильный вопрос - 500у.е ( шутка )

конкретезируйте пожалуйста.
Sensei
По моему вопрос задан чётко...
Какую АТ команду использовать, чтобы задать IP сервера и порт к которому надо подсоединиться?
av-master
Цитата
С помощью какой программы можно отловить данные приходящие на сервер?
И наконец как их записать в базу данных?


аха четко )))
Sensei
Если прочитать всё и логически подумать то всё станет ясно. А вообще суть вопроса не в этом. Меня интересует именно АТ команда. В AT+CGDCONT можно записать апн, но та есть ещё дополнительные параметры, на которые есть описание, но примеров нет. Говорится только, что они не используются.

For PDP type OSP:IHOSS the following parameters are defined:
<pd1> = <host> the fully formed domain name extended hostname of the Internet
host
<pd2> = <port > the TCP or UDP port on the Internet host
<pd3> = <protocol> the protocol to be used over IP on the Internet - "TCP" or "UDP

Пробовал сделать это через AT$DESTINFO, это единственная команда или есть ещё способы? Если можете напишите пример как происходит подключение к серверу.
at90
Там есть встроенный стэк и комманды для M2M.... прочитайте про M2M комманды в доке....
Sensei
Спасибо это как раз то, что мне нужно!

Допустим я соединился с сервером и от модема начали поступать данные. Есть какие-нибудь готовые и бесплатные программы, чтобы на сервере эти данные отловить? Или придётся писать свою программу и прослушивать нужный порт?
Sensei
Почитал док. Попробовал сделать как в примере.

AT+CGDCONT=1,"IP","мой АПН"<CR>
OK
AT%CGPCO=1,"PAP,,",1<CR>
OK
AT$NOSLEEP=1<CR>
OK
AT$DESTINFO="FTP.NTU.EDU.TW",1,21,1<CR>
$DESTINFO: "FTP.NTU.EDU.TW", 1, 21
OK
ATD*97#<CR>

Но мне возвращается ошибка
ATD*97#
Wait Socket Open

ERROR

NK

CONNECT

OK

OK

NO CARRIER

В чём может быть проблема?
bolmoe
1. AT+CFUN=1 [запускаем контроллер модема] -> повтор команды -> Ok
2. AT$NOSLEEP=1 [запрещаем ему «спать»] -> повтор команды -> Ok
3. АТЕ0 [запрещаем «эхо»] -> Ok

4. для запуска GPRS
4.1. AT+CGDCONT=1,"IP","internet.beeline.ru" -> Ok
4.2. AT%CGPCO=1,"PAP,beeline,beeline",1 -> Ok
4.3. AT$DESTINFO="тут IP адрес",1,№ порта -> $DESTINFO: "тут IP адрес", 1, № порта -> Ok
4.4. ATD*97# -> Wait Socket Open -> Ok
4.5. ”+++” – возврат в командный режим, передается без интервалов в течение 1 секунды, затем задержка длительностью 1 секунда -> Ok->CONNECT->Ok
4.6. АТО – возврат в режим данных -> CONNECT
4.7. ATH – завершение соединения -> OK -> NO CARRIER


Нужна будет программа, которая перед инициализацией и запуском GPRS запускается на компе (его IP виден из сети - этот IP необходимо прописать в DESTINFO, именно по нему происходит коннект). Если прога не запущена, то коннекта соответственно не будет и получишь ответ типа ERROR. Где то такая прога выкладывалась, точно не помню..... Можно сделать самому, только нужен Builder C++ или еще что нибудь похожее, там попользовать элемент "сервер секет", порт можно выбирарть произвольный выше 2000 до 65535. Были проблемы при запуске проги на локальном компьютере, цепочка была следующей Enet->ADSL->Локальная сеть->комп. Прога была своя, но при переходе с BENQ M23 на Telit GT863 просто за ненадоюностью потер.



6. Запрос уровня сигнала AT+CSQ
6.1. +CSQ: 27,99 -> OK
6.2. 0-(-113) dBm
6.3. 1-(-111)dBm
6.4. 2..30 – (-109)..53 dBm
6.5. 31 – 54 или больше
6.6. 99 – определить нельзя

7. Детализация счета
7.1. AT+CUSD=1,”*102#”,15 - beeline
7.2. +CUSD:0,”набор цифр каждая пара из которых представляет одно число в Hex”,15
8. Перезагрузка модуля AT+WRST -> стр. 221 – перезагрузка модуля
Sensei
Спасибо за информативный ответ. Мне он очень помог!
Sensei
Написал программку на С#. Сделал всё по примеру, но результат тот же...
У меня возник ряд вопросов:

Как узнать точный АПН? Я нашёл в интернете, но не уверен в его правильности...

Как узнать свой логин и пароль которые нужно ввести в AT%CGPCO?

Может ли коннект не проходить если введены неверные АПН и логин с паролем?
Sensei
Думал может дело в программе, но не нашёл на форуме...может кто-нибудь дать ссылку на неё?
bolmoe
Цитата(Sensei @ Feb 2 2009, 11:16) *
Написал программку на С#. Сделал всё по примеру, но результат тот же...
У меня возник ряд вопросов:

Как узнать точный АПН? Я нашёл в интернете, но не уверен в его правильности...

Как узнать свой логин и пароль которые нужно ввести в AT%CGPCO?

Может ли коннект не проходить если введены неверные АПН и логин с паролем?

все точки доступа прописаны у операторов, а также пароли и юзеры, надо смотреть в настройках GPRS для каждого конкретного оператора....
какого оператора пользуешь ...? ТОгда точно пропишу, что надо по АПН, passw & user
комп на котором запускается прога имеет статический IP?
комп не является ли локальным по отношении к тому, с которого выход в инет?

тем не менее, прогу можно проверить просто, написать ответную часть и попытаться на этом же компе законнектить их.., все должно пройти как по маслу
для того, чтобы прога стала видна из сети, надо в Брандмауре Виндас smile.gif) (панель управления), на вкладке "Дополнительно" внести в список исключений новую "службу", имя любое, но вот порт указать тот, который пользует прога написанная на С#.
Sensei
Я из Эстонии, оператор емт, карточка Diil.
Да, на компе статический IP, выделенка.
Попробую написать вторую часть проги и проверить. Но мне кажется дело в симке...
bolmoe
Цитата(Sensei @ Feb 6 2009, 12:21) *
Я из Эстонии, оператор емт, карточка Diil.
Да, на компе статический IP, выделенка.
Попробую написать вторую часть проги и проверить. Но мне кажется дело в симке...


Извини попторопился c ....., не нашел на сайте ЕМТ АПН - user - passw

Вот с сайта вытянул, про NAT почитай! ->
Получает ли GPRS-телефон при подключении к сети публичный IP-адрес?
Нет, не получает. Телефону присваивается приватный адрес, транслируемый во внешние сети через NAT. В будущем возможность получения публичного и фиксированного IP-адреса будет предоставляться клиентам на основании отдельного заказа.

По поводу симки тебе может ответить только оператор, зайди в любой офис продаж, там скорее всего есть информация по поводу АПН и т.д. и т.п., обязательно проверь подключена ли услуга GPRS. Был недавно такой случай - устройство не работало, т.е. не могло в инет. Звоним оператору, говорит, что услуга GPRS подключена... Весь день искали траблы в прошивке (всталяю другую симку этого же оператора, все работает, возвращаю старую, не работает), пока не доехали до центрального офиса продаж. Там нам переподключили услугу GPRS и после перезагрузки устройства все заработало. Обязательно сделай что я выше писал, а то твой брандмауэр просто не пропустит к тебе инфу из BENQ на указанный тобой порт в проге.
Sensei
Писал в суппорт, мне прислали работающий вариант:

at
OK
at+cfun=1
OK
at$nosleep=1
OK
at+cgdcont=1,"IP","internet.mts.ru"
OK
at%cgpco=1,"PAP,,",1
OK
at$destinfo="ftp.ntu.edu.tw",1,21,1
$DESTINFO: "ftp.ntu.edu.tw", 1, 21
OK
atd*97#
Wait Socket Open
OK
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 74 of 1500 allowed.
220-Local time is now 18:28. Server port: 21.
220 You will be disconnected after 10 minutes of inactivity.

Но у меня даже этот пример не работает. Это и натолкнуло на мысль что дело в симке.
bolmoe
Цитата(Sensei @ Feb 6 2009, 17:29) *
Писал в суппорт, мне прислали работающий вариант:

at
OK
at+cfun=1
OK
at$nosleep=1
OK
at+cgdcont=1,"IP","internet.mts.ru"
OK
at%cgpco=1,"PAP,,",1
OK
at$destinfo="ftp.ntu.edu.tw",1,21,1
$DESTINFO: "ftp.ntu.edu.tw", 1, 21
OK
atd*97#
Wait Socket Open
OK
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 74 of 1500 allowed.
220-Local time is now 18:28. Server port: 21.
220 You will be disconnected after 10 minutes of inactivity.

Но у меня даже этот пример не работает. Это и натолкнуло на мысль что дело в симке.


Обрати внимание на строку at+cgdcont=1,"IP","internet.mts.ru", для выполеннеия этой строки необходимо чтобы симка была оператора МТС
Для твоего ЕМТ этот параметр будет другой, необходимо вписать точку доступа от ЕМТ
Sensei
Да, я где-то на их сайте нашёл что АПН mms2.emt.ee
Но это не помогло. Не уверен что он подходит для Дииль.

Сейчас вставил симку от теле2, коннект проходит!!! По крайней мере пример из суппорта работает.
Значит это этот пакет не поддерживает гпрс...
asm_lock
Странно....я день убил на то, что бы понять что бенька с теле2 не работает laughing.gif . ...с билайном нормально
asm_lock
Цитата(asm_lock @ Mar 18 2009, 17:36) *
Странно....я день убил на то, что бы понять что бенька с теле2 не работает laughing.gif . ...с билайном нормально
в Питере по крайне мере
Sensei
Столкнулся ещё с 1 проблемой.

Если подсоединяюсь к ftp.ntu.edu.tw, то всё нормально, но при подключении к компьютеру выдаёт следующее:
atd*97#

Wait Socket Open

ERROR

OK

CONNECT

OK

OK

NO CARRIER

Программа на компьютере включена, в исключения порт добавлен. Если пытаться зайти через браузер то в программе отображаются данные. Это значит, что соединение проходит до компьютера. В чём может быть дело?
Sensei
Сам разобрался. Дело было в том что в destinfo была указана 1 а не 0. at$destinfo="мой IP",1,порт,1. Последняя цифра разрешала использование ДНС, а был указан ИП. Нужно было просто вместо 1 написать 0...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.