Перейти к содержанию

    

SIM800C отправка файлов

Странно, ну мне это особо и не надо, просто интересно было, почему-то не работает запись в корень.....

 

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

 

У меня новая проблема, между отправками пакетов файла должна быть какая то задержка ?

Вот например :

 

начало цикла

AT+FTPPUT=2,1024

жду ответ модуля

обрабатываю ответ модуля

отправляю пакет данных

жду ответ

обрабатываю ответ

переход в начало цикла

 

Если перед переходом в начало цикла не сделать задержку 200 мс , то часто после отправки пакета данных вместо Ок , Error приходит, приходится пакет заново отправлять, не понятно откуда вылазит эта ошибка, к тому же она не всегда появляется а из 50 пакетов может 4 или 5 с ошибкой, но если задержку ставить то ошибок нет никакх

 

Изменено пользователем Mysteo

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так я и не понял почему возникает ошибка, это какая-то особенность FTP что ли ?

 

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

А при отправке файла через FTP , если не выставлять задержку между пакетами может ERROR после передачи последнего байта пакета вылезти...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сталкивался с проблемами если FTP на .nix серверах

На WIN проблем не было. По крайней мере там где тестировал.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сервак на Ubuntu заведен ..... завтра еще на другой железке попробую запустить

 

Вот сейчас снова словил глюк при передаче файла, после отправки очередного пакета ответ от модуля вообще не пришел, и на AT команды вообще не реагировал никак, что-то его вводит в ступор

 

Еще заметил, что если после отправки последнего байта пакета возвращается ошибка , то ответ +FTPPUT: 1,1,1360 приходит с задержкой 1.8 секунды, иногда 3 секунды, подумал на качество GPRS соединения, но оно отличное, так как файлы на почту уходят мгновенно, в общем буду разбираться с сервером FTP

 

Попробовал передать файл через режим EXTPUT , отправил сразу весь файл целиком проблем нет никаких, что то серверу не нравится при передаче данных пакетами, Вы были правы, завтра заведу сервер на WIN и посмотрю как он себя поведет

Изменено пользователем Mysteo

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Сталкивался с проблемами если FTP на .nix серверах

На WIN проблем не было. По крайней мере там где тестировал.

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

Для экономии времени . Проверял SIM900R, SIM800C,SIM800L,SIM800H - и на WIN и на Ubuntu и на других .

Проблем с FTP при передаче не было. Правда 1360 байт за раз не отправлял - не было необходимости.

Опять же когда AT+ FTPPUT =1 ответ модема ОК сразу ответ сервера через время .

Подозреваю что все дело в настройках FTP . Там куча настроек(параметров) которые модем использует по умолчанию .

Типа порт 21 итд.

Для связи с сервером попробуйте использовать любой FTP клиент который ведет лог обмена.

Сразу увидите сколько еще параметров нужно при обмене и модем их шлет по умолчанию за Вас .

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробую другой сервер установить, а пакеты у меня по 1024, да тоже чувствую что то с на стороне сервера барахлит, потому что бывает если при загрузки ответа возникает ошибка, то запрос на очередной пакет может с 5 сек задержкой придти. И такая проблема как на Ubuntu сервере vsftpd, и через роутер встроенный фтп поднимал тоже самое, однако на Ubuntu всегда в конце передачи файла 65 ошибка возникала, и файл все равно успешно грузился, то на встроенном в роутер сервере в конце передачи приходил успешный ответ

Изменено пользователем Mysteo

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как я понял, успешной передачи файла в письме так и нет?

У меня тоже как странно портится содержимое файла.

Если один и тот же текстовый массив передаю в теле письма или в приложенном файле - получается по разному.

И содержимое и размер текста отличаются.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

serglg

 

В SMTP бинарники нормально не передаются по этой причине. В BASE64 разбираться не стал и перешел на загрузку файлов по FTP.

Попробуйте выполнить то что писал CADiLO , лично я выполнял только вот этот пункт результата не было

"Нужно попробовать подвигать длину файла на пару байт и посмотреть будет ли теряться.

Дополню - попробовать передавать блоками кратными трем - например не 1024, а 1023 (341*3)"

 

Протокол SMTP не передает бинарники, должна происходить перекодировка в base64 и обратно.

Для выполнения условий base64, блок который перекодируется должен быть кратен 3 - думаю что вот от этого и нужно плясать.

 

http://cdo.bseu.by/library/ibs1/applic_l/format/base64.htm

 

Нужно попробовать подвигать длину файла на пару байт и посмотреть будет ли теряться.

Дополню - попробовать передавать блоками кратными трем - например не 1024, а 1023 (341*3)

 

 

И второе - самому перекодировать бинарник в base64, передавать как текст, а на выходе собирать его обратно.

Изменено пользователем Mysteo

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
serglg

 

В SMTP бинарники нормально не передаются по этой причине. В BASE64 разбираться не стал и перешел на загрузку файлов по FTP.

Попробуйте выполнить то что писал CADiLO , лично я выполнял только вот этот пункт результата не было

"Нужно попробовать подвигать длину файла на пару байт и посмотреть будет ли теряться.

Дополню - попробовать передавать блоками кратными трем - например не 1024, а 1023 (341*3)"

 

Да у меня текстовые файлы. Правда внутри есть символы табуляции (0х09) для их возможного открытия Экселем.

В принципе погонял разные размеры и как-то всё успокоилось.

Но было до того несколько раз, что символы внутри файла подменялись на мусор.

Для меня самое странное, что когда аналогичные тексты передавал в теле письма - ничего даже однократно не было.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Если только ASCII то проблем никогда не замечал.

 

Да, пока повторения той порчи не было.

Может это происходило при отладке, при ненормированных остановках в момент подачи АТ-команд.

Ладно, будем смотреть. :-)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем привет! Кто-нибудь может помочь объяснить как загружать файлы через http на сервер ?

Адрес сервера вот 77.108.229.234:808

Изменено пользователем Mysteo

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я так понимаю надо возиться c AT+HTTPPARA и понимать специфику POST запросов , но раньше с этим не сталкивался, подсказать тоже не кому

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нашел страницу с примером, но что такое BoundaryValue для меня пока загадка http://www.raviyp.com/embedded/194-sim900-...ll=&start=1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все разобрался как отправлять, установил HTTP Debugger Pro

Посмотрел как через браузер заполняется HEaders и Content и тоже самое повторил через SIM800

Изменено пользователем Mysteo

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация