RICOH GR IIIで撮った写真をパソコンへ取り込むには次の3つの方法があります。
1. USB Type-Cケーブルで接続
2. SDカードから取り込み
3. スマホへ取り込んだ後にMacへ転送
この中で楽なのはUSB Type-Cケーブルで接続ですが、それでもちょっと手間です。Wi-Fi経由で取り込めればよいのですけれど、公式アプリの「Image-Sync」や「GR WORLD」はスマホ専用でMacでは使えません。そこで、Wi-Fi経由で直接Macに取り込むスクリプトを作ってみました。
画像を表示し選択して取り込みも考えましたが、シンプルに毎回手動起動で毎回全部取り込み(取り込み画像があればスキップ)としています。
ステップ1 – スクリプトファイルを作成
まず、スクリプトファイルを作成します。
下記の内容を任意の名前で保存します(たとえばgr3_inport.shなど)
#!/bin/bash
# GR3 Import - macOS標準curl + osascriptのみ使用(インストール不要)
CAMERA="http://192.168.0.1"
SAVE="$(pwd)/ph"
# JSONパース(macOS標準のosascript JavaScript)
json_parse() {
osascript -l JavaScript -e "
var data = JSON.parse(\`$1\`);
$2
" 2>/dev/null
}
echo "=== GR3 写真取り込み ==="
echo ""
# 接続確認
echo "カメラ接続確認中..."
props=$(curl -s --connect-timeout 5 "${CAMERA}/v1/props" 2>/dev/null)
if [ -z "$props" ]; then
echo "ERROR: カメラに接続できません"
echo " カメラのWi-Fi ON → Macから接続 を確認してください"
exit 1
fi
model=$(json_parse "$props" "data.model")
echo "接続OK: ${model}"
echo ""
# 写真一覧取得
echo "写真一覧取得中..."
photos=$(curl -s "${CAMERA}/v1/photos" 2>/dev/null)
if [ -z "$photos" ]; then
echo "ERROR: 写真一覧の取得に失敗"
exit 1
fi
# ファイル数取得
total=$(json_parse "$photos" "var t=0; data.dirs.forEach(function(d){t+=d.files.length}); t")
echo "全${total}ファイル"
echo ""
if [ "$total" = "0" ]; then
echo "写真がありません"
exit 0
fi
# ダウンロード
ok=0
skip=0
fail=0
# ディレクトリ数取得
dir_count=$(json_parse "$photos" "data.dirs.length")
for ((i=0; i<dir_count; i++)); do
dir_name=$(json_parse "$photos" "data.dirs[$i].name")
file_count=$(json_parse "$photos" "data.dirs[$i].files.length")
mkdir -p "${SAVE}/${dir_name}"
for ((j=0; j<file_count; j++)); do
fname=$(json_parse "$photos" "data.dirs[$i].files[$j]")
dest="${SAVE}/${dir_name}/${fname}"
# 既存スキップ
if [ -f "$dest" ]; then
echo "SKIP: ${fname}"
((skip++))
continue
fi
# ダウンロード
curl -s -o "$dest" "${CAMERA}/v1/photos/${dir_name}/${fname}"
if [ -f "$dest" ]; then
echo "OK: ${fname}"
((ok++))
else
echo "FAIL: ${fname}"
((fail++))
fi
done
done
echo ""
echo "=== 完了 ==="
echo "保存先: ${SAVE}"
echo "DL: ${ok} / スキップ: ${skip} / 失敗: ${fail}"
echo ""
# カメラ電源OFF
curl -s -X POST -H "Content-Type: application/json" -d '{}' "${CAMERA}/v1/device/finish" >/dev/null 2>&1
echo "カメラの電源をオフにしました"
ステップ2 – GRIIIにWi-Fiで接続
GRIIIでWi-FiをOnにし、MacからGRIIIのWi-Fiに接続します。

ステップ3 – スクリプトを実行
GRIIIに接続している状態でスクリプトを実行します。
./gr3_inport.sh
すると、実行したフォルダ内に「ph」フォルダが作成され、さらにその下に「100RICOH」フォルダなどで保存されます。

Wi-FiをOn→接続→スクリプト実行、と慣れれば、即座に実行できます。
ちなみにRICOH GR IVはコマンドが変わっていたりするらしいので、このスクリプトは使えないはず。

