|
Benq M23g GPRS Server, Соединение с сервером |
|
|
|
Jan 17 2009, 19:33
|
Группа: Новичок
Сообщений: 13
Регистрация: 23-10-08
Пользователь №: 41 138

|
Недавно начал работать с этим модемом, возникло несколько вопросов.
Задача такая: Нужно чтобы модем пересылал данные на сервер, где они будут записываться в базу данных.
Я так понял, что сначала надо переключить модем в ГПРС режим: AT+CGATT=1. Потом задать ПДП: AT+CGDCONT=1,"IP","<мой apn>, потом AT+CGQREQ, AT+CGACT=1,1
Но не понятно, как именно указать IP сервера и порт на который должны приходить данные? С помощью какой программы можно отловить данные приходящие на сервер? И наконец как их записать в базу данных?
Очень нужна помощь.
|
|
|
|
|
Jan 18 2009, 09:15
|
Группа: Новичок
Сообщений: 13
Регистрация: 23-10-08
Пользователь №: 41 138

|
По моему вопрос задан чётко... Какую АТ команду использовать, чтобы задать IP сервера и порт к которому надо подсоединиться?
|
|
|
|
|
Jan 18 2009, 10:47
|
Группа: Новичок
Сообщений: 13
Регистрация: 23-10-08
Пользователь №: 41 138

|
Если прочитать всё и логически подумать то всё станет ясно. А вообще суть вопроса не в этом. Меня интересует именно АТ команда. В 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, это единственная команда или есть ещё способы? Если можете напишите пример как происходит подключение к серверу.
|
|
|
|
|
Jan 18 2009, 11:47
|
Группа: Новичок
Сообщений: 13
Регистрация: 23-10-08
Пользователь №: 41 138

|
Спасибо это как раз то, что мне нужно!
Допустим я соединился с сервером и от модема начали поступать данные. Есть какие-нибудь готовые и бесплатные программы, чтобы на сервере эти данные отловить? Или придётся писать свою программу и прослушивать нужный порт?
|
|
|
|
|
Jan 19 2009, 09:12
|
Группа: Новичок
Сообщений: 13
Регистрация: 23-10-08
Пользователь №: 41 138

|
Почитал док. Попробовал сделать как в примере.
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
В чём может быть проблема?
Сообщение отредактировал Sensei - Jan 19 2009, 09:48
|
|
|
|
|
Jan 21 2009, 11:46
|

Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 5-04-06
Из: Рязань
Пользователь №: 15 830

|
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 – перезагрузка модуля
Сообщение отредактировал bolmoe - Jan 21 2009, 12:02
|
|
|
|
|
Jan 24 2009, 15:16
|
Группа: Новичок
Сообщений: 13
Регистрация: 23-10-08
Пользователь №: 41 138

|
Спасибо за информативный ответ. Мне он очень помог!
|
|
|
|
|
Feb 2 2009, 08:16
|
Группа: Новичок
Сообщений: 13
Регистрация: 23-10-08
Пользователь №: 41 138

|
Написал программку на С#. Сделал всё по примеру, но результат тот же... У меня возник ряд вопросов:
Как узнать точный АПН? Я нашёл в интернете, но не уверен в его правильности...
Как узнать свой логин и пароль которые нужно ввести в AT%CGPCO?
Может ли коннект не проходить если введены неверные АПН и логин с паролем?
|
|
|
|
|
Feb 2 2009, 09:41
|
Группа: Новичок
Сообщений: 13
Регистрация: 23-10-08
Пользователь №: 41 138

|
Думал может дело в программе, но не нашёл на форуме...может кто-нибудь дать ссылку на неё?
|
|
|
|
|
Feb 5 2009, 15:24
|

Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 5-04-06
Из: Рязань
Пользователь №: 15 830

|
Цитата(Sensei @ Feb 2 2009, 11:16)  Написал программку на С#. Сделал всё по примеру, но результат тот же... У меня возник ряд вопросов:
Как узнать точный АПН? Я нашёл в интернете, но не уверен в его правильности...
Как узнать свой логин и пароль которые нужно ввести в AT%CGPCO?
Может ли коннект не проходить если введены неверные АПН и логин с паролем? все точки доступа прописаны у операторов, а также пароли и юзеры, надо смотреть в настройках GPRS для каждого конкретного оператора.... какого оператора пользуешь ...? ТОгда точно пропишу, что надо по АПН, passw & user комп на котором запускается прога имеет статический IP? комп не является ли локальным по отношении к тому, с которого выход в инет? тем не менее, прогу можно проверить просто, написать ответную часть и попытаться на этом же компе законнектить их.., все должно пройти как по маслу для того, чтобы прога стала видна из сети, надо в Брандмауре Виндас  ) (панель управления), на вкладке "Дополнительно" внести в список исключений новую "службу", имя любое, но вот порт указать тот, который пользует прога написанная на С#.
|
|
|
|
|
Feb 6 2009, 09:21
|
Группа: Новичок
Сообщений: 13
Регистрация: 23-10-08
Пользователь №: 41 138

|
Я из Эстонии, оператор емт, карточка Diil. Да, на компе статический IP, выделенка. Попробую написать вторую часть проги и проверить. Но мне кажется дело в симке...
Сообщение отредактировал Sensei - Feb 6 2009, 09:24
|
|
|
|
|
Feb 6 2009, 14:12
|

Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 5-04-06
Из: Рязань
Пользователь №: 15 830

|
Цитата(Sensei @ Feb 6 2009, 12:21)  Я из Эстонии, оператор емт, карточка Diil. Да, на компе статический IP, выделенка. Попробую написать вторую часть проги и проверить. Но мне кажется дело в симке... Извини попторопился c ....., не нашел на сайте ЕМТ АПН - user - passw Вот с сайта вытянул, про NAT почитай! -> Получает ли GPRS-телефон при подключении к сети публичный IP-адрес? Нет, не получает. Телефону присваивается приватный адрес, транслируемый во внешние сети через NAT. В будущем возможность получения публичного и фиксированного IP-адреса будет предоставляться клиентам на основании отдельного заказа. По поводу симки тебе может ответить только оператор, зайди в любой офис продаж, там скорее всего есть информация по поводу АПН и т.д. и т.п., обязательно проверь подключена ли услуга GPRS. Был недавно такой случай - устройство не работало, т.е. не могло в инет. Звоним оператору, говорит, что услуга GPRS подключена... Весь день искали траблы в прошивке (всталяю другую симку этого же оператора, все работает, возвращаю старую, не работает), пока не доехали до центрального офиса продаж. Там нам переподключили услугу GPRS и после перезагрузки устройства все заработало. Обязательно сделай что я выше писал, а то твой брандмауэр просто не пропустит к тебе инфу из BENQ на указанный тобой порт в проге.
Сообщение отредактировал bolmoe - Feb 6 2009, 14:14
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|