Flashair を使って、デジカメデータを自動的にサーバにアップロードする
Flashair
Flashair は、東芝から発売されているWifi付きSDカードです。
https://jp.toshiba-memory.com/endproduct/flashair/sduwa/index_j.htm
主にデジタルカメラなんかで利用します。
最近のデジタルカメラは本体にWIFI機能がついていることが多くなりましたが、昔はそうではなかったのです。
撮影した写真をスマホで見ようとするときには、このFlashair を使っていると便利でした。
Flashair では実は Lua というプログラム言語が動いているらしく、これを利用することで色々な自動化が可能になります。
Flashair developers というサイトが参考になりました。
FTP server の準備
Flashair から Samba にアクセスする方法がわからなかったので、チュートリアルにあるFTPを使ったファイルアップロードを行います。
前回構築したデータサーバをFTPサーバにします。
sudo apt install vsftpd
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
vsftpd のインストール後、ユーザーを追加します。
sudo useradd -m flashair
sudo password [password]
念の為 ufw にルールを追加しときます
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
デフォルトではファイル書き込みができないようなので、設定ファイルで可能にします。
sudo nano /etc/vsftpd.conf
設定ファイルのうち
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
# write_enable=YES
の
write_enable=YES
のコメントアウトを外します。
また、アップロードディレクトリも変更しておきます。
local_root=/mnt/disk1/Pictures/
sudo systemctl restart vsftpd.service
他のPCからFTP接続してみて、接続できれば完成です。
lftp [user]@[ip]
put [file_to_path]
セキュリティはあまりきちんとしていませんが、ローカルネットワークの外からは接続できないのでまぁよいでしょう。
Flash air の設定
まずは このサイト にたどり着きました。
ここで紹介されている リポジトリ をダウンロードしてきて Flashair に焼き付けます。
具体的には、上記リポジトリのうち
SD_WLAN/CONFIG
に wifi 設定を上書きします。
[Vendor]
CIPATH=/DCIM/100__TSB/FA000001.JPG
APPNAME=flashair
APPMODE=5
APPSSID=[SSID]
APPNETWORKKEY=[password]
VERSION=FA9CAW3AW3.00.01
CID=02544d535731364740dd3ae47900fa01
PRODUCT=FlashAir
VENDOR=TOSHIBA
MASTERCODE=bc6e6487577d
LOCK=1
UPLOAD=1
STA_RETRY_CT=0
LUA_SD_EVENT=/ftpupload.lua
[SSID] と [password] を更新します。
また、
Settings.lua
にFTPサーバの内容を書き込みます。
-- FTP Settings --
logfile = "/FTPLog.txt" -- Where to log output on the FA
folder = "/DCIM" -- What folder to upload files from
server = "192.168.11.2" -- The FTP server's IP
serverDir = "flashair" -- The path on the FTP server to use.
user = "flashair" -- FTP username
passwd = "[password]" -- FTP password
delete_after_upload = false
上記で編集したSD_WLAN/CONFIG
とSettings.lua
、ftpupload.lua
をSDカード内にコピーします。
そのあと、SDカード内に uploaded
フォルダを作成します。
SDカードを抜き差ししながら、FTPサーバの中身を確認してみて、無事ファイルの中身がアップロードされていれば完成です。