NetWalkerに擬似電波強度表示を追加

subaVu_uV2009-11-08

ごきげんよう


お外ではNetWalkerS11HTでDUNして繋いでいるので、地下鉄メインな通勤経路だと、駅間は当然全滅で、駅に停車している時は圏内の駅と圏外の駅があるわけです。駅間はしょうがないとしても、駅内はもうちょっと繋がるようになってほしいなぁ、、、イーモバよ。
どうやら、BluetoothのDUNの場合、1回繋がると圏外でもIPを保持したままで繋がってるつもりで動きつづけてて、何かのタイミングか、あるタイムアウト値でppp0が切れるような気配。midoriとかfirefoxは電波が届かないとやけにCPU食い始めて暴走するし。今そもそも電波があるのかないのかがわからないのです。S11HTはかばんの中にいれているので、わざわざかばんからだして電波何本かなーってのは非常に面倒くさい。そこで、以下のよーなスクリプトを書いてconkyに組み込みました。ただ適当なサイトにpingをうって何msかかったかを知るだけのスクリプトです。で、何msかを画面に出せばいいのだけどそれだと面白くないので、閾値をきめて、シンボルフォントで絵文字表示にしました。ほんとは携帯電話の電波本数の絵文字フォントを探していたのだけどircで面白いフォントをおしえてもらったのでそれを使ってみました。海外のconkyなページをみると、みなさんかっこいいフォントとかでかっこいいデスクトップを作っているので、conkyでは普通にやる方法なかんぢ。画像じゃなくてfontで表現って面白い。


ping応答が 100ms 〜 499ms の時です。ギャンや。時計の部分です。
http://www.misao.gr.jp/~subaru/PhotoStrage/091108_1.jpg


ネットに繋がっていないとき。大阪さんがぼーっとしています。時計の部分です。
http://www.misao.gr.jp/~subaru/PhotoStrage/091108_2.jpg


今のところ5秒間隔で動かしてます。しょせんpinggrepgawkだけなので負荷はぜんぜんかかりまへん。

自分用メモ(てへ。

閾値 文字列 表示
-99ms w(小文字) 空飛ぶちよちゃんとちよ父
100ms-499ms I(大文字) ギャンや。
500ms-999ms P(大文字) デンドロや。
1000ms- d(小文字) ゆかりちゃん
ネットに繋がってない時(pingが取れないとき) e(小文字) 大阪さん
ネットに繋がってない時(普通に繋がってない時) G(大文字) グフや。

フォントは dingbatdepot からもらいました。「Aduzings 1」というフォントです。
以下がconkyに組み込んだシェル。例のごとくボク開発者じゃないんでもっときれいに出来る方法があればおしえてくだちゃひ。

#!/bin/sh

LANG=C
HOST=www.yahoo.co.jp
CHECK1=99
CHECK2=499
CHECK3=999

RET=`ping -c 1 $HOST 2>/dev/null | grep icmp_seq | gawk '{print $8;}' | gawk -F = '{print $2;}'`

if [ $? ];then
#コマンドが成功
 if [ $RET ];then
  if [ $RET -le $CHECK1 ];then
   echo "w"
  elif [ $RET -le $CHECK2 ];then
   echo "I"
  elif [ $RET -le $CHECK3 ];then
   echo "P"
  else
   echo "d"
  fi
 else
  echo "e"
 fi
else
#ping失敗
 echo "G"
fi


よくみたら conect じゃなくて connect が正しいつづりだね・・・。だめだね。だめすぎ。てへ。