Перейти к содержанию
    

Обмен данными между GSM-модулями

Нет, это айпишники специальных серверов, которые преобразуют буквенные адреса в "айпишники" по запросу вашего модуля.

Второй адрес -- дублер на случай выхода из строя первого.

Что такое ДНС? Объясните,

DNS-сервер — как это работает

dns сервер что это

 

Успехов!

дошло вчера :rolleyes:

 

Вечером получалось соединиться с интернетом. Писал что-то вроде

AT+CIPSTART="TCP","ya.ru",80

затем указал число передаваемых байт и от балды набранные с клавиатуры символы.

В ответ пришёл текст в HTML-тегах, где было написано, что запрос некорректный. Т.е. получается, что связь с интернетом настроена, данные от меня доходят до удалённого сервера. Теперь крутится вопрос - а нельзя ли вместо "ya.ru" указать айпишник второго GSM-модуля и точно так же отправить данные? Проверить пока руки не дошли.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А почему нельзя прочитать руководство к модулю с примерами установки соединения и приема.отправки ? Гораздо быстрее и понятнее будет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Теперь крутится вопрос - а нельзя ли вместо "ya.ru" указать айпишник второго GSM-модуля и точно так же отправить данные?

А теперь самое время погуглить и узнать про "серые" и "белые" ip-адреса. И про NAT.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А почему нельзя прочитать руководство к модулю с примерами установки соединения и приема.отправки ? Гораздо быстрее и понятнее будет.

там нет такого описания, только в общих чертах сказано, какими командами отпралять данные по какому-либо адресу, щас просто интересуюсь, попробовать руки пока не дошли

 

А теперь самое время погуглить и узнать про "серые" и "белые" ip-адреса. И про NAT.

погуглил. Но ведь я отправляю в интернет байты, в ответ ругательства, но тоже с какого-то сервера приходят. Значит этот сервер может мои байты переслать другому такому же модулю. Т.е. для передачи данных между GSM-модулями с серыми адресами обязательно нужен промежуточный сервер?

 

 

А если у меня серый адрес, то в пределах одной соты можно общаться?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Т.е. для передачи данных между GSM-модулями с серыми адресами обязательно нужен промежуточный сервер?

Да.

 

А если у меня серый адрес, то в пределах одной соты можно общаться?

Вопрос интересный... Но хотя бы надо знать номер порта, а они тоже все время меняются.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Запустить traceroute до хоста в инете для обоих соединений и убедиться, что модемы в разных подсетях.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Обычно можно сразу давать команду AT+CIPSTART, которая и установит соединение.

Допустим, что соединение установилось с каким-то сервером. Дальше я хочу записать данные в конкретный файл на удалённом сервере. Какими командами нужно пользоваться? Где их найти?

 

 

Как будет выглядеть AT-команда для запроса страницы yandex.ru? Т.е. в ответ на эту команду должен прийти текст вроде этого:

 

<!DOCTYPE html>

<html class="i-ua_js_yes i-ua_css_standart i-ua_browser_firefox i-ua_pseudo_yes js m-border-radius i-ua_inlinesvg_yes m-svg i-ua_animation_yes" lang="ru"><head xmlns:og="http://ogp.me/ns#"><meta http-equiv="X-UA-Compatible" content="IE=edge"><title>Яндекс</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="apple-touch-icon" href="http://yastatic.net/morda-logo/i/apple-touch-icon/ru-76x76.png" sizes="76x76"><link rel="apple-touch-icon" href="http://yastatic.net/morda-logo/i/apple-touch-icon/ru-120x120.png" sizes="120x120"><link rel="apple-touch-icon" href="http://yastatic.net/morda-logo/i/apple-touch-icon/ru-152x152.png" sizes="152x152"><link rel="apple-touch-icon" href="http://yastatic.net/morda-logo/i/apple-touch-icon/ru-180x180.png" sizes="180x180"><link rel="alternate" type="application/rss+xml" title="Новости Яндекса" href="http://company.yandex.ru/news/news.rss"><link rel="alternate" type="application/rss+xml" title="Блог Яндекса" href="http://company.yandex.ru/blog/index.rss"><link rel="search" href="http://yandex.ru/opensearch.xml" title="Яндекс" type="application/opensearchdescription+xml"><link rel="shortcut icon" href="http://yastatic.net/morda-logo/i/favicon_islands.ico"><meta property="og:title" content="Яндекс"><meta property="og:type" content="website"><meta property="og:image" content="//yastatic.net/morda-logo/i/share-logo-ru.png"><meta

.....................

.....................

 

></div><i class="b-counter" style="background: url(//www.tns-counter.ru/V13a**5cd4d635da5c3fdb9cf9f5a4e2b6e7da**yandex_ru/ru/CP1251/tmsec=yandex_main/0);"></i><div style="display:none" class="page-info">{"static":"2.264","skins":"1.79"}</div><!--s54.wfront.yandex.net--><div style="height:0;overflow:hidden;"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="fco" height="1" width="1"><param name="movie" value="//yastatic.net/browser-cookie/flash-cookie.swf"><param name="allowScriptAccess" value="Always"><embed src="%D0%AF%D0%BD%D0%B4%D0%B5%D0%BA%D1%81_files/flash-cookie.swf" allowscriptaccess="Always" id="fce" height="1" width="1"></object></div><object style="position:absolute;left:-500px;top:0;visibility:hidden" data="%D0%AF%D0%BD%D0%B4%D0%B5%D0%BA%D1%81_files/_search.js"></object><object style="position:absolute;left:-500px;top:0;visibility:hidden" data="%D0%AF%D0%BD%D0%B4%D0%B5%D0%BA%D1%81_files/jquery.js"></object></body></html>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Допустим, что соединение установилось с каким-то сервером. Дальше я хочу записать данные в конкретный файл на удалённом сервере.
Что у вас крутится на этом 'удаленном сервере'? Для ftp это будут одни команды, для WEB сервера (http) - другие

Какими командами нужно пользоваться? Где их найти?
В описаниях соответствующих протоколов, вестимо:

ftp - RFC959

http - RFC7231

 

Как будет выглядеть AT-команда для запроса страницы yandex.ru?

 

Как то так:

AT+CIPSTART="TCP","ya.ru",80
GET /index.html HTTP/1.1

(Не забудьте про пустую строку в конце! Ее форум съел, а без нее работать не будет :) )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как то так:

AT+CIPSTART="TCP","ya.ru",80
GET /index.html HTTP/1.1

(Не забудьте про пустую строку в конце! Ее форум съел, а без нее работать не будет :) )

Что за пустая строка в конце? Можно скрин, если форум съедает?

 

http://badembed.ru/sim900-tcp-soedinenie-s-serverom/

-> AT+CIPSEND — запрос на посылку сообщения серверу

 

<- > — в ответе символ готовности, после его получения можно вводить данные, которые надо передать

 

-> data — данные которые необходимо передать. После ввода данных необходимо указать модему, что сообщение окончено и его надо передавать серверу — для этого передают следующую команду

 

-> 26 — команда конца сообщения (0x1A) после нее модем передает серверу данные data

 

-< SEND OK

 

-> AT+CIPCLOSE — закрытие соединения с сервером или можно вызвать AT+CIPSHUT

Правильно я понимаю, что команды серверу нужно формировать и отправлять в виде данных data?

Или для этого нужны какие-то AT-команды?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что за пустая строка в конце? Можно скрин, если форум съедает?

Имелось в виду, что "HTTP/1.1" надо завершить окончанием строки (CR,LF) и сделать это дважды (т.е. послать CR,LF,CR,LF - не помню, правда, есть ли необходимость в LF, но я лично для удобства отладки вседа делаю так, чтобы на терминале видно было сразу).

Правильно я понимаю, что команды серверу нужно формировать и отправлять в виде данных data?

Или для этого нужны какие-то AT-команды?

Либо после промптера на +CIPSEND (т.е. data), либо перевести модем в "прозрачный" режим, и затем передавать и получать без использования AT-команд.

Изменено пользователем rx3apf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Имелось в виду, что "HTTP/1.1" надо завершить окончанием строки (CR,LF) и сделать это дважды (т.е. послать CR,LF,CR,LF - не помню, правда, есть ли необходимость в LF, но я лично для удобства отладки вседа делаю так, чтобы на терминале видно было сразу).
Угу, и LF тоже надо посылать - в HTTP спецификации это явно требуется.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

делаю по шагам, как написано вот тут http://badembed.ru/sim900-tcp-soedinenie-s-serverom/

 

Дохожу вот до этой строки

-> AT+CIPSEND — запрос на посылку сообщения серверу

 

<- > — в ответе символ готовности, после его получения можно вводить данные, которые надо передать

 

Символ готовности никак не хочет появляться даже посли 20минутного ожидания.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Точно не появляется? Это просто символ '>' безо всяких переводов строк после него.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Точно не появляется? Это просто символ '>' безо всяких переводов строк после него.

Не появляется этот символ. Попробую сегодня вечером или в ближайшее время скопировать сюда файл лога.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...