decadent 0 26 августа, 2009 Опубликовано 26 августа, 2009 · Жалоба Уважаемые коллеги! Как известно, установить TCP соединение можно, зная IP адрес: at+cipstart="TCP","хх.хх.хх.хх","хх" Но как быть, если этот адрес меняется? Например, я отправляю почту через SMTP-сервер того же яндекса, а у него IP адресов несколько. Имеется ли возможность как-то получить этот адрес по имени домена посредством АТ-команд? Или же, может быть, имеется аналог at+cipstart, позволяющий указывать домен? Хотя в мануале по командам модема я такого аналога не нашел. Заранее спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nixon 4 26 августа, 2009 Опубликовано 26 августа, 2009 · Жалоба Если для sim300 то указывается или ip адрес или domain. Наберите at+cipstart=? и посмотрите как у вас. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vladimir_k 0 26 августа, 2009 Опубликовано 26 августа, 2009 · Жалоба Конечно же можно установить TCP-соединение, указав доменное имя, коллега (применительно к модему SIM300). За это отвечает команда AT+CDNSORIP, параметр которой и задаёт что мы будем указывать в качестве адреса удалённого узла в последующей команде AT+CIPSTART. Пример: AT+CDNSORIP=1 AT+CIPSTART="TCP","smtp.yandex.ru","25" или AT+CDNSORIP=0 AT+CIPSTART="TCP","213.180.204.38","25" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
decadent 0 27 августа, 2009 Опубликовано 27 августа, 2009 · Жалоба Конечно же можно установить TCP-соединение, указав доменное имя. Пример: AT+CDNSORIP=1 AT+CIPSTART="TCP","smtp.yandex.ru","25" Большое спасибо, модуль действительно SIM300 -- это я забыл указать. Но -- хотя на AT+CDNSORIP=1 модуль и отвечает ОК, -- однако далее имеем вот что: AT+CIPSTART="TCP","smtp.yandex.ru","25" OK ERROR: 6 STATE: IP STATUS И на все дальнейшие попытки что-либо отправить серверу получаю ERROR. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vladimir_k 0 27 августа, 2009 Опубликовано 27 августа, 2009 · Жалоба Сам с такой ошибкой не сталкивался, но могу предположить что ваш модем не получает автоматически адреса DNS-серверов от оператора связи. Проверить это можно командой AT+CDNSCFG? после запуска GPRS-сессии. Посмотрите какие адреса DNS-серверов у вас прописаны. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
av-master 0 27 августа, 2009 Опубликовано 27 августа, 2009 · Жалоба пропишите DNS явно... например 193ю26ю13ю18 бывает. что на автомате неработает... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
decadent 0 27 августа, 2009 Опубликовано 27 августа, 2009 (изменено) · Жалоба Сам с такой ошибкой не сталкивался, но могу предположить что ваш модем не получает автоматически адреса DNS-серверов от оператора связи. Проверить это можно командой AT+CDNSCFG? после запуска GPRS-сессии. Посмотрите какие адреса DNS-серверов у вас прописаны. На AT+CDNSCFG=? мне отвечают ОК -- то есть DNS серверы, похоже, настроены. Но -- все равно не получается подключится через доменное имя. А явно прописать сервер -- это же надо его IP знать. Я работаю через российского оператора Мегафон, на сайте у них DNS не нашел. Upd: Есть еще команда запроса IP адреса, но на нее тоже получаю ошибку: AT+CDNSGIP="smtp.yandex.ru" OK ERROR: 6 STATE: IP STATUS Изменено 27 августа, 2009 пользователем decadent Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vladimir_k 0 27 августа, 2009 Опубликовано 27 августа, 2009 (изменено) · Жалоба decadent, подправьте синтаксис команды - AT+CDNSCFG? - и покажите результат. Изменено 27 августа, 2009 пользователем vladimir_k Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
decadent 0 27 августа, 2009 Опубликовано 27 августа, 2009 · Жалоба decadent, подправьте синтаксис команды - AT+CDNSCFG? - и покажите результат. Дело в том, что мой вариант правильный -- и в SIM300_ATC_V2.00 он указан как раз так: AT+CDNSCFG=?. На него я получаю ответ: AT+CDNSCFG=? OK А на вариант без знака равенства: AT+CDNSCFG? ERROR Если это поможет, могу выложить весь лог общения с модемом -- он базируется на способе, примененном Виталием Якименко для отправки почты через SIM300. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vladimir_k 0 27 августа, 2009 Опубликовано 27 августа, 2009 · Жалоба Видимо у вас прошивка модема не самая новая, поэтому и команда AT+CDNSCFG? не поддерживается. Вот, к примеру, какой ответ возвращается на эту команду на рабочей системе SIM300DZ с 14 прошивкой: PrimaryDns:192.168.168.70 SecondaryDns:212.120.166.238 OK Скорее всего у вас не прописаны DNS-сервера, поэтому и возникает ошибка "ERROR: 6", попробуйте вручную прописать DNS-сервера с помощью команды AT+CDNSCFG после запуска GPRS-сессии. Какие IP-адреса DNS-серверов прописывать - можно поискать в интернете бесплатные публичные DNS-сервера, например здесь: http://pereblog.ru/2008/12/public-dns-servers/. Проверьте вначале доступность этих серверов утилитой ping, прежде чем прописывать их в модем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
decadent 0 27 августа, 2009 Опубликовано 27 августа, 2009 · Жалоба Видимо у вас прошивка модема не самая новая, поэтому и команда AT+CDNSCFG? не поддерживается. Вот, к примеру, какой ответ возвращается на эту команду на рабочей системе SIM300DZ с 14 прошивкой: PrimaryDns:192.168.168.70 SecondaryDns:212.120.166.238 OK Хм.. А как посмотреть версию прошивки? at+cgmr выдает какую-то длинную строку, из которой сложно что-то вычленить. Но я попробовал с двумя моделями модемов: Novacom GNS-30 CRA и Aeronet AC -- история та же. Скорее всего у вас не прописаны DNS-сервера, поэтому и возникает ошибка "ERROR: 6", попробуйте вручную прописать DNS-сервера с помощью команды AT+CDNSCFG после запуска GPRS-сессии. Какие IP-адреса DNS-серверов прописывать - можно поискать в интернете бесплатные публичные DNS-сервера, например здесь: http://pereblog.ru/2008/12/public-dns-servers/. Проверьте вначале доступность этих серверов утилитой ping, прежде чем прописывать их в модем. Спасибо, прямо сейчас и попробую. Хотя не хотелось бы зависеть от DNS серверов, которые в любой момент могут стать недоступными. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
av-master 0 27 августа, 2009 Опубликовано 27 августа, 2009 · Жалоба которые в любой момент могут стать недоступными. - пропишите десяток (не в модулье а в проге. пусть подставляет... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
decadent 0 27 августа, 2009 Опубликовано 27 августа, 2009 (изменено) · Жалоба Какие IP-адреса DNS-серверов прописывать - можно поискать в интернете бесплатные публичные DNS-сервера Большое спасибо, испльзование публичного DNS сервера помогло - теперь все работает. Насчет прописывания десятка -- надо же как-то определять их доступность. Разве что пинговать перед подстановкой в команду AT+CDNSCFG... А наиболее рационально, думаю, сменить прошивку на более новую. Посоветуйте, пожалуйста, где можно об этом почитать. Изменено 27 августа, 2009 пользователем decadent Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vladimir_k 0 27 августа, 2009 Опубликовано 27 августа, 2009 · Жалоба А наиболее рационально, думаю, сменить прошивку на более новую. Посоветуйте, пожалуйста, где можно об этом почитать. Версию прошивки можно узнать командой AT+GMR, результат команды выглядит так: Revision:1008B14SIM300D32_SST34HF3284 т.е. перед нами прошивка для модуля SIM300D с памятью типа SST версии 14 Насчёт обновления прошивки достаточно информации на форуме, можно отсюда начать: http://electronix.ru/forum/index.php?showt...st&p=343675 Не факт, что обновление прошивки решит вашу проблему с DNS-серверами (скорее всего это от оператора зависит), но лишним конечно же не будет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
decadent 0 27 августа, 2009 Опубликовано 27 августа, 2009 · Жалоба Не факт, что обновление прошивки решит вашу проблему с DNS-серверами (скорее всего это от оператора зависит), но лишним конечно же не будет. Спасибо за наводку, буду изучать. А прошивка у меня, судя по выводу AT+GMR, 15 версии: at+gmr Revision:1008B15SIM300M32_SST34HF3284 Так что проблема, скорее всего, действительно в операторе. Будем рассчитывать на работоспособность бесплатных DNS серверов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться