GSM модуль NEOWAY M590 – GPRS команды



NEOWAY M590 – GPRS команды
Модуль NEOWAY M590 приобретает все большую популярность среди радиолюбителей, и в этой статье я расскажу про GPRS команды модуля. GPRS представляет собой пакетную передачу данных на основе мобильной связи GSM, и дает возможность обмена данными между устройствами сети GSM, а также выход в Интернет. Для передачи данных по GPRS используется протокол TCP/IP, кроме этого модуль поддерживает стандарт FTP.

Модуль можно заказать здесь. В статье про GSM модуль NEOWAY M590 я приводил описание модуля и команды, касающиеся настройки модуля, а также команды для работы с SMS сообщениями, ниже представлены основные команды для работы с GPRS:

Описание Команда задания параметров PDP контекста
Формат AT+CGDCONT=<cid>,<type>,<APN>
Параметр <cid> – идентификатор PDP контекста, минимальное значение 1
<type> – тип протокола передачи данных, “IP” – использовать протокол TCP/IP
<APN> – имя точки доступа
Ответ OK или ERROR
Пример AT+CGDCONT=1,“IP”,“internet.mts.ru”
OK
“internet.mts.ru” – имя точки доступа

 

Описание Команда аутентификации PDP
Формат AT+XGAUTH=<cid>,<auth>,<name>,<pwd>
Параметр <cid> – идентификатор PDP контекста
<auth>:
0 – не использовать протокол аутентификации
1 – использовать протокол аутентификации PAP (передача имени и пароля для проверки подлинности)
2 – использовать протокол аутентификации CHAP (для проверки подлинности пароль не передается)
<name> – имя пользователя
<pwd> – пароль
Ответ OK или ERROR
Пример AT+XGAUTH=1,1,“mts”,“mts”
OK
Запрос
разрешенных
значений
параметров
AT+XGAUTH=?
+XGAUTH: (1-255),(0-2),20,32
 
OK
 
Максимальная длина
имени 20 символов,
для пароля 32 символа
Примечание Команда должна быть задана после выполнения команды AT+CGDCONT

 

Описание Команда выбора внутреннего/внешнего стека протоколов
Формат AT+XISP=<n>
Параметр <n>:
0 – использовать внутренний стек протоколов TCP/IP
1 – использовать внешний стек протоколов (по умолчанию)
Ответ OK
Пример AT+XISP=0
OK
Запрос
текущего
значения
параметра
AT+XISP?
+ XISP:     0
 
OK
 
Между “:” и “0” четыре пробела

 

Описание Команда установки соединения по протоколу PPP
Формат AT+XIIC=<n>
Параметр <n>: 1 – установить соединение по протоколу PPP
Ответ OK
Пример AT+XIIC=1
OK
Запрос
текущего
значения
параметра
AT+XIIC?
+XIIC:    1, 10.63.44.105
 
OK
Проверка PPP соединения
Соединение установлено,
присвоен IP адрес 10.63.44.105
Между “:” и “1” четыре пробела
AT+XIIC?
+XIIC:    0, 0.0.0.0
 
OK
Проверка PPP соединения
Соединение не установлено
Между “:” и “0” четыре пробела
Примечание До установления PPP соединения необходимо выполнить команду AT+CGDCONT
Команду AT+XISP=0 необходимо выполнить до команды AT+CGDCONT

 

Описание Команда установки соединения по протоколу TCP
Формат AT+TCPSETUP= <n>,<ip>,<port>
Параметр <n> – идентификатор соединения, может принимать значения только 0 и 1
<ip> – IP адрес узла, с которым устанавливается соединение
<port> – номер порта, через который устанавливается соединение
Пример AT+TCPSETUP=0,213.180.193.3,80
OK
 
+TCPSETUP:0,OK
Соединение с узлом 213.180.193.3 успешно установлено
AT+TCPSETUP=0,213.180.193.3,80
OK
 
+TCPSETUP:0,FAIL
Попытка соединения с узлом 213.180.193.3 не удалась
AT+TCPSETUP=2, 213.180.193.3,80
+TCPSETUP:Error
Синтаксическая ошибка в команде
Примечание Перед установлением TCP соединения необходимо убедиться в активности PPP соединения
Если получен ответ OK, то введенная команда правильная, в противном случае будет выдан ответ +TCPSETUP:Error

 

Описание Команда передачи данных по протоколу TCP
Формат AT+TCPSEND=<n>,<length>
Параметр <n> – идентификатор соединения, может принимать значения только 0 и 1, должен соответствовать идентификатору TCP соединения
<length> – длина передаваемых данных, может принимать значения 1-2000 байт.
Пример AT+TCPSEND=0,10
>0123456789<CR>
OK
 
+TCPSEND:0,10
10 байт данных успешно
отправлены по TCP соединению
AT+TCPSEND=0,10
 
+TCPSEND:Error
Ошибка передачи данных,
TCP соединение не установлено
AT+TCPSEND=0,10
>01234567899<CR>
 
ERROR
 
OK
 
+TCPSEND:0,10
Ошибка передачи данных,
длина переданных данных
превышает значение
в команде
AT+TCPSEND=0,2800
 
+TCPSEND:Data length error
Ошибка передачи данных,
длина переданных данных
превышает максимально
разрешенное значение в 2000 байт
AT+TCPSEND=0,536
>01234567899…<CR>
+TCPSEND:Buffer not enough,439
ERROR
Ошибка передачи данных,
внутренний буфер переполнен
Примечание Сначала необходимо отправить команду AT+TCPSEND, затем дождаться приглашения в виде символа “>”, после чего отправить данные. Для завершения процесса следует отправить символ возврата каретки <CR> (шестнадцатеричное значение 0х0D), который не входит в длину пакета данных.
Перед отправкой данных необходимо убедиться, что TCP соединение установлено, а также с помощью команды AT+IPSTATUS проверить кол-во свободного места в буфере

 

Описание Команда указывает на процесс приема данных по протоколу TCP
Формат +TCPRECV:<n>,<length>,<data>
Параметр <n> – идентификатор соединения, может принимать значения только 0 и 1
<length> – длина принятых данных
<data> – непосредственно полученные данные, пакет данных заканчивается символами  <CR><LF>, пользователь должен сверить длину полученных данных с параметром <length>
Пример +TCPRECV:0,10,0123456789 Принято 10 байт данных, 0123456789
+TCPRECV:0,231,HTTP/1.1 200 OK
Server: nginx-reuseport/1.10.0
Date: Fri, 27 May 2016 14:20:07 GMT
Content-Type: text/html
Content-Length: 24
Connection: keep-alive
Keep-Alive: timeout=30
X-Powered-By: PHP/5.3.29
 
The request was accepted
Принято 231 байт данных,
в данном случае ответ сервера
(по HTTP стандарту) на GET запрос.
Строка ответа: The request was accepted

 

Описание Команда закрытия TCP соединения
Формат AT+TCPCLOSE=<n>
Параметр <n> – идентификатор соединения, может принимать значения только 0 и 1
Пример AT+TCPCLOSE=0
+TCPCLOSE:0,OK
TCP соединение
успешно закрыто
AT+TCPCLOSE=2
+TCPCLOSE:Error
Неверный идентификатор
соединения, ошибка
+TCPCLOSE:0,Link Closed TCP соединение
закрыто принудительно

 

Описание Команда проверки IP адреса узла по доменному имени
Формат AT+DNS=<string>
Параметр <string> – доменное имя узла
Пример AT+DNS=“www.ya.ru”
OK
 
+DNS:93.158.134.3
+DNS:213.180.193.3
+DNS:213.180.204.3
+DNS:OK
Проверка IP адреса
узла www.ya.ru
(www можно не указывать)
 
Как видно узел имеет
три IP адреса
Примечание Перед проверкой IP адреса необходимо установить соединение по PPP протоколу командой AT+XIIC=1
Максимальная длина доменного имени не должна превышать 250 символов

 

