PF-50WGの内蔵メモリに、定期的にダウンロードして内容を自動更新するようにする。
httpでアクセスできるWWWサーバスペースを用意し、そこに画像を置けば、自動でのPF-50WGの画像を、そのページに同期させる。
ダウンロードにはwget を使用。
クロスコンパイルしたwgetを、httpでアクセスできる所に置いておく。
$ mkdir public_html/PF-50WG $ cp -p wget-1.12/src/wget public_html/
以下の作業はPF-50WGにtelnetした状態で行っている。
# cd /mnt/LStorage/skannd # wget <ホストのIPアドレス>/~pf50wg/wget Connecting to <ホストのIPアドレス> (<ホストのIPアドレス>:80) wget 100% |*******************************| 1841k 00:00:00 ETA # ls -l wget -rwxr-xr-x 1 root root 1885812 Sep 19 12:12 wget # vi hourly # vi wget-update
hourly の内容
#! /bin/sh
if [ -x /mnt/LStorage/sknand/radiko-abc ]; then
/mnt/LStorage/sknand/radiko-abc
fi
if [ -x /mnt/LStorage/sknand/wget-update ]; then
/mnt/LStorage/sknand/wget-update
fi
wget-update の内容
#! /bin/sh
if [ -x /mnt/LStorage/sknand/wget ]; then
if [ ! -d /mnt/LStorage/sknand/downdir ] ; then
mkdir /mnt/LStorage/sknand/downdir
fi
cd /mnt/LStorage/sknand/downdir
../wget -nd -np -nc -r http://…(ダウンロードする画像を置いているURL)
rm robots.txt
if [ -f index.html ]; then
rm index.html
if grep -q 'Downloaded: 2 files' wget.log; then
echo not changed
else
echo changed
killall ui
fi
else
echo get failed
fi
rm wget.log
fi
FATでマウントされていて実行属性は付きっぱなしなので、chmod +x の必要はない。
改造ファームウェアでは、
1時間おきに/mnt/LStorage/sknand/hourly が起動されるようにしている。
このバックグランド処理でファイルを更新しても、そのままではスライドショーの内容は更新されない。
PF-50WGの画像表示は プログラム /sbin/ui が行っている。killすると自動で再起動されるので、画像の更新があった時はkillするように。