自宅などで、アンドロイド機のファイルをPCなど他の機器に転送したいときにはどうしてますか? いくつか方法があるようですが、FTPを使うと、多くのプラットフォームからアクセスが可能で、高速なWi-Fiネットワーク経由で利用できるので便利です。

アンドロイドでは、USBケーブルでUSBホストに接続すると、MTPやUSB大容量ストレージとして接続され、ファイルのアクセスが可能になります。しかしいちいちケーブルを接続するのは面倒だし、USBをもたない機器とは接続できません。

無線を使った転送には、いくつか方法があります。

  • Bluetooth
  • NFCによる転送
  • Google Driveなどのクラウド経由
  • メールの添付ファイル

USB以外の方法では、特定の通信方式(BluetoothやNFC)などが必要だったり、ネットワーク方式に影響を受けないけど転送に時間がかかる(クラウド経由や添付ファイル)といったデメリットがあります。急がないのであれば、たとえばGoogleドライブやSkydriveなどのストレージサービスに入れてしまえば、どこからでも簡単に取り出すことができます。取り出す側はWebブラウザでもいいので、相手を選ばないというメリットがあります。ですが、転送などに時間がかかるため、「いまキャプチャした画面をすぐにPCで加工したい」といった場合には、あまりいい選択肢とはいえません。

話を簡単にするために、アンドロイド機が持つファイルを他の機器から利用すると仮定して説明していくことにしましょう。このとき、アンドロイド側でFTPサーバーアプリを使うと、比較的広い範囲の機器をカバーできます。Webサーバーが動作して、リンク先の保存(ダウンロード)が可能ならなんとかなるからです。

FTP(File Transfer Protocol)は、インターネットでは歴史のあるプロトコルです。TCP/IPを使うことができるネットワークに接続していれば、比較的簡単に相手とファイル転送が可能です。一番のメリットは、一般にWebブラウザは、FTPクライアントとして動作できる点です。また、アンドロイド側はFTPサーバーアプリを起動させておけばよく、クライアント側で、サーバーから許されたフォルダ以下を自由に閲覧してファイルを捜すことも可能です。つまり、ファイルを持っている側では何も操作する必要がなく、ファイルを受け取ってなにか作業をしようとしている側から制御できるというのもメリットの1つです。

また、FTPサーバーへのアクセスは、URLとして表現できるので、ブックマークやリンクとして保存管理が可能です。このため、複雑なURLであっても、毎回手動で入力する必要はないし、ブラウザが持つ、パスワードマネージャなども利用可能です。

LinuxやUnix系のオペレーティングシステムを使い慣れていたり、Windows 95あたりからインターネット接続したといったユーザーの方は、FTPについてなじみがあるでしょうが、最近ではあまり使われることがなく、Webサイトの管理でもやってないと、FTPを使うことはほとんどないでしょう。ちなみに、Unix系では、コマンド(プログラム)はすべて小文字なので「ftp」なのですが、プロトコルを表すときには省略語なのですべて大文字で表記し「FTP」になります。

FTPサーバーを設定する

まずは、アンドロイド機にFTPサーバーアプリをインストールします。「ftp server」で検索するといろいろなアプリが出てきますが、FTP関連アプリには、サーバーとクライアントがあります。単に「ftp」の検索では両方でてきてしまうので注意してください。筆者は、いまのとろ「Ftp Server」というアプリを使っています。

FTPという同じプロトコルを使うので、他のアプリでも、基本的な設定は似たようなものになります。なので、このアプリの設定を説明しておきます。

アプリを起動した段階では、FTPサーバーはまだ稼働していません。画面中央にある赤い「電源」ボタンを押してはじめてFTPによるアクセスが可能になります(写真01)。なお、このアプリは、「サーバー」なので、ネットワーク側からファイルのアクセスを受け付けるだけで、他の機器で動作しているFTPサーバーにアクセスしてファイルを取得するには「FTPクライアント」アプリが別途必要です。

写真01: Ftp serverアプリの起動画面。中程にある赤い「電源ボタン」を押せばFTPサーバーが起動する。この状態では、FTPサーバーとしては停止しており、アクセスはできない

画面右上にスパナのアイコンがついた「SETTINGS」があるのでこれをタップします。設定ページは英語ですが、簡単な英語なのでそれほど難しくありません(写真02)。まずは、先頭の「Network interface」ですが、これは「WIFI」にしておきます(写真03)。これでWi-Fiがオフになれば、FTPサーバーにはアクセスできなくなります。

写真02: 起動画面右上のスパナアイコンから起動する。設定は英語になるが、さほど難しくない

写真03: Network interfaceは、「WIFI」を選択して他のネットワークインタフェース上では動作しないようにする

次のPortですが、デフォルトで2221が設定されています。これで問題はないのですが、他人からアクセスされるのが心配なら適当な番号に変更します。ただし、ここを変更したときには、URLのポート部分も変更する必要があります(意味がわからないときには変更しないほうが無難です)。

次に「Anonymous user」のところにあるチェックボックスをオフにします。これは、「無名ユーザー」(Anonymous user)によるアクセスを禁止するためです。間違ってFTPサーバーを動かしたまま外に持ち歩いて勝手にアクセスされるのを防ぐためにこれを禁止しておきます。

次に「User name」をタップして、アクセス用のユーザー名を指定します。適当な名前でかまいませんが、デフォルトの値では危険なので必ず変更します(写真04)。同じように「User password」で、アクセス用のパスワードも設定します。

写真04: ユーザー名を設定する。適当でいい

次に「Home directory」をタップして、FTPサーバーが公開するフォルダ(ディレクトリ)を指定します。ここは「SdCard」を選択しておくといいでしょう(写真05)。特に限定したい場合には、「Custom folder」を選択し、設定ページの下にある「Custom folder」でフォルダを指定します。

写真05: FTPサーバーとして公開する起点となるフォルダを指定。SdCardでよい

また、「Read Only」をタップして、チェックボックスをオンにします。これで、FTPサーバー経由でファイルの書き換えが不可能になります。用心のため、オンにしておいたほうがいいでしょう。ファイルをコピーではなく移動させたい(コピーして消去)場合には、この設定をオフにしておきます。

「Show hidden files」、「Show Server details」は、オンにしておきます。これは、「隠しファイルの表示」、「設定情報の表示」になります。なお、ここからは、Ftp Serverアプリ固有の設定になります。

「High priority services」と「Energy Save mode」は、使い方で違って来ます。FTPサーバーをオンにして、ファイル転送して作業終了といった使い方ならば、

High priority services OFF
Energy Save mode ON

とします。また、FTPサーバーを動作させるアンドロイド機を高い頻度で外出先に持ち出すような場合には、この設定にしておき、不要になったらFTPサーバーを手動でオフにしたほうがいいでしょう。

これに対して、アンドロイド機は自宅に置きっ放しで、何回もファイルへアクセスするといった場合には、

High priority services ON
Energy Save mode OFF

とするほうがいいでしょう。これで、一回FTPサーバーを起動すれば、ユーザーがオフにするまで動作しているはずです。もちろん再起動などしてしまうとオフになってしまいます。

アクセスしてみる

設定がすんだら、サーバーを起動してアクセスしてみることにしましょう。バックキーで設定ページを抜け、アプリ画面で、真ん中にある「電源ボタン」をタップします。「Show Server details」をオンにしていれば、設定したパラメーターが画面に表示されるはずです(写真06)。他の機器では、これを見て設定を行います。「電源ボタン」を再度押すとFTPサーバーは停止します。また、動作中は、通知領域にアイコンが表示され、通知シェード内の項目(写真07)をタップすることでアプリ画面に移動できます。

写真06: 設定終了後、FTPサーバーを起動すると、設定項目が画面上に表示される。他の機器はこれをみて設定する

写真07: FTPサーバーの動作中は、通知領域にアイコンが表示される。通知シェードからFtp serverをタップしてアプリを表示することができる

いま、アプリ画面に「ftp://xxx.yyy.zzz.ttt:2221」という表記が出ているはずです。他の機器からは、このURLを使ってブラウザなどからアクセスします。FTPクライアントアプリがある場合には、

IPアドレス xxx.yyy.zzz.ttt
ポート番号 2221

でアクセスを行います。アンドロイド同士の場合、ftpクライアントアプリを使うかChromeを使います。原則FTPクライアントアプリが利用可能ならそっちを使ったほうが確実です。

ブラウザで認証ダイアログが表示されたら、アプリ画面の「Username:」と「Password:」に表示されているユーザー名、パスワードを入力します(設定で指定したもの)(写真08)。なお、一部のブラウザでは、認証ダイアログが出ないことがあります。たとえば筆者の手元にあったiPad(iOS 6.1.3)は認証ダイアログが表示されず、アクセスができませんでした。このようなときには、以下のようなユーザー名とパスワードを入れたURLを指定します。

ftp://ユーザー名:パスワード@xxx.yyy.zzz.ttt:2221

「ユーザー名」、「パスワード」は設定したもの使います。また、間の区切りは半角「:」(コロン)で、アドレスとの区切りは半角の「@」です。

写真08: IEからアクセスしたところ。認証ダイアログボックスが表示されるので、Ftp serverアプリに設定したUser nameとPasswordを入力する

なお、この形式は一般にブラウザが受け付ける形式ですが、これを無視して認証ダイアログが出るブラウザもあります。また、多くのブラウザでは、この形式や認証ダイアログから入力したユーザー名、パスワードを記憶する機能があり、一回設定しておけば、アプリ画面に表示されているURLを入れれば認証ダイアログを省略することも可能です。

ブラウザでURLを開くとSDカードのフォルダがすべて見えるようになるはずです(写真09)。画面ショットの画像ファイルをアクセスするなら「Pictures/Screenshots/」を開きます。なお、Windowsでは、エクスプローラーのアドレスバーにURLを入れても開くことが可能です(写真10)。ファイルのコピーなどは、こっちを使うほうが簡単です。またコマンドプロンプトからftpコマンドが利用でき、こちらはワイルドカードを利用したファイルの取得も可能です。

写真09: IEによるFTPサーバーのアクセス。リンクをタップしてフォルダ内を移動できる。必要なファイルはブラウザの保存機能で取得する

写真10: Windowsのエクスプローラーは、FTPサーバーを直接開くことができる。ファイルをアクセスするなら、こっちのほうが簡単

この手のコマンドになれている方には言わずもがなですが、慣れてない方への使い方のヒントですが、FTPサーバーを使うとき、動作しているアンドロイド機へのIPアドレス割り当てを固定するといいでしょう。それには、DHCPサーバー側を設定します。一般的な家庭ならおそらく、ブロードバンドルーターがDHCPサーバーとして動作しているはずなので、アンドロイド機のMACアドレスを設定してIPアドレス割り当てを固定にします(方法についてはブロードバンドルーターの説明書を見てください)。

なお、アンドロイド機の無線LANのMACアドレスは、「設定」→「Wi-Fi」でメニューから「詳細設定」を選ぶか、「設定」→「端末情報/タブレット情報」→「端末の状態」にある「Wi-Fi MACアドレス」を見ます。

IPアドレスが固定できたら、ブックマークに登録してもいいし、自分が持っているアンドロイド機すべてのFTPサーバーアクセスのURLをリンクにしたHTMLページを作ってもいいでしょう。これを自宅内のWebサーバー(筆者宅には、ポータルサーバーがあります)に置けば、どのマシンからもアクセスが簡単になります。

関連リンク

連載バックナンバーはこちら