@Maikesteps

Как сделать ftp клиент на ESP8266?

Не могу найти в интернете информации. Желательно на arduino ide.

Спасибо!
  • Вопрос задан
  • 3013 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Alex_Gramm
Вам нужно вручную обрабатывать соединения и отсылать команды.
Список команд описан тут www.nsftools.com/tips/RawFTP.htm

Для примера можно через telnet попробовать протокол. Вот пример общения с ftp.debian.org: pastebin.com/Cweysg4C

На ESP будет удобней использовать пассивный режим. Для этого перед использованиям комманд LIST RETR и некоторых других нужно отослать команду PASV, в ответ прийдут данные для второго подключения.
227 Entering Passive Mode (a1,a2,a3,a4,p1,p2)
где a1.a2.a3.a4 это IP адрес, а p1*256+p2 порт для подключения

Например для получения содержимого папки debian:
отсылаете "PASV" в ответ приходит
227 Entering Passive Mode (130,89,148,12,68,176).

Открываете второе подключение на 130.89.148.12 на порт 17584 (68*256+176)

После отсылки в первом подключении команды "LIST debian" во второе прийдет ответ
-rw-rw-r-- 1 1176 1176 1063 Mar 01 22:03 README
-rw-rw-r-- 1 1176 1176 1290 Jun 26 2010 README.CD-manufacture
-rw-rw-r-- 1 1176 1176 2591 Mar 01 22:03 README.html
....
drwxr-xr-x 3 1176 1176 4096 Oct 10 2012 tools

Аналогично с получением файла, его содержимое будет приходить во второе соединение.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы