Всем доброго времени суток!
Пытаюсь поднять соединение по GPRS и вытащить файл по FTP
Вот листнг простой проги
Код
for(ttt=0;ttt<5; ttt++)
{
printf("AT\r");
delay_ms(500);
}
printf("ATE0\r");
delay_ms(500);
printf("AT+CREG?\r");
delay_ms(500);
printf("AT+SAPBR=3,1,\"APN\",\"internet.life.com.by\"\r");
delay_ms(500);
printf("AT+SAPBR=1,1\r");
delay_ms(5000);
printf("AT+SAPBR=2,1\r");
delay_ms(500);
printf("AT+FTPCID=1\r");
delay_ms(500);
printf("AT+FTPSERV=\"srv7.host-food.ru\"\r");
delay_ms(500);
printf("AT+FTPUN=\"тут ник\"\r");
delay_ms(500);
printf("AT+FTPPW=\"тут пароль\"\r");
delay_ms(500);
printf("AT+FTPPUTNAME=\"123.txt\"\r");
delay_ms(500);
printf("AT+FTPPUTPATH=\"/\"\r");
delay_ms(500);
printf("AT+FTPPUT=1\r");
delay_ms(10000);
В ответ получаю +FTPPUT:1,62
Ошибка DNS, на каком этапе и чей DNS указывать???
С уважением, Lexi
CADiLO
Nov 18 2011, 12:58
Здесь смотрели примеры ?
SIM900_IP_Application Note_V1.02.pdf
Сейчас посмотрю и опробую. Спасибо
Сразу не догнал... Да в этом докумете смотрел.
Может чего и пропустил.
Вот спрашиваю, чтобы встать на путь истинный.
CADiLO
Nov 18 2011, 13:27
>>> и вытащить файл по FTP
Так вытащить с сервера или положить на сервер ?
PUT - это на сервер
GET - вытащить с сервера
Задача вытащить файл из сервера
CADiLO
Nov 18 2011, 13:50
Тогда вы не то используете.
FTP GET Method.
Download data from FTP server
то есть вытаскиваем с сервера на модуль
Спасибо, сча в течении часа попробую. Результат отпишу.
Ну вот код
Код
printf("AT+SAPBR=3,1,\"APN\",\"internet.life.com.by\"\r");
delay_ms(500);
printf("AT+SAPBR=1,1\r");
delay_ms(5000);
printf("AT+SAPBR=2,1\r");
delay_ms(500);
printf("AT+FTPCID=1\r");
delay_ms(500);
printf("AT+FTPSERV=\"srv7.host-food.ru\"\r");
delay_ms(500);
printf("AT+FTPUN=\"пользователь\"\r");
delay_ms(500);
printf("AT+FTPPW=\"пароль\"\r");
delay_ms(500);
printf("AT+FTPPUTNAME=\"123.txt\"\r");
delay_ms(500);
printf("AT+FTPPUTPATH=\" / \"\r");
delay_ms(500);
printf("AT+FTPGET=1\r");
delay_ms(10000);
везде все нормально, но на последний запрос ответ +FTPGET:1,66
CADiLO
Nov 18 2011, 14:16
66 Operation not allow - Данная операция не поддерживается сервером
srv7.host-food.ru - это разве FTP????
введите его в эксплорере - куда попадаем ? правильно - на HTTPS
так что правильно - HTTP сервер не поддерживает FTP операции
FTP.
Параметры ftp соединения
AT+FTPSERV=«ftp.site.ru» — адрес ftp сервера
AT+FTPUN=«login» — логин
AT+FTPPW=«password» — пароль
AT+FTPPUTPATH="/" — путь
AT+FTPPUTNAME=«test.txt» — имя файла
AT+FTPMODE=1 — режим работы ftp
•1, — пассивный. Стоит по умолчанию
•0, — активный.
AT+FTPTYPE=«A» — тип передаваемых данных.
•A, — только ASCII символы.
•I, — двоичный режим.
AT+FTPPUTOPT=«APPE» — режим открытия файла.
•«APPE» — добавить в конец файла
•«STOR» — создать файл. Если файл существует, то он будет перезаписан.
•«STOU» — создать уникальный файл. Если файл существует, то будет создан файл с заданным именем и дополненный в имени цифрами.
AT+FTPPUT=1 — открытие ftp соединения
+FTPPUT:1,1,1260 — сессия на запись открыта. Максимальная длина записи 1260 байт.
AT+FTPPUT=2,10 — запись 10 символов.
+FTPPUT:2,10 — после появления приглашения нужно ввести 10 символов. Эха не будет.
AT+FTPPUT:2,0 — закрытие ftp соединения.
Для чтения все практически аналогично, только PUT меняется на GET. Так AT+FTPPUTPATH становится AT+FTPGETPATH.
AT+FTPGET=1 — открытие ftp соединения.
+FTPGET:1,1 — данные для чтения доступны.
AT+FTPGET=2,10 — чтение 10 байт данных. Если данных меньше, то вернется сколько есть.
+FTPGET:2,10 — сколько данных будет для считывания.
Повторное чтение, если указатель стоит на конце файла вернет +FTPGET:2,0.
AT+FTPGET:2,0 — закрытие ftp соединения.
взято здесь:
http://we.easyelectronics.ru/part/gsm-gprs...st-vtoraya.html
Странно ,но...
таким макаром вполне понимает тотал командер... Я вписал туда все свои параметры для авторизации и работет...
Может порт надо как-то указать???
Вот из параметров сервера
* FTP, POP3, SMTP, IMAP:
srv7.host-food.ru
Я пытался сделать по аноупу, покуда не получается
Почитав документацию изменил PUT на GET
и получил
Код
printf("AT+FTPCID=1\r");
delay_ms(500);
printf("AT+FTPSERV=\"ftp.h22164.srv7.test-hf.ru\"\r");
delay_ms(500);
printf("AT+FTPUN=\"login\"\r");
delay_ms(500);
printf("AT+FTPPW=\"pass\"\r");
delay_ms(500);
printf("AT+FTPGETNAME=\"123.txt\"\r");
delay_ms(500);
printf("AT+FTPGETPATH=\"/\"\r");
delay_ms(500);
printf("AT+FTPGET=1\r");
delay_ms(10000);
В результате опвет как изначально, просит DNS, но чей?? +FTPGET:1,62
И куда его указать???
CADiLO
Nov 18 2011, 14:54
Давайте попробуем обойтись для начала без DNS
введите IP вместо имени
IP адрес: 91.227.16.17
Имя сайта: ftp.h22164.srv7.test-hf.ru
сделал, ошибка 63, тобишь ошибка подключения
CADiLO
Nov 18 2011, 15:14
Давайте попробуем с простого
вот IP
ftp://192.150.16.26/это
ftp://ftp.adobe.com/логин и пароль не нужны
попробуйте утянуть оттуда
ftp://192.150.16.26/license.txt - размер 2 килобайта (2809байт)
когда получится переходите к более сложным серверам с логином и паролем, потом к DNS
причем желательно вначале весь процесс пройти ручками в терминале, чтобы нормально видеть ответы
Код
AT
OK
AT
OK
AT
OK
AT
OK
AT
OK
ATE1
OK
AT+CREG?
+CREG: 0,1
OK
AT+SAPBR=3,1,"APN","internet.life.com.by"
OK
AT+SAPBR=1,1
ERROR
AT+SAPBR=2,1
+SAPBR: 1,1,"46.191.103.223"
OK
AT+FTPCID=1
OK
AT+FTPSERV="192.150.16.26"
OK
AT+FTPUN=""
ERROR
AT+FTPPW=""
ERROR
AT+FTPGETNAME="license.txt"
OK
AT+FTPGETPATH="/"
OK
AT+FTPMODE=1
OK
AT+FTPGET=1
OK
+FTPGET:1,63
Вот еще интересный случай
даю полный отчет от модуля
Цитата
AT
OK
AT
OK
AT
OK
AT
OK
AT
OK
ATE1
OK
AT+CREG?
+CREG: 0,1
OK
AT+CSQ
+CSQ: 16,3
OK
AT+CUSD=1,"*100#"
OK
+CUSD: 0,"USSD sessia zavershena",64
AT+SAPBR=2,1
+SAPBR: 1,1,"46.191.98.252"
OK
AT+CIPPING="ftp.adobe.com"
+CIPPING: 1,"193.104.215.67",600,255
+CIPPING: 2,"193.104.215.67",600,255
+CIPPING: 3,"193.104.215.67",600,255
+CIPPING: 4,"193.104.215.67",600,255
OK
AT+FTPCID=1
OK
AT+FTPSERV="192.150.16.26"
OK
AT+FTPGETNAME="license.txt"
OK
AT+FTPGETPATH="/"
OK
AT+FTPGET=1
OK
+FTPGET:1,64
Почему при пинге одного и тогоже simcom дает совешенно иной адрес?
Цитата
AT+CIPPING="ftp.adobe.com"
+CIPPING: 1,"193.104.215.67",600,255
+CIPPING: 2,"193.104.215.67",600,255
+CIPPING: 3,"193.104.215.67",600,255
+CIPPING: 4,"193.104.215.67",600,255
OK
От компа
Цитата
C:\Documents and Settings\User>ping ftp.adobe.com
Обмен пакетами с ftpgen.wip4.adobe.com [192.150.16.26] по 32 байт:
Ответ от 192.150.16.26: число байт=32 время=170мс TTL=241
Ответ от 192.150.16.26: число байт=32 время=170мс TTL=241
Ответ от 192.150.16.26: число байт=32 время=170мс TTL=241
Ответ от 192.150.16.26: число байт=32 время=173мс TTL=241
Статистика Ping для 192.150.16.26:
Пакетов: отправлено = 4, получено = 4, потеряно = 0 (0% потерь),
Приблизительное время приема-передачи в мс:
Минимальное = 170мсек, Максимальное = 173 мсек, Среднее = 170 мсек
Есть ли вероятность, что в вышеуказанной прошиве FTP просто не работает??
К какой прошиве указан аноуп SIM900_IP_Application Note_V1.02.pdf ???
Итак... продолжаем )))
Решил пощупать по TCP сервачек
Цитата
AT
OK
AT
OK
AT
OK
AT
OK
AT
OK
ATE1
OK
AT+CREG?
+CREG: 0,1
OK
AT+CSQ
+CSQ: 16,0
OK
AT+CUSD=1,"*100#"
OK
+CUSD: 4
AT+CGATT?
+CGATT: 1
OK
AT+CIFSR
46.191.103.182
AT+CIPSTART="TCP", "192.150.16.26", 21
OK
CONNECT OK
220-ftp.adobe.com
220-Adobe Systems, Inc.
220-
220-By downloading software of Adobe Systems Incorporated or its
220-subsidiaries from this site, you agree to the terms and
220-conditions described in
ftp://ftp.adobe.com/license.txt220-
220-Web browser users: Click on Web_User_Click_Here.html
220-
220-FTP client users: To connect, use "anonymous" as the login,
220-and use your e-mail address as the password. For example,
220-login: anonymous
220-password: ftpuser@adobe.com
220-
220-
220
Отсюда вывод
Цитата
логин и пароль не нужны
Всетаки нужны
Один четр, ошибка 64
Цитата
AT+CGATT?
+CGATT: 1
OK
AT+SAPBR=3,1,"Contype","GPRS"
OK
AT+SAPBR=3,1,"APN","internet.life.com.by"
OK
AT+SAPBR=1,1
ERROR
AT+FTPCID=1
OK
AT+FTPPORT=21
OK
AT+FTPMODE=1
OK
AT+FTPTYPE="A"
OK
AT+FTPCID=1
OK
AT+FTPSERV="192.150.16.26"
OK
AT+FTPUN="anonymous"
OK
AT+FTPPW="ftpuser@adobe.com"
OK
AT+FTPGETNAME="license.txt"
OK
AT+FTPGETPATH="/"
OK
AT+FTPGET=1
OK
+FTPGET:1,64
CADiLO
Nov 21 2011, 09:51
Лично перепроверил - ищем ошибку у себя.
RDY
+CFUN: 1
+CPIN: READY
Call Ready
at+gsv
SIMCOM_Ltd
SIMCOM_SIM900
Revision:1137B08SIM900M64_ST_DTMF_JD_MMS
OK
at+cgatt?
+CGATT: 1
OK
at+sapbr=3,1,"Contype","GPRS"
OK
at+sapbr=3,1,"APN","www.ab.kyivstar.net"
OK
at+sapbr=1,1
OK
at+ftpcid=1
OK
at+ftpserv="simcom.exavault.com" // Ftp сервер симкома - проверял на нем потому что 100% уверен что не висит и L:P правильные
OK
at+ftpun="мой логин"
OK
at+ftppw="мой пароль"
OK
at+ftpgetname="2010.TXT"
OK
at+ftpgetpath="/"
OK
at+ftpget=1
OK
+FTPGET:1,1
at+ftpget=2,1024
+FTPGET:2,50
123456789123456789012345678912345678901`2345678911
OK
Все работает как написано. Кстати адобовский и меня по таймауту (ошибка 64) отбросил.
Еще может быть нюанс во входе на FTP - активный или пассивный режим. Для симкомовского у меня "passive mode" в FAR выставлено.
Тогда еще с FTPMODE нужно поиграться.
Вобщем я просто посмотрел настройки с которыми работаю, ввел по апнотесу и все сработало.
nillll
May 23 2012, 11:48
Добрый день. Я решил потестить sim900D 07 версия прошивка. Попробовал организовать ftp соединение. Все ок до того момента как отправляю AT+FTPGET=1.
Пишет +FTPGET:1,61
не могли бы вы подсказать в чем дело. Может на sim900 это канает?
CADiLO
May 23 2012, 13:03
По вопросу 1,61 уже отвечали китайцы
Вопрос был таким:
Device checks the update of file on FPT server periodically. For that the file is opened and read the headline.
Depending on headline, device downloads or not this file. IF not the session is closed.
After closed the session with out downloading the file FW 1137B08SIM900M64_ST response OK
After download the file response - +FTPGET:1,0 and for AT+SAPBR=0,1 – no mistakes. The session closed automatically.
The same operation but for FW 1137B08SIM900M64_ST_DTMF_JD_MMS or FW 1137B09SIM900M64_ST always getting - +FTPGET:1,61
Is it mistake in firmware or it is mistake with operations?
AT+SAPBR=3,1,"CONTYPE","GPRS"
OK
AT+SAPBR=3,1,"APN","www.umc.ua"
OK
AT+SAPBR=3,1,"USER",""
OK
AT+SAPBR=3,1,"PWD",""
OK
AT+SAPBR=1,1
OK
AT+FTPCID=1
OK
AT+FTPREST=0
OK
AT+FTPMODE=0
OK
AT+FTPUN="sirius"
OK
AT+FTPPW="*********"
OK
AT+FTPSERV="xx.xx.xx.xx"
OK
AT+FTPPORT=2122
OK
AT+FTPGETPATH="N3718/"
OK
AT+FTPGETNAME="ftp_m3718_v0.32.bin.02.bin"
OK
AT+FTPGET=1
+FTPGET:1,1
AT+FTPGET=2,64
+FTPGET:2,0
OK
AT+FTPGET=2,64
+FTPGET:2,64
„¶ў[¦]Iк«юЄЁЄ+љ®ЄeЭ+g‰сСВ%§ІыаGяЫf_O.ЗЂ,ё"тЁ л2јц/°шB™`/qy°$•В
OK
AT+SAPBR=0,1
+FTPGET:1,61
It is normal and correct that it always get URC: +FTPGET: 1,61 after AT+SAPBR=0,1.
AT+SAPBR=0,1 means to close the bearer.
И обновитесь до 1137B09SIM900D64_ST_DTMF_JD_MMS, (или до европейской 1137B10SIM900D64_ST)
были дополнения и исправления по работе с FTP.
nillll
May 24 2012, 11:23
Спасибо CADiLO
Я тестирую sim900D на версии 1137B07SIM900D64_ST.
В итоге все также делаю, но как дохожу до момента передачи
AT+FTPGET=1
выдает сразу +FTPGET: 1,61. До этого все команды были с ответами ОК.
Действительно лучше прошить модуль sim900D под 1137B09SIM900D64_ST_DTMF_JD_MMS, (или до европейской 1137B10SIM900D64_ST)? Или на этой версии, которой я использую у кого то работает?
Я просто в этом деле новичек
CADiLO
May 24 2012, 11:41
Это на разных FTP серверах всегда эта ошибка или только с одним пробовали?
Попробуйте еще переключить активный или пассивный режим, тип передаваемых данных,
иногда порт может быть не стандартный 21й, а другой.....
Нужно точно знать как реализован FTP сервер и чего ему нужно.
Проще всего попробовать на нескольких публичных серверах.
Если не получится, выкладывайте Лог файл, посмотрим......
nillll
May 24 2012, 13:19
Вот быстренько кинул код, что отправляю :
....
SerialPutString("at+cgatt?\r\n");
Delay(20000000);
SerialPutString("AT+SAPBR=3,1,\"Contype\",\"GPRS\"\r\n");
Delay(20000000);
SerialPutString("AT+SAPBR=3,1,\"APN\",\"internet.beeline.ru\"\r\n");
Delay(20000000);
SerialPutString("AT+SAPBR=3,1,\"USER\",\"beeline\"\r\n");
Delay(20000000);
SerialPutString("AT+SAPBR=3,1,\"PWD\",\"beeline\"\r\n");
Delay(20000000);
SerialPutString("AT+SAPBR=1,1\r\n");
Delay(20000000);
SerialPutString("AT+FTPCID=1\r\n");
Delay(20000000);
SerialPutString("AT+FTPREST=0\r\n");
Delay(20000000);
SerialPutString("AT+FTPMODE=0\r\n");
Delay(20000000);
SerialPutString("AT+FTPMODE?\r\n");
Delay(20000000);
SerialPutString("AT+FTPUN=\"******\"\r\n");
Delay(20000000);
SerialPutString("AT+FTPPW=\"******\"\r\n");
Delay(20000000);
SerialPutString("AT+FTPSERV=\"ftp.fedorov-v.ru\"\r\n");
Delay(20000000);
SerialPutString("AT+FTPPORT=2122\r\n");
Delay(20000000);
SerialPutString("AT+FTPGETPATH=\"/\"\r\n");
Delay(20000000);
SerialPutString("AT+FTPGETPATH?\r\n");
Delay(20000000);
SerialPutString("AT+FTPGETNAME=\"2012.txt\"\r\n");
Delay(20000000);
SerialPutString("AT+FTPGETNAME?\r\n");
Delay(20000000);
SerialPutString("AT+FTPGET=1\r\n");
Delay(20000000);
после этой команды выдает
+FTPGET:1,61
+SAPBR 1: DEACT
Установил порт на 21
SerialPutString("AT+FTPPORT=21\r\n");
Стал просить теперь DNS
+FTPGET:1,62
CADiLO
May 24 2012, 13:31
вот теперь попробуйте вместо имени ftp.fedorov-v.ru, ввести его IP
зайдет или нет ?
nillll
May 25 2012, 07:39
Попробовал ввести Ip ftp'ника как вы и посоветовали.
Такая же ошибка. +FTPGET:1,61
Что посылаю (черновой вариант):
...
SerialPutString("at+cgatt?\r\n");
Delay(5000000);
SerialPutString("AT+SAPBR=3,1,\"Contype\",\"GPRS\"\r\n");
Delay(5000000);
SerialPutString("AT+SAPBR=3,1,\"APN\",\"internet.beeline.ru\"\r\n");
Delay(5000000);
SerialPutString("AT+SAPBR=3,1,\"USER\",\"beeline\"\r\n");
Delay(5000000);
SerialPutString("AT+SAPBR=3,1,\"PWD\",\"beeline\"\r\n");
Delay(5000000);
SerialPutString("AT+SAPBR=1,1\r\n");
Delay(5000000);
SerialPutString("AT+SAPBR=2,1\r\n");
Delay(10000000);
SerialPutString("AT+FTPCID=1\r\n");
Delay(5000000);
SerialPutString("AT+FTPREST=0\r\n");
Delay(10000000);
SerialPutString("AT+FTPMODE=1\r\n");
Delay(5000000);
SerialPutString("AT+FTPSERV=\"188.93.212.151\"\r\n");
Delay(5000000);
SerialPutString("AT+FTPUN=\"логин\"\r\n");
Delay(5000000);
SerialPutString("AT+FTPPW=\"пароль\"\r\n");
Delay(5000000);
SerialPutString("AT+FTPPORT=21\r\n");
Delay(5000000);
SerialPutString("AT+FTPGETPATH=\"/\"\r\n");
Delay(5000000);
SerialPutString("AT+FTPGETNAME=\"2012.txt\"\r\n");
Delay(10000000);
SerialPutString("AT+FTPGETNAME?\r\n");
Delay(10000000);
SerialPutString("AT+FTPGET=1\r\n");
Delay(10000000);
SerialPutString("AT+FTPGET=2,10\r\n");
Delay(20000000);
Ответ:
...
+CGATT: 1
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
+FTPGETNAME: "2012.txt"
OK
OK
ERROR
+FTPGET:1,61
+SAPBR 1: DEACT
NORMAL POWER DOWN
CADiLO
May 25 2012, 07:55
ERROR от кого???
Можно в формате как я выше приводил? - запрос+ответ
зачем лишние запросы типа AT+FTPGETNAME?
модуль сам отключился???? - NORMAL POWER DOWN ?????
nillll
May 25 2012, 08:17
...
AT+FTPGETNAME="2012.txt"
OK
AT+FTPGET=1
OK
AT+FTPGET=2,10
ERROR
+FTPGET:1,61
Вот так примерно.
CADiLO
May 25 2012, 08:48
не вижу чтобы вы дождались +FTPGET:1,1
после
AT+FTPGET=1
OK
На предыдущей страничке работающий пример - дождались +FTPGET:1,1 и только потом AT+FTPGET=2,ххххххх
nillll
May 25 2012, 09:01
Долго ждать его? У вас через какое время примерно он появляется?
CADiLO
May 25 2012, 09:22
от сервера зависит - но ответ должен быть обязательно - или подтверждение выполнения или с ошибкой
у меня было от 2-3 секунд до минуты....
быстро здесь не получится
вручную терминалом пройдите все операции дожидаясь ответов и URC.
nillll
May 25 2012, 12:47
Спасибо CADiLO.
Решил все таки поменять ftp сервак и получилось все таки прочитать 2012.txt из его подкаталога.
...
AT+FTPGET=1
OK
+FTPGET:1,1
AT+FTPGET=2,1024
+FTPGET:2,57
12345 12344532492348923 skdfhsjdfhs 2342 ыврпыовап !,,Юб.
OK
+FTPGET:1,61
+SAPBR 1: DEACT
Теперь хотелось бы научиться на сервер записывать что нибудь