Описание Команда авторизации на FTP сервере
Формат AT+FTPLOGIN=<ip><port><user><pwd>
Параметр <ip> – IP адрес сервера FTP
<port> – номер порта FTP сервера, обычно номер равен 21
<user> – имя пользователя, максимальная длина не должна превышать 100 символов, имя не должно содержать символы запятой “,”
<pwd> – пароль, максимальная длина не должна превышать 100 символов, пароль не должен содержать символы запятой “,”
Ответ +FTPLOGIN:Error <n> – синтаксическая ошибка в команде, <n> – код ошибки
+FTPLOGIN:Have Logged In – авторизация уже была произведена ранее
+FTPLOGIN:AT Busy – предыдущая команда (имеющая отношение к FTP сервису) еще не завершилась
+FTPLOGIN:User logged in – авторизация успешно выполнена
+FTPLOGIN:530 Not logged in –авторизация не выполнена, неверное имя пользователя или пароль
+FTPLOGIN:Error Connect Server Fail – подключение к FTP серверу завершилось неудачей
+FTPLOGIN: Error TimeOut – превышено время ожидания ответа от сервера (более 30 секунд)
Пример AT+FTPLOGIN=219.134.179.52,21,user1,pwd2016
OK
 
+FTPLOGIN:User logged in
Авторизация на FTP
сервере 219.134.179.52,21
под именем user1 и паролем
pwd2016 успешно выполнена
+FTP:Shutdown Сеанс связи закрыт по
истечении времени бездействия
Примечание Перед авторизацией на FTP сервере необходимо убедиться в активности PPP соединения

 

Описание Команда загрузки данных с FTP сервера
Формат AT+FTPGET=<dir$filename>,<type>,<content or info>
Параметр <dir$filename> – путь к директории и название файла
<type> – формат передачи данных:
1 – символы ASCII
2 – двоичные данные
 
<content or info>:
1 – получить данные из файла
2 – получить информацию о файле
Ответ +FTPGET:Error <n> – синтаксическая ошибка в команде, <n> – код ошибки
+FTPGET:Error Not Login –авторизация на FTP сервере не была выполнена
+FTPGET:AT Busy – предыдущая команда (имеющая отношение к FTP сервису) еще не завершилась
+FTPLOGIN: Error TimeOut – превышено время ожидания ответа от сервера (более 30 секунд)
+FTPGET:<length>,<data> – прием данных от сервера, <length> – длина получаемых данных, <data> – непосредственно получаемые данные
+FTPGET:OK.total length is <n> – данные от FTP сервера успешно получены, <n> – длина принятых данных
Пример AT+FTPGET=,1,2
+FTPGET:658,drwx——    3 1241     601          4096 Sep 12  2012 .cache
drwx——    3 1241     601          4096 Sep 12  2012 .konfit
drwx——    2 1241     601          4096 May 27 11:48 .fa
drwx——    3 1241     601          4096 Sep 15  2013 .local
drwx——    2 1241     601          4096 Feb 27  2012 .shh
-rwx——    1 1241     601          7262 Feb 27  2012 .proinfo
drwx——    3 0        0            4096 Sep 21  2012 inco-cabfil
-rw——-    1 1241     601            12 Feb 27 14:19 new.txt
drwx——    3 1241     601          4096 Sep 17  2013 cashe0001301
drwx——    3 1241     601          4096 Sep 21  2013 123456.frutrot
 
 
+FTPGET:OK.total length is 658
 
Получена информация
о корневом каталоге
AT+FTPGET=new.txt,1,2
+FTPGET:65,-rw——-    1 1241     601            12 Feb 27 14:19 new.txt
 
 
+FTPGET:OK.total length is 65
 
Получена информация
о файле new.txt
AT+FTPGET=new.txt,1,1
+FTPGET:12,PrivetPrivet
 
+FTPGET:OK.total length is 12
 
Получены данные из
файла new.txt
Примечание Данные от FTP сервера могут загружаться с некоторой задержкой

 

Описание Команда передачи данных на FTP сервер
Формат AT+FTPPUT=<filename>,<type>,<mode>,<size>
Параметр <filename> – название файла, к которому передаются данные
<type> – формат передачи данных:
1 – символы ASCII
2 – двоичные данные
 
<mode> – режим передачи данных:
1 – создание документа на сервере для записи в него данных, если документ уже существует, его содержимое заменяется новыми данными
2 – создание документа на сервере для записи в него данных, если документ уже существует, данные добавляются в конец документа
3 – удаление документа, параметр <size> должен быть равен 0, после получения приглашения в виде символа “>”, необходимо отправить символ возврата каретки <CR> (0х0D) для завершения команды удаления
 
