Jump to content
    

передача данных через модемы wavecom

Доброго времени суток форумчане.

Возникла следующая задача:

Есть два устройства на модемамах wavecom модели М1206В.

Модемы к компу не будут подключаться, управлять ими будут микроконтроллеры (ATmega).

Общение должно проходить по такому принципу: один дает запрос, второй ответ, и наоборот. Будут участвовать только два модема. Обьмы даных передаваться будут небольшие.

Это направление для меня новое, поэтому есть трудности.

С АТ командами ознакомился (отправлял через терминалку).

А вот организовать пересылку данных через GPRS - для меня загадка.

В сети нашел такой код:

Настройка и подсоединение к GPRS:
AT+CGATT=1
AT#APNSERV="xxxx", где xxxx - APN сервер провайдера сотовой связи.
AT#APNUN="yyyy", где yyyy - имя пользователя;
AT#APNPW="zzzz", где zzzz - пароль;
AT#CONNECTIONSTART

Ответ: xxx.xxx.xxx.xxx, где xxx.xxx.xxx.xxx - IP адрес выделенный сотовому терминалу.
Ответ: Ok_Info_GprsActivation

Подсоединение к TCP-Серверу
AT#DLEMODE=1,0
AT#TCPSERV=1,"xxx.xxx.xxx.xxx", где xxx.xxx.xxx.xxx - фиксированный IP адрес сервера (того терминала или компьютера с кем надо установить связь)

AT#OTCP=1

С ним разобраться не получилось: не понял что за пользователь и пароль. И как принимать данные?

Подскажите пожалуйста, от чего отталкиваться, куда рыть... Спасибо!

Share this post


Link to post
Share on other sites

Насколько мне известно, в GSM сети невозможно установить соединение между двумя GPRS модемами.

 

Вы можете установить соединение между GPRS модемом и, например, каким нибудь сервером в интернете, зная его IP адрес и если на этом сервере на определенном порту работает слушающая программа, которая и будет обмениваться/получать данные от вашего модема.

 

APN - это точка доступа для соединения с Internet, предоставляемая GSM провайдером. Ее можно узнать по телефону сервис центра или на сайте того GSM оператора, чъей GSM SIM карточкой вы пользуетесь. Логин и пароль для такого подключения, как правило, пустые.

Некоторве GSM операторы предоставляют услугу типа "Корпоративный GPRS" без выхода в publuic Internet на тот случай, если у вас есть сеть GPRS теминалов, например в банковском оборудовании и свой сервер со статическим IP адресом, с которым они связываются. В этом случае логин и пароль будут.

Share this post


Link to post
Share on other sites

Насколько мне известно, в GSM сети невозможно установить соединение между двумя GPRS модемами.

 

Вы можете установить соединение между GPRS модемом и, например, каким нибудь сервером в интернете, зная его IP адрес и если на этом сервере на определенном порту работает слушающая программа, которая и будет обмениваться/получать данные от вашего модема.

 

APN - это точка доступа для соединения с Internet, предоставляемая GSM провайдером. Ее можно узнать по телефону сервис центра или на сайте того GSM оператора, чъей GSM SIM карточкой вы пользуетесь. Логин и пароль для такого подключения, как правило, пустые.

Некоторве GSM операторы предоставляют услугу типа "Корпоративный GPRS" без выхода в publuic Internet на тот случай, если у вас есть сеть GPRS теминалов, например в банковском оборудовании и свой сервер со статическим IP адресом, с которым они связываются. В этом случае логин и пароль будут.

А можно такое сделать: Одним модемом подключится к gprs и стать сервером, а второй будет к нему подключаться и передавать информацию?

Share this post


Link to post
Share on other sites

А можно такое сделать: Одним модемом подключится к gprs и стать сервером, а второй будет к нему подключаться и передавать информацию?

 

В подавляющем большинстве случаев ответ отрицательный, т.к. во-первых GSM оператор после установки соединения выдаст вашему GPRS модему динамическиий IP адрес, который второму модему заранее не известен, чтобы подключаться к первому, как к серверу. Ну а во-вторых, этот IP адрес скрыт за их NAT-сервером и к нему нет доступа из интернета.

Вообще-то эта тема уже обсуждалась. Например, здесь: http://electronix.ru/forum/index.php?showtopic=18970

 

Опишите подробнее, какая перед вами стоит задача?

Share this post


Link to post
Share on other sites

В подавляющем большинстве случаев ответ отрицательный, т.к. во-первых GSM оператор после установки соединения выдаст вашему GPRS модему динамическиий IP адрес, который второму модему заранее не известен, чтобы подключаться к первому, как к серверу. Ну а во-вторых, этот IP адрес скрыт за их NAT-сервером и к нему нет доступа из интернета.

 

Как вариант - договориться с оператором о предоставлении статического IP.

Share this post


Link to post
Share on other sites

Как вариант - договориться с оператором о предоставлении статического IP.

 

Лучше использовать свой сервер для обмена информацией между модемами. Это будет универсальное решение не зависящее от оператора.

Share this post


Link to post
Share on other sites

В подавляющем большинстве случаев ответ отрицательный, т.к. во-первых GSM оператор после установки соединения выдаст вашему GPRS модему динамическиий IP адрес, который второму модему заранее не известен, чтобы подключаться к первому, как к серверу. Ну а во-вторых, этот IP адрес скрыт за их NAT-сервером и к нему нет доступа из интернета.

Вообще-то эта тема уже обсуждалась. Например, здесь: http://electronix.ru/forum/index.php?showtopic=18970

 

Опишите подробнее, какая перед вами стоит задача?

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

 