Сижу пока разбираюсь.
CADiLO
May 25 2012, 12:51
Я так и не смог зайти на FTP сервер Adobe. Cразу не вышло, да и времени особо не было.
По хорошему надо смотреть каким-нибуть клиентом лог соединения (я во FlashGet смотрел процесс ) и тогда большинство опций становится понятным.
nillll
May 25 2012, 12:59
Пробую открыть соединение на запись
выдает вот это:
AT+FTPPUT=1
OK
+FTPPUT:1,77
Что за operate error?
nillll
May 29 2012, 08:29
Здраствуйте. Ломаю голову над этим:
AT+FTPPUT=1
OK
+FTPPUT:1,77
Никак не могу открыть ftp соединение на запись. Чтение удается, а запись никак. Подскажите может есть временные ftp серваки. Хотелось бы протестировать sim900 на запись. Может подскажете на каком вы серваке тестировали? Если кто работал с sim900.
Идея вот вчем. Хочу удалить файл. Но на команду FTPDELE отвечает модуль ERROR. Кто нибудь сталкивался с этой проблемой?
Вот код:
IIIIюююю
RDY
+CFUN: 1
+CPIN: READY
Call Ready
AT
OK
at+ipr=115200
OK
at+cpin?
+CPIN: READY
OK
at+crc=1
OK
at+cops=0,0
OK
at+crsl=90
OK
at+clvl=40
OK
at+cops?
+COPS: 0,0,"Beeline"
OK
at+gmr
Revision:1137B10SIM900D64_ST
OK
at+cgatt?
+CGATT: 1
OK
AT+SAPBR=3,1,"Contype","GPRS"
OK
AT+SAPBR=3,1,"APN","internet.beeline.ru"
OK
AT+SAPBR=3,1,"USER","beeline"
OK
AT+SAPBR=3,1,"PWD","beeline"
OK
AT+SAPBR=1,1
OK
AT+FTPCID=1
OK
AT+FTPSERV="xxxxx.ru"
OK
AT+FTPUN="xxxxx"
OK
AT+FTPPW="xxxxx"
OK
AT+FTPPORT=21
OK
AT+FTPGETNAME="1.txt"
OK
AT+FTPGETPATH="/"
OK
AT+FTPDELE=1
ERROR
AT+FTPDELE=1
а =1 зачем????
просто AT+FTPDELE
Цитата(nillll @ May 29 2012, 11:29)

Здраствуйте. Ломаю голову над этим:
AT+FTPPUT=1
OK
+FTPPUT:1,77
...
Аналогичная проблема на SIM900D Revision:1137B08SIM900D64_ST_DTMF_JD_MMS
отправляю файл на FTP двумя методами:
1) данный вариант работает без проблем
AT+FTPMODE=0
AT+FTPTYPE="A"
AT+FTPPUTOPT="STOR"
2) а этот не работает (не могу выполнить запись в конец файла)
AT+FTPMODE=0
AT+FTPTYPE="A"
AT+FTPPUTOPT="APPE"
Лог обмена:
...
AT+FTPPUTNAME="123.txt"
OK
AT+FTPPUTPATH="/"
OK
AT+FTPPUTOPT="APPE"
OK
AT+FTPTYPE="A"
OK
AT+FTPPUT=1
+FTPPUT:1,77 <-- что за ответ такой? ткните носом где почитать...
AT+FTPPUT=2,5
ERROR
12345
ERROR
...
Может кто сталкивался с этим? Подскажите плиз куда копать. Хотелось бы не перезаписывать существующий файл, а добавлять в него данные, но что-то не выходит
CADiLO
Jun 11 2012, 06:13
SIM900_AT Command Manual_V1.05.pdf
1,77 - ошибка выполняемой операции - коды ошибок в описании команды FTPGET.
Просмотрите еще раз синтаксис, воможно требуется указать длину.
И проверьте позволяет ли сам сервер операцию "арpend".....
Цитата(CADiLO @ Jun 11 2012, 09:13)

