dimonbest 0 February 14, 2008 Posted February 14, 2008 · Report post Доброго времени суток форумчане. Возникла следующая задача: Есть два устройства на модемамах 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 С ним разобраться не получилось: не понял что за пользователь и пароль. И как принимать данные? Подскажите пожалуйста, от чего отталкиваться, куда рыть... Спасибо! Quote Share this post Link to post Share on other sites More sharing options...
beketata 0 February 17, 2008 Posted February 17, 2008 · Report post Насколько мне известно, в GSM сети невозможно установить соединение между двумя GPRS модемами. Вы можете установить соединение между GPRS модемом и, например, каким нибудь сервером в интернете, зная его IP адрес и если на этом сервере на определенном порту работает слушающая программа, которая и будет обмениваться/получать данные от вашего модема. APN - это точка доступа для соединения с Internet, предоставляемая GSM провайдером. Ее можно узнать по телефону сервис центра или на сайте того GSM оператора, чъей GSM SIM карточкой вы пользуетесь. Логин и пароль для такого подключения, как правило, пустые. Некоторве GSM операторы предоставляют услугу типа "Корпоративный GPRS" без выхода в publuic Internet на тот случай, если у вас есть сеть GPRS теминалов, например в банковском оборудовании и свой сервер со статическим IP адресом, с которым они связываются. В этом случае логин и пароль будут. Quote Share this post Link to post Share on other sites More sharing options...
dimonbest 0 February 18, 2008 Posted February 18, 2008 · Report post Насколько мне известно, в GSM сети невозможно установить соединение между двумя GPRS модемами. Вы можете установить соединение между GPRS модемом и, например, каким нибудь сервером в интернете, зная его IP адрес и если на этом сервере на определенном порту работает слушающая программа, которая и будет обмениваться/получать данные от вашего модема. APN - это точка доступа для соединения с Internet, предоставляемая GSM провайдером. Ее можно узнать по телефону сервис центра или на сайте того GSM оператора, чъей GSM SIM карточкой вы пользуетесь. Логин и пароль для такого подключения, как правило, пустые. Некоторве GSM операторы предоставляют услугу типа "Корпоративный GPRS" без выхода в publuic Internet на тот случай, если у вас есть сеть GPRS теминалов, например в банковском оборудовании и свой сервер со статическим IP адресом, с которым они связываются. В этом случае логин и пароль будут. А можно такое сделать: Одним модемом подключится к gprs и стать сервером, а второй будет к нему подключаться и передавать информацию? Quote Share this post Link to post Share on other sites More sharing options...
beketata 0 February 18, 2008 Posted February 18, 2008 · Report post А можно такое сделать: Одним модемом подключится к gprs и стать сервером, а второй будет к нему подключаться и передавать информацию? В подавляющем большинстве случаев ответ отрицательный, т.к. во-первых GSM оператор после установки соединения выдаст вашему GPRS модему динамическиий IP адрес, который второму модему заранее не известен, чтобы подключаться к первому, как к серверу. Ну а во-вторых, этот IP адрес скрыт за их NAT-сервером и к нему нет доступа из интернета. Вообще-то эта тема уже обсуждалась. Например, здесь: http://electronix.ru/forum/index.php?showtopic=18970 Опишите подробнее, какая перед вами стоит задача? Quote Share this post Link to post Share on other sites More sharing options...
almat 0 February 19, 2008 Posted February 19, 2008 · Report post В подавляющем большинстве случаев ответ отрицательный, т.к. во-первых GSM оператор после установки соединения выдаст вашему GPRS модему динамическиий IP адрес, который второму модему заранее не известен, чтобы подключаться к первому, как к серверу. Ну а во-вторых, этот IP адрес скрыт за их NAT-сервером и к нему нет доступа из интернета. Как вариант - договориться с оператором о предоставлении статического IP. Quote Share this post Link to post Share on other sites More sharing options...
beketata 0 February 19, 2008 Posted February 19, 2008 · Report post Как вариант - договориться с оператором о предоставлении статического IP. Лучше использовать свой сервер для обмена информацией между модемами. Это будет универсальное решение не зависящее от оператора. Quote Share this post Link to post Share on other sites More sharing options...
dimonbest 0 February 19, 2008 Posted February 19, 2008 · Report post В подавляющем большинстве случаев ответ отрицательный, т.к. во-первых GSM оператор после установки соединения выдаст вашему GPRS модему динамическиий IP адрес, который второму модему заранее не известен, чтобы подключаться к первому, как к серверу. Ну а во-вторых, этот IP адрес скрыт за их NAT-сервером и к нему нет доступа из интернета. Вообще-то эта тема уже обсуждалась. Например, здесь: http://electronix.ru/forum/index.php?showtopic=18970 Опишите подробнее, какая перед вами стоит задача? Задача следующая: в одном месте находится модем, который управляется микроконтроллером. В другом находится точно такой же модем. Общение должно быть двустронним - один дает запрос - второй ответ. А такое решение можно использовать? Один модем стает TCP сервером, второй соответственно клиентом. А для того чтоб они ip адреса узнали друг друга, можно их передать по смс. Получится так или бредовая идея? Лучше использовать свой сервер для обмена информацией между модемами. Это будет универсальное решение не зависящее от оператора. А можете подробней написать,что это за сервер должен быть? Quote Share this post Link to post Share on other sites More sharing options...
almat 0 February 19, 2008 Posted February 19, 2008 · Report post Задача следующая: в одном месте находится модем, который управляется микроконтроллером. В другом находится точно такой же модем. Общение должно быть двустронним - один дает запрос - второй ответ. А такое решение можно использовать? Один модем стает TCP сервером, второй соответственно клиентом. А для того чтоб они ip адреса узнали друг друга, можно их передать по смс. Получится так или бредовая идея? Получится, если сервер будет иметь статический IP. Иначе они оба будут за NAT-ом оператора. А можете подробней написать,что это за сервер должен быть? Сервер-ретранслятор с известным обеим модемам IP-адресом (вот он-то может настраиваться по СМС), с которым они устанавливают соединение. Сервер должен пересылать данные от одного абонента к другому. Quote Share this post Link to post Share on other sites More sharing options...
beketata 0 February 19, 2008 Posted February 19, 2008 · Report post Задача следующая: в одном месте находится модем, который управляется микроконтроллером. В другом находится точно такой же модем. Общение должно быть двустронним - один дает запрос - второй ответ. А такое решение можно использовать? Один модем стает TCP сервером, второй соответственно клиентом. А для того чтоб они ip адреса узнали друг друга, можно их передать по смс. Получится так или бредовая идея? А можете подробней написать,что это за сервер должен быть? Оставьте идею сделать один из модемов сервером. Для решения данной задачи подойдет любой, самый "чахлый" сервер со статическим IP адресом в интернете. Не знаю, в каком городе вы находитесь, но получить статику у местного интернет провайдера намного проще ( и в будущем, полезнее ), чем у GSM оператора. Если вы делаете этот проект на заказ и заказчик готов платить, то ему нужно будет получить статический IP и поставить у себя сервер ( а может быть у него уже и есть такой, только он об этом не знает :) ). Затем для этого компьютера необходимо написать программу, которая будет слушать на определенном порту, естественно, известном всем GPRS модемам и принимать/передавать от них данные. Логично реализовать это на основе базы данных, тогда потом можно будет получать какую нибудь статистику по обмену данными и т.п. Т.е. этот сервер будет выступать в роли коммутатора между модемами, причем количество модемов, теоретически, может быть любым. Есть другой способ, без использования своего сервера. Можно реализовать это на каком нибудь платном/бесплатном WEB сервере, поддерживающим, например, PHP и MySQL. И общаться с ним через 80-й порт, но в этом случае сложнее парсить ответы от сервера на стороне модема. Quote Share this post Link to post Share on other sites More sharing options...
dimonbest 0 February 20, 2008 Posted February 20, 2008 · Report post Оставьте идею сделать один из модемов сервером. По каким причинам? Из-за сложности? Такой еще вопросик: а возможно организовать соединение между модемами по протоколу PPP? С модемами никогда не работал, по этому вопросов много, возможно и глупых... Quote Share this post Link to post Share on other sites More sharing options...
dimonbest 0 February 20, 2008 Posted February 20, 2008 · Report post Еще вычитал, что можно открыть TCP сервер и TCP клиент и передавать данные напрямую. Как такой вариант? А что можно сказать про отправку данных через SMTP и прием через pop3? Бред? Quote Share this post Link to post Share on other sites More sharing options...
Nidanilov 0 February 20, 2008 Posted February 20, 2008 · Report post Еще вычитал, что можно открыть TCP сервер и TCP клиент и передавать данные напрямую. Как такой вариант? Оставь надежду всяк сюда входящий... :) Организовать надежный и недорогой GPRS канал данных думаю у вас не получится, вот причины из горького опыта 1. ОпСоС не гарантирует надежность канала передачи данных, надо контролировать socket вручную 2. Постоянный коннект встанет вам в копеечку, даже если вы ничего не передаете из-за их програмных фишек 3. В праздники GPRS отдыхает или работает через раз, правда это у кого как... 4. так как ваш фиксированный IP виден всем из интернета, то существует минимум способов 100, как завалить сервер, и никакой файервол не поможет! Покритикуйте меня если наврал... Quote Share this post Link to post Share on other sites More sharing options...
dimonbest 0 February 21, 2008 Posted February 21, 2008 · Report post Некоторых результатов уже добился. С помощью одного модема создал сервер. В нем выбираю порт, фильтрацию ро IP адрессам клиентов не делаю. Этот модем передает с помощью смс клиенту свой IP. Тот в свою очередь подключается к серверу по тому же порту, и происходит двусторонний обмен данных. То что нужно... По поводу замечаний Ndf: 1. Не понимаю что такое ОпСоС 2. У нас в Украине у одного мобильного оператора есть возможность покупать 1GB траффика за 12$, так что вопрос о стоимости передачи не стоит. 3. В выходные и праздники будем тестировать, будет видно. 4. IP адресс не фиксированный, а динамический. К тому же чтоб завалить сервер надо еще и знать порт... Какие еще могут быть замечания? Quote Share this post Link to post Share on other sites More sharing options...
Nidanilov 0 February 21, 2008 Posted February 21, 2008 · Report post Некоторых результатов уже добился. С помощью одного модема создал сервер. В нем выбираю порт, фильтрацию ро IP адрессам клиентов не делаю. Этот модем передает с помощью смс клиенту свой IP. Тот в свою очередь подключается к серверу по тому же порту, и происходит двусторонний обмен данных. То что нужно... 1. Не понимаю что такое ОпСоС 2. У нас в Украине у одного мобильного оператора есть возможность покупать 1GB траффика за 12$, так что вопрос о стоимости передачи не стоит. Какие еще могут быть замечания? Если сервер всегда on-line то динамический IP не очень-то отличается от фиксированного, а если дисконнекты часто будут, будете поливать клиентов SMS? Да и очередность SMS может нарушиться. ОпСоС - оператор сотовой связи. На счет п 2 вам везет... :) Quote Share this post Link to post Share on other sites More sharing options...
AlexBoss 0 March 5, 2008 Posted March 5, 2008 · Report post Мужуки! А зачем так сложно? Для такой тривиальной задачки достаточно чтобы любой из контроллеров выдал в модем команду ATDxxx..xxxx, где: xxx..xxxx - телефонный номер абонента. Модемы установят DATA соединение и после этого считайте, что Serial порты Ваших контроллеров просто соединены проволокой! Quote Share this post Link to post Share on other sites More sharing options...