А такое решение можно использовать? Один модем стает TCP сервером, второй соответственно клиентом. А для того чтоб они ip адреса узнали друг друга, можно их передать по смс. Получится так или бредовая идея?

 

 

Лучше использовать свой сервер для обмена информацией между модемами. Это будет универсальное решение не зависящее от оператора.

А можете подробней написать,что это за сервер должен быть?

Share this post


Link to post
Share on other sites

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

 

А такое решение можно использовать? Один модем стает TCP сервером, второй соответственно клиентом. А для того чтоб они ip адреса узнали друг друга, можно их передать по смс. Получится так или бредовая идея?

 

Получится, если сервер будет иметь статический IP. Иначе они оба будут за NAT-ом оператора.

 

А можете подробней написать,что это за сервер должен быть?

 

Сервер-ретранслятор с известным обеим модемам IP-адресом (вот он-то может настраиваться по СМС), с которым они устанавливают соединение. Сервер должен пересылать данные от одного абонента к другому.

Share this post


Link to post
Share on other sites

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

 

А такое решение можно использовать? Один модем стает TCP сервером, второй соответственно клиентом. А для того чтоб они ip адреса узнали друг друга, можно их передать по смс. Получится так или бредовая идея?

А можете подробней написать,что это за сервер должен быть?

 

Оставьте идею сделать один из модемов сервером.

Для решения данной задачи подойдет любой, самый "чахлый" сервер со статическим IP адресом в интернете. Не знаю, в каком городе вы находитесь, но получить статику у местного интернет провайдера намного проще ( и в будущем, полезнее ), чем у GSM оператора. Если вы делаете этот проект на заказ и заказчик готов платить, то ему нужно будет получить статический IP и поставить у себя сервер ( а может быть у него уже и есть такой, только он об этом не знает :) ).

Затем для этого компьютера необходимо написать программу, которая будет слушать на определенном порту, естественно, известном всем GPRS модемам и принимать/передавать от них данные. Логично реализовать это на основе базы данных, тогда потом можно будет получать какую нибудь статистику по обмену данными и т.п.

Т.е. этот сервер будет выступать в роли коммутатора между модемами, причем количество модемов, теоретически, может быть любым.

 

Есть другой способ, без использования своего сервера. Можно реализовать это на каком нибудь платном/бесплатном WEB сервере, поддерживающим, например, PHP и MySQL. И общаться с ним через 80-й порт, но в этом случае сложнее парсить ответы от сервера на стороне модема.

Share this post


Link to post
Share on other sites

Оставьте идею сделать один из модемов сервером.

По каким причинам? Из-за сложности?

Такой еще вопросик: а возможно организовать соединение между модемами по протоколу PPP?

С модемами никогда не работал, по этому вопросов много, возможно и глупых...

Share this post


Link to post
Share on other sites

Еще вычитал, что можно открыть TCP сервер и TCP клиент и передавать данные напрямую. Как такой вариант?

А что можно сказать про отправку данных через SMTP и прием через pop3? Бред?

Share this post


Link to post
Share on other sites

Еще вычитал, что можно открыть TCP сервер и TCP клиент и передавать данные напрямую. Как такой вариант?

Оставь надежду всяк сюда входящий... :)

Организовать надежный и недорогой GPRS канал данных думаю у вас не получится, вот причины из горького опыта

1. ОпСоС не гарантирует надежность канала передачи данных, надо контролировать socket вручную

2. Постоянный коннект встанет вам в копеечку, даже если вы ничего не передаете из-за их програмных фишек

3. В праздники GPRS отдыхает или работает через раз, правда это у кого как...

4. так как ваш фиксированный IP виден всем из интернета, то существует минимум способов 100, как завалить сервер, и никакой файервол не поможет!

Покритикуйте меня если наврал...

Share this post


Link to post
Share on other sites

Некоторых результатов уже добился.

С помощью одного модема создал сервер. В нем выбираю порт, фильтрацию ро IP адрессам клиентов не делаю. Этот модем передает с помощью смс клиенту свой IP. Тот в свою очередь подключается к серверу по тому же порту, и происходит двусторонний обмен данных. То что нужно...

По поводу замечаний Ndf:

1. Не понимаю что такое ОпСоС

2. У нас в Украине у одного мобильного оператора есть возможность покупать 1GB траффика за 12$, так что вопрос о стоимости передачи не стоит.

3. В выходные и праздники будем тестировать, будет видно.

4. IP адресс не фиксированный, а динамический. К тому же чтоб завалить сервер надо еще и знать порт...

 

Какие еще могут быть замечания?

Share this post


Link to post
Share on other sites

Некоторых результатов уже добился.

С помощью одного модема создал сервер. В нем выбираю порт, фильтрацию ро IP адрессам клиентов не делаю. Этот модем передает с помощью смс клиенту свой IP. Тот в свою очередь подключается к серверу по тому же порту, и происходит двусторонний обмен данных. То что нужно...

1. Не понимаю что такое ОпСоС

2. У нас в Украине у одного мобильного оператора есть возможность покупать 1GB траффика за 12$, так что вопрос о стоимости передачи не стоит.

Какие еще могут быть замечания?

Если сервер всегда on-line то динамический IP не очень-то отличается от фиксированного, а если дисконнекты часто будут, будете поливать клиентов SMS? Да и очередность SMS может нарушиться.

ОпСоС - оператор сотовой связи.

На счет п 2 вам везет... :)

Share this post


Link to post
Share on other sites

Мужуки! А зачем так сложно?

Для такой тривиальной задачки достаточно чтобы любой из контроллеров выдал в модем команду

ATDxxx..xxxx, где: xxx..xxxx - телефонный номер абонента. Модемы установят DATA соединение

и после этого считайте, что Serial порты Ваших контроллеров просто соединены проволокой!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...