デジタルフォトフレームを簡易モニターとして使う

SONY製品+オートマウント


私はSONYのディジタルフォトフレームを何台か持っています。


いずれも内蔵メモリしか書き込みできません。
そこで、オートマウントを試してみました。
USBのオートマウントはこ ちらのページで詳しく紹介されています。

このページに書いてある通り、usbmountをインストールして、usbmount.confを編集します。
USB-SWをONにするだけで、以下の様にディジタルフォトフレームの内蔵メモリが/media/usb0にマウントされます。
赤字の箇所が実際にマウントを行っている部分です。
$ tail -f /var/log/messages
Dec 29 20:43:35 raspberrypi kernel: [  139.061211] usb 1-1.3: new full-speed USB device number 4 using dwc_otg
Dec 29 20:43:40 raspberrypi kernel: [  144.173008] usb 1-1.3: New USB device found, idVendor=054c, idProduct=0362
Dec 29 20:43:40 raspberrypi kernel: [  144.173044] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Dec 29 20:43:40 raspberrypi kernel: [  144.173060] usb 1-1.3: Product: DPF-D70
Dec 29 20:43:40 raspberrypi kernel: [  144.173074] usb 1-1.3: Manufacturer: Sony
Dec 29 20:43:40 raspberrypi kernel: [  144.173088] usb 1-1.3: SerialNumber: 300000032813
Dec 29 20:43:40 raspberrypi kernel: [  144.181493] usb-storage 1-1.3:1.0: USB Mass Storage device detected
Dec 29 20:43:40 raspberrypi kernel: [  144.187993] scsi0 : usb-storage 1-1.3:1.0
Dec 29 20:43:41 raspberrypi kernel: [  145.186471] scsi 0:0:0:0: Direct-Access     Sony     USB NAND Drive   1.00 PQ: 0 ANSI: 0
Dec 29 20:43:41 raspberrypi kernel: [  145.197165] sd 0:0:0:0: [sda] 477184 512-byte logical blocks: (244 MB/233 MiB)
Dec 29 20:43:41 raspberrypi kernel: [  145.200891] sd 0:0:0:0: [sda] Write Protect is off
Dec 29 20:43:41 raspberrypi kernel: [  145.254194] sd 0:0:0:0: Attached scsi generic sg0 type 0
Dec 29 20:43:41 raspberrypi kernel: [  145.261402]  sda: sda1
Dec 29 20:43:41 raspberrypi kernel: [  145.281452] sd 0:0:0:0: [sda] Attached SCSI removable disk
Dec 29 20:43:47 raspberrypi usbmount[2305]: /dev/sda does not contain a filesystem or disklabel
Dec 29 20:43:52 raspberrypi usbmount[2329]: executing command: mount -tvfat -osync,noexec,nodev,noatime,iocharset=euc-jp,codepage=932 /dev/sda1 /media/usb0
Dec 29 20:43:52 raspberrypi kernel: [  156.124585] FAT-fs (sda1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
Dec 29 20:43:52 raspberrypi usbmount[2329]: executing command: run-parts /etc/usbmount/mount.d

そこで、SONY製品の場合、マウントの処理は以下の様になります。
#!/bin/bash
#
#USB-SWのON
sudo sh -c "echo 14 > /sys/class/gpio/export"
sudo sh -c "echo out > /sys/class/gpio/gpio14/direction"
sudo sh -c "echo 1 > /sys/class/gpio/gpio14/value"

#マウントチェック
for i in `seq 1 30`
do
    Check=`df | grep -c /media/usb0`
    if test $Check -eq 1 ; then
        break;
    fi
    sleep 1
done

#内蔵メモリ内のImageファイルをすべて削除
files=`find /media/usb0 -name "*.jpg" -print`
if test -n "$files" ; then
    sudo rm /media/usb0/*.jpg
fi

#新しいImageファイルをコピー
#TmpFileは各自の環境に合わせて変更してください
TmpFile="/tmp/*.jpg"
sudo cp ${TmpFile} /media/usb0/
sync
sync
sync
sleep 5

#内蔵メモリのアンマウント
sudo umount -l /media/usb0/
 
#USB-SWのOFF
sudo sh -c "echo 0 > /sys/class/gpio/gpio14/value"
sudo sh -c "echo 14 > /sys/class/gpio/unexport"