Jump to content

    
Sign in to follow this  
ДЕЙЛ

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

Recommended Posts

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

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

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

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

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

 

Успехов!

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

 

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

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


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

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

Share this post


Link to post
Share on other sites
А почему нельзя прочитать руководство к модулю с примерами установки соединения и приема.отправки ? Гораздо быстрее и понятнее будет.

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

 

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

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

 

 

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

Share this post


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

Да.

 

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

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

Share this post


Link to post
Share on other sites
Обычно можно сразу давать команду 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>

Share this post


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

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

ftp - RFC959

http - RFC7231

 

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

 

Как то так:

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

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

Share this post


Link to post
Share on other sites
Как то так:

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-команды?

Share this post


Link to post
Share on other sites
Что за пустая строка в конце? Можно скрин, если форум съедает?

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

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

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

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

Edited by rx3apf

Share this post


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

 

 

Share this post


Link to post
Share on other sites

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

 

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

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

 

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

 

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

Share this post


Link to post
Share on other sites
Точно не появляется? Это просто символ '>' безо всяких переводов строк после него.

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

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.

Sign in to follow this