...И проверьте позволяет ли сам сервер операцию "арpend"...
Спасибо за подсказку. Проблема действительно оказалась в том, что FTP сервер на www.holm.ru не поддерживает операцию "арpend"
Ответ со стороны сервера:
Error 451 123.txt: Append/Restart not permitted, try again
CADiLO
Jun 11 2012, 14:56
Тут нужно точно знать что сервер умеет, а что нет. Так например большинству FTP под виндами пофигу большие или маленькие буквы в именах. А Юниксоподобные системы к этому чуствительны. Так и с набором команд - например сервер может не уметь пассивный или активный режим, добавление, докачку или закачку частями и даже может быть банальным - ридонли. А мы думаем что модуль не жужжит и мучимся. Я сам на подобное нарывался и долго не мог понять почему не работает. Потом оказывалось что на другом сервере работает, а тот который мучил просто не умеет.
Павел_Б
Jun 13 2012, 16:47
Здравствуйте Уажаемые форумчане.
Тоже решил побаловаться gprs. И поставил простую задачу. Хочу загрузить в МК через SIM900 html страничку.
То есть грубо говоря есть в сети страничка например 123123123123123.narod.ru
В теле странички есть текст "123".
Как мне скачать страничку через модуль с помощью МК?
Я так понял что в помощь нам дана дока SIM900_IP_Application Note_V1.02.pdf
Мы её открываем на пункте 2.1 HTTP Get metod.
То что у меня получается. В HEX кодировке то что я передаю, в ASCII то что принимаю.
Код
Call Ready
> 41 54 48 0D 0D
AT
OK
> 41 54 2B 48 54 54 50 49 4E 49 54 0D 0D
AT+HTTPINIT
OK
> 41 54 2B 48 54 54 50 50 41 52 41 3D 22 43 49 44 22 2C 31 0D
AT+HTTPPARA="CID",1
OK
> 41 54 2B 48 54 54 50 50 41 52 41 3D 22 55 52 4C 22 2C 22 77 77 77 2E 79 61 2E 72 75 22 0D
AT+HTTPPARA="URL","www.ya.ru"
OK
> 41 54 2B 48 54 54 50 41 43 54 49 4F 4E 3D 30 0D
AT+HTTPACTION=0
OK
+HTTPACTION:0,601,0
> 41 54 2B 48 54 54 50 52 45 41 44 0D
AT+HTTPREAD
OK
> 41 54 2B 48 54 54 50 52 45 41 44 0D
AT+HTTPREAD
OK
А данные (html код) не вылазят из uart

