2017年12月12日

ESPr DeveloperにFTPサーバー

ESPr DeveloperでSPIFFSファイルシステムで、SPIFFSファイルシステムを使用してフラッシュメモリにデータをアップしましたが、ESPr DeveloperはFTPサーバーをたてることができるので試してみました。


FTPサーバーの構築

FTPサーバーの構築は、esp8266FTPServerを使用しました。

● esp8266FTPServer


esp8266FTPServerはSPIFFSシステムを利用したシンプルなFTPサーバーです。SPIFFSシステムの「data」ディレクトリにアクセスして、データを「アップロード」、「ダウンロード」、「削除」、「ファイル名変更」することができます。「ディレクトリの作成」などはできず、暗号化技術には対応してないので、SFTPクライアントなどでは接続することはできません。

使い方は、esp8266FTPServerをダウンロードして、ArduinoのLibraryフォルダにデータをアップします。ライブラリにバグがあるようなので、下記ページを参考に修正して、FTPサーバーを実行するプログラムを組めば、FTPクライアントで接続できるようになります。



● FTPServerTest.ino

FTPサーバーをたてるだけのサンプルコードは下記になります。

#include <ESP8266WiFi.h>
#include <ESP8266FtpServer.h>
#include <FS.h>

#define SSID "WiFiのSSID"
#define PASS "WiFiのパスワード"

FtpServer ftpSrv;

void setup(void){
  Serial.begin(9600);
  WiFi.begin(SSID, PASS);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());
  
  if (SPIFFS.begin()) {
      ftpSrv.begin("ユーザーID","パスワード");
  }    
}

void loop(){
  ftpSrv.handleFTP();
}

● FileZillaで接続


FTPクライアントはFileZillaを使用しました。暗号化技術に対応していないので、暗号化なしでFTPサーバーに接続するように設定、転送モードをパッシブモードにして、最大接続数を1に設定するとFTPサーバーに接続できます。

  • このエントリーをはてなブックマークに追加
前の記事へ

ESPr DeveloperでSPIFFSファイルシステム