ファイルのアップロード

最終更新: 2017/9

概要

このチュートリアルではFlashAir IoT Hubのファイル機能について紹介します。

ファイル機能を使うと、例えばFlashAirを入れたカメラから撮った写真をFlashAir IoT Hubに自動的にアップロードし、ブラウザからその写真を見ることが出来ます。

  • 画像以外のファイルのアップロード・ダウンロード
  • ファイル削除
  • 一括ダウンロード

画面の操作方法

一覧表示

画面の「ファイル」を選択すると、FlashAirからアップロードしたファイルの一覧を表示します。

一覧にはファイル名とアップロード日の他に画像ファイルはサムネイルを、画像以外のファイルはアイコンを表示します。

画像のサムネイルをクリックすると プレビュー表示し、画像以外はそのファイルをダウンロードします。

FlashAir IoT Hubファイル画面1
FlashAir IoT Hubファイル画面2

FlashAir IoT Hubでは、アップロードしたファイルの保存期間が1週間となっており、アップロード日から1週間後に自動的に削除されます。
ご注意ください。

ファイルの削除直前になると以下の様に注意を示すアイコンが表示されますので、目安としてください。

画像保存期間 画像保存期間 警告1 画像保存期間 警告2

プレビュー表示

一覧のサムネイル画像をクリックすると、画像を拡大して表示します。


  1. ファイル名
    画像のファイル名を表示します。
  2. アップロード日
    画像をアップロードした日時を表示します。画像の撮影日時や更新日時ではありませんのでご注意ください。
  3. ダウンロードボタン
    クリックすると画像をダウンロードします。
  4. 拡大ボタン
    クリックすると画像の表示倍率を上げます。
  5. 縮小ボタン
    クリックすると画像の表示倍率を下げます。
  6. 閉じるボタン
    クリックすると画像のプレビュー表示を閉じ、一覧表示に戻ります。
  7. 前ボタン
    クリックすると画像一覧の前の画像を表示します。
  8. 次ボタン
    クリックすると画像一覧の次の画像を表示します。

ファイル削除

ファイルの右下にチェックを入れるとメニューが表示されます。そのメニューから「削除」をクリックすると、チェックしたファイルを削除出来ます。 ファイルの削除は取り消せませんので、ご注意ください。

ファイル削除メニュー
ファイル削除ダイアログ

一括ダウンロード

ファイルの右下にチェックを入れるとメニューが表示されます。そのメニューから「ダウンロード」をクリックすると、チェックしたファイルをダウンロード出来ます。 ファイルを複数選択した場合は、zipファイルに圧縮してダウンロードします。

ファイルダウンロードメニュー
ファイル圧縮中

画像のアップロード

実際にカメラで撮影した写真をFlashAir IoT Hubにアップロードする例を紹介します。

事前に ご利用の流れを参考にFlashAirからFlashAir IoT Hubに接続出来る様に準備してください。

CONFIGファイル変更

FlashAirのCONFIGファイルを編集します。 /SD_WLAN/CONFIGに以下の値を設定してください。

LUA_SD_EVENT=/upload_image.lua

画像をアップロードするLuaスクリプトをファイル書き込み時に実行するように指定しています。

※もし、画像のアップロードがされない場合、CONFIGファイルに LUA_RUN_SCRIPTがあればコメントアウトしてください。 LUA_RUN_SCRIPTLUA_SD_EVENTで指定したLuaスクリプトが同時に実行されると上手く動作しない場合があります。

FlashAirをカメラに挿入すると準備完了です。 これだけでカメラから写真を自動でアップロード出来ます!

写真をアップロード

実際にFlashAirを挿入したカメラで写真を撮って、FlashAir IoT Hubの「ファイル」を見てみましょう。
※撮影する際はFlashAirからアクセスポイントに接続可能な場所で行ってください。

画像読み込み中
画像アップロード完了

撮影した写真が自動でFlashAir IoT Hubにアップロード出来ました。

本チュートリアルでは、新しく撮影した写真だけアップロードしていますが、FlashAirに保存済みの写真を全てアップロードするなど、ご自身で工夫してスクリプトを変更してみてください。

画像以外のアップロード

次にカメラで撮った動画をFlashAir IoT Hubへアップロードする例を紹介します。

上記では 画像をアップロードしていましたが、写真以外にカメラから動画を送ってアップロードしたい事もあるかと思います。

その様な場合は次の方法でFlashAirからファイルをアップロードしてみましょう。

CONFIGファイル変更

FlashAirのCONFIGファイルを編集します。 /SD_WLAN/CONFIGに以下の値を設定してください。

LUA_SD_EVENT=/upload_file.lua

ファイルをアップロードするLuaスクリプトをファイル書き込み時に実行するように指定しています。

※もし、画像のアップロードがされない場合、CONFIGファイルに LUA_RUN_SCRIPTがあればコメントアウトしてください。 LUA_RUN_SCRIPTLUA_SD_EVENTで指定したLuaスクリプトが同時に実行されると上手く動作しない場合があります。

最後にFlashAirをカメラに挿入すると準備完了です。

動画をアップロード

FlashAirを挿入したカメラで動画を撮影し、FlashAir IoT Hubの「ファイル」を見てみましょう。
※撮影する際はFlashAirからアクセスポイントに接続可能な場所で行ってください。
※動画のアップロードには時間がかかる場合があります。

画像読み込み中
画像アップロード完了

動画がアップロード出来ました!アップロードしたファイルはダウンロードして再生してください。

アップロード対象フォルダー変更

上記の例では動画ファイルをアップロードする例を紹介しましたが、FlashAirに書き込まれたセンサーデータのファイルをそのままアップロードしたい事もあるかと思います。

upload_file.lua/DCIMフォルダー配下の最新ファイルをアップロードしますが、これを任意のフォルダーに変更したい場合は次の様に編集してください。

upload_file.lua

print("HTTP/1.1 200 Internal OK\n\n")
local last_fname = ""
local last_fpath = ""
local last_modif = 0
local last_moddir = 0
local last_dirname = "/DCIM"
local fpath = "/DCIM"
(snip)
  • 6-7行目
    変数 last_dirnamefpathの値をアップロードしたいファイルが書き込まれるフォルダーのパスに変更します。

これだけでFlashAirからセンサーデータを自動的に送ることが出来てしまいます。

FlashAir IoT Hubには他にもCSVファイルを送ってグラフに表示したり、 GPIOの値を送信するなど、 データを送る様々な方法を提供していますので、試してみてはいかがでしょうか?