|
SIM900 Ожидание +FTPGET:1,0 ответ +FTPGET:1,64 TimeOut |
|
|
|
Apr 18 2013, 13:36
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 7-06-12
Из: Севастополь, Россия
Пользователь №: 72 202

|
Возникла необходимость переезжать на другой FTP сервер, решили протестировать и тут все пошло не так как планировали: После приема данных с FTP сервера жду ответ +FTPGET:1,0 методично отсреливая AT+FTPGET=2,1024 раз в 3 сек (взято из примера в комплекте SIM900DevIDE),а +FTPGET:1,0 не приходит в течении 30 секунд и модуль рапортует +FTPGET:1,64 - timeout, следовательно программа расценивает это сообщение как неудачный прием данных.
Теоретически ответ +FTPGET:2,0 OK приходит после приема всего файла, но не является окончанием сессии, надо ждать +FTPGET:1,0 окончание приема данных.
От старого FTP сервера +FTPGET:1,0 ответ приходил через 16 секунд, это вызывало некое непонимание, но не сильно напрягало (так было на версиях 1137B04SIM900M64_ST_EAT, 1137B01SIM900M64_ST_DTMF_JD_EAT, 1137B02V01SIM900M64_ST_DTMF_JD_EAT). При подключении к обоим серверам FTP клиентом с ПК, после передачи чеко видно 226 File sent ok.
Стал перечитывать доки по поводу AT+FTPGET: (FTP HTTP AT Commands User Guide AN_SIM900_FTP_HTTP_APP_V1.00) If data transfer finished: +FTPGET:1,0 (FTP HTTP AT Commands User Guide AN_SIM900_FTP_HTTP_APP_V1.00)
AT+FTPGET=2,1024 +FTPGET:2,0 OK Request to read 1024 bytes again. 0 bytes are now available, but it is not the end of session
(SIM900 AT Commands Manual_V1.06) If data transfer finished: +FTPGET:1,0 (SIM900 AT Commands Manual_V1.06)
|
|
|
|
|
 |
Ответов
(1 - 7)
|
Apr 19 2013, 05:05
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 7-06-12
Из: Севастополь, Россия
Пользователь №: 72 202

|
У меня тоже с моего тестового без проблем (простой комп со статическим IP в интернете и прикрученным FTP сервером под винду), сервер на который пытаюсь переехать точно на линухе. Может тогда для уверенного приема сначала выполнить AT+FTPSIZE, затем контролировать количество принятых байтов после получения +FTPGET:2,0 OK проверить размер и игнорировать +FTPGET:1,64.
Просто делать конец приема по +FTPGET:2,0 OK нельзя, так как я наблюдал следующую ситуацию, сначала приходило пару ответов +FTPGET:2,0 OK, а только после этого начинал передаваться файл AT+FTPGET:2,<reqlength>, а затем 5 раз +FTPGET:2,0 OK .
Сообщение отредактировал bugish - Apr 19 2013, 05:06
|
|
|
|
|
Jun 2 2013, 11:27
|

Частый гость
 
Группа: Свой
Сообщений: 156
Регистрация: 18-02-13
Из: Киев
Пользователь №: 75 678

|
Цитата(bugish) ....AT+FTPSIZE, затем контролировать количество принятых байтов после получения +FTPGET:2,0 OK проверить размер и игнорировать +FTPGET:1,64. Тоже сейчас над таким вариантом думаю, но +FTPGET:1,64 игнорировать нельзя, т.к. сессия в этом случае прервана. У меня вообще ответ на AT+FTPGET=2,1024 может двадцать раз прийти +FTPGET=2,0, затем какие-то цифры типа +FTPGET=2,484, опять +FTPGET=2,0 и так пока не придет +FTPGET=1,0... Ждать от модуля на каждую посылку +FTPGET=1,1 неоправдано долго...
Сообщение отредактировал vassabi - Jun 3 2013, 08:46
|
|
|
|
|
Jun 3 2013, 08:47
|

Частый гость
 
Группа: Свой
Сообщений: 156
Регистрация: 18-02-13
Из: Киев
Пользователь №: 75 678

|
Цитата В новом EAT и прошивке ENHANCED использован EFTP (расширеный), окончательных доков на него пока нет. Может уже хоть что-то появилось? Что там хоть за "расширения"? У меня sim900r64 с прошивкой ENHANCED, а воспользоваться EFTP не могу...
|
|
|
|
|
Jun 3 2013, 09:48
|

Гуру
     
Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988

|
Это пример тестирования Женей новых функций. Полное описание будет после выхода релиза прошивки - пока еще доделывают. EXT работает не с портом, а с памятью модуля. Обычное FTP работает как описано в апнотесе.
Есть замечание - все хорошо пока FTP сервер виндовый - если никсоидный, то может не работать - зависит от того как скомпилирован.
Функции FTPEXTGET и FTPEXTPUT
в FTPEXTPUT ничего не изменилось
работа с FTPEXTGET ниже
IIIIяяяяAT OK
AT+GSV SIMCOM_Ltd SIMCOM_SIM900R Revision:1137B01SIM900R64_ST_ENHANCE_20130509_FTP OK
AT+CREG? +CREG: 0,1 OK
AT+CSQ +CSQ: 18,0 OK
AT+CGATT? +CGATT: 1 OK
AT+SAPBR=3,1,"CONTYPE","GPRS" OK
AT+SAPBR=3,1,"APN","www.djuice.com.ua" OK
AT+SAPBR=1,1
OK AT+SAPBR=2,1 +SAPBR: 1,1,"46.133.20.41" OK
AT+CFSINIT на всякий случай инициализирую файловую систему и пытаюсь прочесть файл test.txt OK так как такого файла в памяти нет, то получаю ошибки AT+CFSGFIS="test.txt" ERROR AT+CFSRFILE="test.txt",0,31,0 ERROR AT+CFSTERM OK
AT+FTPCID=1 OK AT+FTPSERV="simcom.exavault.com"
OK AT+FTPUN="логин" OK
AT+FTPPW="пароль" OK
AT+FTPGETNAME="2.txt" OK
AT+FTPGETPATH="/" OK
AT+FTPGET=1 использую обычный метод чтения файла в ком-порт OK
+FTPGET:1,1
AT+FTPGET=2,1024 +FTPGET:2,31 >> test file for FTPGET feature работает OK
AT+FTPGET=2,1024 +FTPGET:2,0 OK
+FTPGET:1,0 как-то очень долго закрывается соединение...
AT+FTPGETNAME="3.txt" меняю имя файла OK
AT+FTPEXTGET=1 использую чтение во Flash (по сути мы сейчас читаем в какой-то внутренний буфер ОЗУ) OK
+FTPEXTGET:1,0 получили файл
AT+FTPEXTGET=2,"test.txt" копируем из ОЗУ во Flash (имя нового файла test.txt)
OK +FTPEXTGET:2,34 получаем длину записанного файла
AT+FTPEXTGET=1 ещё раз читаем этот-же файл OK
+FTPEXTGET:1,0 ещё раз приняли
AT+FTPEXTGET=2,"test.txt" пытаемся сохранить под тем-же именем! ERROR получаем ошибку (т.е. всё ок и у модуля есть проверка от случайной перезаписи файла)
AT+FTPEXTGET=0 выключаем расширенную функцию чтения FTP и чистим ОЗУ (в случае, если AT+FTPEXTGET=2 проходит без ошибок, то мы автоматически выходим из расширенной функции чтения FTP и выполнять AT+FTPEXTGET=0 не требуется) OK
AT+CFSINIT инит. файловую систему OK
AT+CFSGFIS="test.txt" определяем размер файла test.txt +CFSGFIS: 34 столько, сколько и загрузили с FTP
OK
AT+CFSRFILE="test.txt",0,31,0 чтение +CFSRFILE: 31 >> test file for FTPEXTGET feat содержимое OK
AT+CFSDFILE="test.txt" удаляем OK
AT+CFSTERM отключаем работу с flash OK
--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|