PF-50WG wgetによる自動更新


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するように。

カテゴリー: PF-50WG タグ: , , パーマリンク