Где я напутал? Подскажите пожалуйста.
Цитата(Павел_Б @ Jun 13 2012, 19:47)

...
+HTTPACTION:0,601,0
...
sim900_at command manual_v1.05.pdf стр. 209
601 Network Error <-- ваш случай
Предоставленный вами лог либо не полный, либо вы забыли подключиться к Internet

Если используете оператора MTS UKR, то вот вам пример рабочего лога:
...
AT+SAPBR=3,1,"Contype","GPRS"
OK
AT+SAPBR=3,1,"APN","www.umc.ua"
OK
AT+SAPBR=3,1,"USER",""
OK
AT+SAPBR=3,1,"PWD",""
OK
AT+SAPBR=1,1
OK
AT+SAPBR=2,1
+SAPBR: 1,1,"121.171.14.32"
OK
AT+HTTPINIT
OK
AT+HTTPPARA="CID",1
OK
AT+HTTPPARA="URL","babla.bolshe.net"
OK
AT+HTTPACTION=0
OK
+HTTPACTION:0,
200,776
AT+HTTPREAD
+HTTPREAD:776..<!-- ><!-- "><!-- '><!-- ;><!-- -->.</textarea></form></title></comment></a></div></span></ilay и т.д.
Павел_Б
Jun 21 2012, 17:03
Цитата(Толян @ Jun 21 2012, 01:48)

Спасибо! Заработало
nilllllllllll
Jul 3 2012, 20:46
Всем привет.
Вопрос такой: Можно ли открывать сразу несколько файлов на чтение или на запись одновременно в ftp у sim900? Реализованно ли это? А то что то у меня не хочет
Цитата(CADiLO @ Jul 4 2012, 10:25)

Только в один поток.
Т.е я так понял нельзя. Т.е открыл сессию прочитал к примеру или записал сколько надо файл, закрыл сессию. Потом другой файл также открывать
nilllllllllll
Jul 9 2012, 16:43
добрый день всем.
Вопрос такой: можно ли каким либо способом узнать список имен файлов в таком то каталоге на ftp сервере с помощью sim900???? Вопрос горит

Помогите кто нибудь с ответом.
rd-npoit
Feb 27 2013, 10:53
Здравствуйте. Проблема со взятием файла с фтп, а именно: +FTPGET:1,61. Мой листинг:
RDY
+CFUN: 1
+CPIN: READY
+CREG: 0
+CREG: 2
Call Ready
+CREG: 1
at+sapbr=3,1,"contype","gprs"
OK
at+sapbr=3,1,"apn","internet.beeline.ru"
OK
at+sapbr=3,1,"user","beeline"
OK
at+sapbr=3,1,"pwd","beeline"
OK
at+sapbr=1,1
OK
at+sapbr=2,1
+SAPBR: 1,1,"198.19.180.137"
OK
at+sapbr=4,1
+SAPBR:
CONTYPE: GPRS
APN: internet.beeline.ru
PHONENUM:
USER: beeline
PWD: beeline
RATE: 2
OK
at+ftpserv="rd-npoit.ftp.narod.ru"
OK
at+ftpun="мой логин"
OK
at+ftpgetpath="/"
OK
at+ftpgetname="test.txt"
OK
at+ftpget=1
OK
+FTPGET:1,61
Уже и номер порта проверял, тип передаваемых данных менял, режимы работы фтп тоже менял. Но ничего не помогает. Проверил есть ли связь с инетом: сделал пример с http от пользователя Толяна - код страницы скачался. Короче я в тупике. Нуждаюсь в помощи. Заранее благодарю!
rd-npoit
Feb 27 2013, 10:53
Здравствуйте. Проблема со взятием файла с фтп, а именно: +FTPGET:1,61. Мой листинг:
RDY
+CFUN: 1
+CPIN: READY
+CREG: 0
+CREG: 2
Call Ready
+CREG: 1
at+sapbr=3,1,"contype","gprs"
OK
at+sapbr=3,1,"apn","internet.beeline.ru"
OK
at+sapbr=3,1,"user","beeline"
OK
at+sapbr=3,1,"pwd","beeline"
OK
at+sapbr=1,1
OK
at+sapbr=2,1
+SAPBR: 1,1,"198.19.180.137"
OK
at+sapbr=4,1
+SAPBR:
CONTYPE: GPRS
APN: internet.beeline.ru
PHONENUM:
USER: beeline
PWD: beeline
RATE: 2
OK
at+ftpserv="rd-npoit.ftp.narod.ru"
OK
at+ftpun="мой логин"
OK
at+ftpgetpath="/"
OK
at+ftpgetname="test.txt"
OK
at+ftpget=1
OK
+FTPGET:1,61
Уже и номер порта проверял, тип передаваемых данных менял, режимы работы фтп тоже менял. Но ничего не помогает. Проверил есть ли связь с инетом: сделал пример с http от пользователя Толяна - код страницы скачался. Короче я в тупике. Нуждаюсь в помощи. Заранее благодарю!
SergOv
Feb 27 2013, 11:37
Цитата(rd-npoit @ Feb 27 2013, 12:53)

Уже и номер порта проверял, тип передаваемых данных менял, режимы работы фтп тоже менял. Но ничего не помогает. Проверил есть ли связь с инетом: сделал пример с http от пользователя Толяна - код страницы скачался. Короче я в тупике. Нуждаюсь в помощи. Заранее благодарю!
А, собственно, где в листинге установка соединения ?
rd-npoit
Feb 27 2013, 11:59
SergOv,
установка связи с gprs:
at+sapbr=1,1
OK
установка ftp соединения:
at+ftpget=1
OK
Или Вы имеете ввиду что-то дополнительное?
SergOv
Feb 27 2013, 12:10
Цитата(rd-npoit @ Feb 27 2013, 13:59)

SergOv,
установка связи с gprs:
at+sapbr=1,1
OK
установка ftp соединения:
at+ftpget=1
OK
Или Вы имеете ввиду что-то дополнительное?
А CGATT = 1 не надо ??
rd-npoit
Feb 27 2013, 12:19
По умолчанию в 1 стоит CGATT. Но я все равно at+cgatt=1 прописал. Проблема не исчезла.