<size> – длина передаваемых данных, значение не должно превышать 10240 байт
Ответ +FTPPUT:Error <n> – синтаксическая ошибка в команде, <n> – код ошибки
+FTPPUT:Error Not Login – авторизация на FTP сервере не была выполнена
+FTPPUT:AT Busy – предыдущая команда (имеющая отношение к FTP сервису) еще не завершилась
+FTPPUT:length overflow – превышено максимальное значение длины <size> передаваемых данных
+FTPPUT:OK,<n> – данные успешно отправлены, <n> – длина переданных данных
+FTPPUT:Delete File OK – документ успешно удален
+FTPPUT:Error – ошибка передачи данных, команда не выполнена
Пример AT+FTPPUT=new.txt,1,1,9
>radiolaba<CR>
+FTPPUT:OK,9
Создание документа new.txt,
передача 9 байт данных (radiolaba)
в документ, формат данных ASCII символы
AT+FTPPUT=new.txt,1,2,7
>zapis01<CR>
+FTPPUT:OK,7
Добавление 7 байт данных
(zapis01) в конец документа new.txt,
формат данных ASCII символы
AT+FTPPUT=new.txt,1,3,0
><CR>
+FTPPUT:Delete File OK
Удаление файла new.txt
Примечание Сначала необходимо отправить команду AT+FTPPUT, затем дождаться приглашения в виде символа “>”, после чего отправить данные. Для завершения процесса следует отправить символ возврата каретки <CR> (шестнадцатеричное значение 0х0D)

 

Описание Команда выхода пользователя из системы, закрытие сеанса FTP
Формат AT+FTPLOGOUT
Ответ OK
Пример AT+FTPLOGOUT
OK
Выход пользователя
выполнен
Примечание Эта команда может использоваться независимо от того авторизован ли пользователь или нет

 

Описание Команда проверки статуса FTP соединения
Формат AT+FTPSTATUS
Ответ +FTPSTATUS:<status>[,<ip>,<port>]
 
<status>:
logout – авторизация на FTP сервере не выполнена
login – авторизация на FTP сервере выполнена, IP адрес и номер порта находятся в следующем параметре:
<ip> – IP адрес FTP сервера
<port> – номер порта FTP сервера
Пример AT+FTPSTATUS
+FTPSTATUS:login,219.134.179.52,21
Пользователь авторизован
на FTP сервере 219.134.179.52
  AT+FTPSTATUS
+FTPSTATUS:logout
Авторизация не произведена

 
Для экспериментов я подключил модуль к компьютеру с помощью USB-UART преобразователя, в качестве терминальной программы использовал Terminal v1.9b by Bray. Для выхода в интернет необходимо отправить модулю последовательность определенных команд.

Сначала отправляем команду выбора внутреннего стека протоколов TCP/IP: AT+XISP=0, по умолчанию модуль использует внешний стек протоколов TCP/IP. Для ввода команды не забываем в конце добавить символ возврата каретки <CR>, в терминальной программе необходимо набрать $0D. Далее необходимо задать параметры PDP контекста, командой AT+CGDCONT. Параметр APN (имя точки доступа) зависит от мобильного оператора, для оператора МТС команда выглядит следующим образом: AT+CGDCONT=1,“IP”,“internet.mts.ru”, для Beeline AT+CGDCONT=1,“IP”,“internet.beeline.ru”, Tele2 – AT+CGDCONT=1,“IP”,“internet.tele2.ru”.

Следующая команда аутентификация PDP контекста, для оператора МТС команда выглядит следующим образом: AT+XGAUTH=1,1,“mts”,“mts”, параметры имя и пароль для других операторов можно найти в сети. Я пропускал данную команду, модуль при этом без проблем выходил в интернет.

И наконец, команда установки соединения по протоколу PPP: AT+XIIC=1. После ввода команды необходимо проверить наличие соединения с помощью той же команды, но с другим параметром: AT+XIIC?. Если получен ответ вида: +XIIC: 1, 10.73.201.98, то получен доступ в Интернет, модулю присвоен IP адрес 10.73.201.98. Если модуль вернул ответ +XIIC: 0, 0.0.0.0 значит, соединение не установилось, соответственно выхода в Интернет нет. Ниже представлен лог команд из терминала:

Как только доступ в Интернет получен, можно подключаться к различным серверам и обмениваться данными. Для передачи данных нужно сначала установить соединение с сервером при помощи команды AT+TCPSETUP. Эта команда устанавливает TCP соединение с каким-либо узлом сети по IP адресу и номеру порта. Идентификатор соединения в параметрах команды может принимать значения 0 или 1, я использовал 0. Чтобы подключится к серверу, на котором установлен web-сайт, необходимо узнать IP адрес сервера, это можно сделать командой AT+DNS=<URL>, которая позволяет проверить IP адрес узла по доменному имени. Для просмотра web-страниц по стандарту http используется 80-й порт, для https 443-й порт. Для стандарта передачи данных FTP используется 21-й порт.

После успешного соединения с сервером можно начинать процесс передачи данных. Команда AT+TCPSEND отправляет данные на сервер по протоколу TCP/IP, идентификатор соединения в параметрах команды должен соответствовать значению в предыдущей команде (AT+TCPSETUP). Кроме этого в параметрах команды задается длина передаваемых данных, после ввода команды и получения приглашения, необходимо ввести данные, для завершения процесса отправить символ <CR>.

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

GET /index.php HTTP/1.1\r\n
Host: site.ru\r\n\r\n

где, \r\n это символы возврата каретки и переводы строки <CR><LF>. Файл index.php находящийся на сервере отвечает за отображение главной страницы сайта с доменным именем site.ru. В терминале данный запрос будет выглядеть в виде одной строки:

GET /index.php HTTP/1.1$0D$0AHost: site.ru$0D$0A$0D$0A$0D

Последний символ возврата каретки $0D необходим для завершения ввода данных в команде AT+TCPSEND. Ниже представлен неполный лог загрузки главной страницы сайта:

В команде AT+TCPSEND необходимо указать длину запроса без учета последнего символа <CR>, для вышеприведенного запроса длина составляет 42 байта. После передачи запроса сервер выдает ответ, который содержит различную информацию о сервере, после чего идут непосредственно данные главной страницы сайта. Команда модуля +TCPRECV указывает на прием данных от сервера с указанием длины принимаемых данных, прием ведется блоками определенной длины, в зависимости от состояния внутреннего буфера модуля. После приема данных, TCP соединение принудительно закрывается, выдается сообщение вида: +TCPCLOSE:0,Link Closed.

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

GET /1.php?a=2016 HTTP/1.1\r\n
Host: site.ru\r\n\r\n

Данный запрос направлен на файл 1.php, где в переменной “a” передается значение 2016. В файле 1.php находится скрипт, который извлекает значение переменной “a”. Код скрипта приведен ниже:

Файл скрипта можно назвать по своему желанию, его надо разместить на хостинге в папку, где хранятся файлы сайта, обычно название папки соответствует доменному имени сайта. Можно также поместить файл в другую вложенную папку, при этом придется поменять строку запроса.

При получении запроса скрипт создает файл data.txt в той же папке, где находится, куда записывает дату, время, IP адрес, идентификатор клиента и значение переменной “a”, при повторных запросах, данные добавляются в конец файла на новую строку. В ответ на запрос скрипт выдает сообщение “The request was accepted”. Работоспособность скрипта можно проверить, набрав запрос в адресной строке браузера:

site.ru\1.php?a=2016

Ниже приведен лог запроса из терминальной программы:

В ответе сервера присутствует код со значением 200, означающий успешный запрос, кроме этого сервер может выдавать другие значения:

400 Bad Request — неверный запрос (синтаксическая ошибка).
401 Unauthorized — для доступа требуется авторизация.
403 Forbidden — доступ запрещен.
404 Not Found — сервер не нашёл ресурс по указанному URL.

Еще один способ передачи данных, использовать FTP стандарт. Обычно хостинг предоставляет FTP доступ к корневому каталогу, где расположена папка с сайтом. Для подключения по FTP потребуется имя пользователя и пароль. После установления PPP соединения и выхода в Интернет, необходимо авторизоваться на сервере командой AT+FTPLOGIN, указав IP адрес сервера, номер порта, имя и пароль. Чтобы создать документ data.txt в корневом каталоге и передать в него данные (в конец документа), нужно ввести команду AT+FTPPUT=data.txt,1,2,<size>, где <size> – длина передаваемых данных. После получения приглашения, необходимо ввести данные, для завершения процесса отправить символ <CR>. Если операция прошла успешно, модуль выдаст сообщение +FTPPUT:OK,<size>, лог команд представлен ниже:

