【FlashAir】Pythonを使って、デジカメの写真をMacに保存してみる

デジカメの写真をMacに保存する方法を考えてみると、

【1】SDカードをデジカメから外して、Macに保存する
【2】デジカメのwifi機能を使ってアップロードする
【3】SDカード(Eye-fi)でアップロードする
【4】Mac側からデジカメに入っているSDカード(FlashAir)からダウンロードしてする

これらの方法がありました。

【1】の方法は、毎回SDカード外したり入れたりしないといけないので、面倒くさい。
【2】の方法は、機種によって設定しないといけないし、設定が面倒くさい。
【3】の方法は、どれをアップロードしたかわからなくなるので、使うのをやめました。

そこで、【4】のFlashAir の方法を使ってみることにしました。

Flash Air はWebサーバーを立ち上げるのを利用して、

WifiFlash Air に接続、その後、Python でアクセスします。

# coding:utf-8
import urllib.request
SAVE_DIR = "~/Desktop/output/"
res = urllib.request.urlopen('http://flashair/command.cgi?op=100&DIR=/DCIM')
txt1 = res.read().decode('utf-8')
# print(txt1)
# WLANSD_FILELIST
# /DCIM,101CASIO,0,16,19731,1283
# /DCIM,101NIKON,0,16,9761,1 (←今回はNIKONを使用)
res = urllib.request.urlopen('http://flashair/command.cgi?op=100&DIR=/DCIM/101NIKON')
txt2 = res.read().decode('utf-8')
# print(txt2)
# WLANSD_FILELIST
# /DCIM/101NIKON,DSCN0005.JPG,6486186,32,19739,40395
# /DCIM/101NIKON,DSCN0006.JPG,6527646,32,19739,40398
# /DCIM/101NIKON,DSCN0007.JPG,6605788,32,19739,40405
# ...
list1 = txt2.split("\r\n")
for line1 in list1:
list2 = line1.split(",")
if len(list2) > 1:
file1 = list2[1]
url = 'http://flashair/DCIM/101NIKON/' + file1
print(url)
# http://flashair/DCIM/101NIKON/DSCN0005.JPG
# http://flashair/DCIM/101NIKON/DSCN0006.JPG
# http://flashair/DCIM/101NIKON/DSCN0007.JPG
# ...
res = urllib.request.urlopen(url)
img = res.read()
open(SAVE_DIR + file1,'wb').write(img)
print('fninish!')

この方法で、画像データを一括でMacに保存できたので、あとはデジカメのSDカード(FlashAir)のデータを全部削除することができます。

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA