Возникла необходимость переезжать на другой 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)
|