Похоже, что не все модули поддерживают GPRS команды, в моем случае модуль ревизии 01.11n и прошивкой 1103_C6C10000_V0111n выдавал ошибки на GPRS команды.

Последние записи:

Комментариев 28 на “GSM модуль NEOWAY M590 – GPRS команды

  1. Благодарю. большое развернутое исследование. А на какой версии прошивки работало? надеюсь мож пригодиться в пору дешёвого GPRS . Из нескольких модулей мне попадались прошивки 1.11n 1.20t 1.30b 1.30e , искал какую инфу про firmware — ничего, и официалы на емайл ничего не отвечают, и доступа на сайте к Download нет http://www.neoway.com/en/login.aspx.
    p.s. Было б очень круто, если какой простенький примерчик , передачи к примеру c ардуины замеренные напряжения на сайт, чтоб он логи графиками строил.

    • У меня GPRS команды поддерживались на ревизии 01.20n 01.30c , я Arduino не программирую, чтобы логи строить графиками, на стороне сайта скорее всего нужен php скрипт, а в php я не особо разбираюсь, так что пока подсказать не могу.

        • С помощью данного модуля координаты определить не получится, и GPRS здесь не причем. Координаты по мобильной сети можно определить по параметрам основной и соседних сот (станций, вышек). Но в модуле Neoway M590 не предусмотрены команды с помощью которых можно запросить параметры соты.

  2. купил здесь
    К Arduino Uno подключил. M590 работает нормально. Запускаю M590 программно через boot . Скорость меняю на 9600.

    1. Кто знает — есть ли кроме мигающего диода способ узнать, что M590 готов к приему AT команд.
    Может какая-то ножка на M590.
    2. И еще мучает вопрос может ли как-то сбросится сама программно установленная скорость 9600 в процессе работы?

    • Я проверял готовность модуля к работе по двум параметрам, это отслеживание сообщения MODEM:STARTUP после включения модуля, причем рекомендуется выдержать паузу не менее 2 секунд, после данного сообщения, прежде чем отправлять команды. Кроме этого включение модуля можно отслеживать по напряжению VCCIO на 6-ом выводе модуля, это напряжение питания для линий ввода/вывода модуля, величина напряжения 2,85В. Я подключал вывод VCCIO к какой-либо линии микроконтроллера и отслеживал состояние (0 или 1). Напряжение на VCCIO появляется сразу после включения модуля, здесь тоже необходимо выдержать паузу не менее 2 секунд, перед отправкой команд.

      Скорость UART-а запоминается в модуле, и больше не сбрасывается, команду настройки скорости можно передать модулю один раз и больше не использовать.

    • Думаю что это возможно, если перевести модуль в режим TCP сервера, а Putty как клиент будет подключаться к этому серверу. Подробностей сказать не могу, так как не пробовал такое соединение.

    • При изучении работы модуля, именно так и делал, с помощью putty + модем подключался к своему серверу. Вот наоборот немного сложнее, если оператор не выдаёт «белые» ІР-адреса, то подключиться к модему, включив прослушивание порта, (из сети другого оператора) не предоставляется возможным. В случае если «белые» IP-выдаются, то подключиться можно с любой точки Земного шарика )

  3. Can you please help me using TCP Transparent Transmission mode? I want to make it compatible with PubSubClient library for MQTT purpose. When I try to enter into the Transparent Transmission mode it automatically quits transparent mode. Can you please help me resolving the issue?

  4. Можете ли вы помочь мне с помощью режима прозрачной передачи TCP? Я хочу, чтобы он был совместим с библиотекой PubSubClient для MQTT цели. Когда я пытаюсь войти в режим передачи Прозрачный он автоматически завершает работу прозрачный режим. Можете ли вы помочь мне решение вопроса?

      • I used +TCPTRANS to enter into Transparent Transmission mode. After sending few binary data it quits automatically. It shows «+TRANSCLOSE: 0,OK» and «Quit Transparent Success!!!»
        Sometimes the module restarts.

        • Перечитал Даташит на модем NeoWay m590, но не нашёл команды «+TCPTRANS» Возможно Вы используете другой модем. В данном модеме для передачи данных используются команды «AT+TCPSEND» и «AT+UDPSEND» предварительно настроив сокеты командой «AT+TCPSETUP» и «AT+UDPSETUP» для TCP и UDP протоколов соответственно.

            • Посмотрите внимательно на фотографию в начале фоормуа, на ней отображен модем NeoWay M590/M590E. Ваш модем соответствует фото? Команда «AT+TCPTRANS» поддерживается модемом «M660» в версии прошивки НЕ НИЖЕ v3.1. Если у Вас прошивка ниже, советую обновить её на последнюю.
              Формат команды:
              AT+TCPTRANS=,.
              П. С.
              Но увы, NeoWay M590E не поддерживает данную команду 🙁 по крайней мере до прошивки v «1103_C6C30000_V0130e»

              • Доброго времени суток!
                Тут так запросто сказали «Если у Вас прошивка ниже, советую обновить её на последнюю.»
                Ни кто б не мог меня ткнуть носом в место, где эту обновленную прошивку взять?
                Как я понял, это будет некий «.LOD» файл, который залить можно используя «RDA download tool»… Во всяком сучае так говорит сам neoway.

  5. Здравствуйте.
    Как послать POST запрос подскажите пожалуйста.
    Это правильный формат?

    POST /rpc/ HTTP/1.1/r/n
    Host: http://www.имя сервера куда шлю запрос.com/r/n
    User-Agent: curl/7.43.0/r/n
    Accept: */*/r/n
    Content-Length: 64/r/n
    Content-Type: application/x-www-form-urlencoded/r/n
    {Здесь текст запроса 64 символа}/r/n
    /r/n
    /r

    В ответ получаю:
    ..OK….+TCPSEND:0,221..
    ..+TCPCLOSE:0,Link Closed..
    Что я не правильно делаю?

    • Я POST запросы отправлять не пробовал, но в вашем запросе куда он направлен? /rpc/ — это что такое? по моему запрос должен быть направлен на html страницу, или php файл.

      Еще здесь по моему ошибка:
      Content-Type: application/x-www-form-urlencoded/r/n
      {Здесь текст запроса 64 символа}/r/n
      /r/n
      /r

      должно быть так:
      Content-Type: application/x-www-form-urlencoded/r/n
      /r/n
      {Здесь текст запроса 64 символа}/r/n

      только вот я точно не знаю после текста запроса возможно надо два перевода строки /r/n/r/n

      • Это запрос к rpc серверу
        Так должно быть?
        Content-Type: application/x-www-form-urlencoded/r/n
        /r/n
        {Здесь текст запроса 64 символа}/r/n
        /r/n
        /r

        • Я точно не знаю, попробуйте после {Здесь текст запроса 64 символа} отправлять /r/n а также /r/n/r/n, я думаю последнее /r в вашем примере лишнее.

  6. Не подскажете как заставить обсуждаемый модуль работать в качестве модема в Windows не из терминала ,а полноценно из браузера?
    Пробовал установить GPRS драйвер от сименса , но не прокатило , вероятно сильно разные у них команды. Может можно как то подправить .inf файлик обучив его правильным командам ?

    • Вопрос решился, все оказалось банально просто, дело было не в AT командах , они к счастью оказались стандартными, просто нужен полноценный USB-USART переходник, с обязательным наличием входа CTS который необходимо замкнуть на землю ,чтобы винда видела наличие модема. И все прекрасно работает, средняя скорость получилась ~50 Кбит/c.

    • Браузер я привел для примера ,чтоб понятна была суть вопроса, сам вопрос в том как установить соединение именно средствами windows, как это делали раньше подключив проводом сотовый телефон в качестве модема. Драйвер модема представлял собой только .inf файл без каких либо внешних исполняемых модулей (USB вариант не рассматривается), значит средства для данного вида связи уже встроены в винду, вопрос в том как настроить это для NEOWAY M590.
      Если это не возможно ,хотелось бы услышать более развернутый ответ ,почему?

  7. Браузер — это принципиальный момент. Средствами windows связь можно установить через VCP например. В любом случае нужно приложение, которое будет управлять модулем. inf файл сам по себе не работает. Если есть интерес, куда Вам написать?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *