うだうだ日記 2002年 9月 4日
今日も良い天気。空が青い。
▲
朝から tcl/tkの imageコマンドを試す。
Tcl/tkは楽しい。
jpegファイルを見るには
img
をつかえばいいのかな?
Tk-8.3に対応しているか、ちょっと心配。
自分で作ってもいいんだけどね。
帰宅後 imgをインストール。
ちゃんと tk-8.3にも対応していて、スムーズにインストールできた。
あと tcllibなどもインストールし、
trevaの画像をhttp経由で更新するプログラムの tcl/tk版完成。
わずか19行。 tcl/tkはいいねぇ。
画像監視プログラム:
watch.tcl
|
package require Img
package require http 2.4
package require base64
image create photo img1
label .img -image img1 -bd 2
button .exit -text exit -command exit
pack .img .exit -fill x
set t 0
proc reload {} {
global t
set token [::http::geturl http://192.168.0.206/cgi-bin/trejpg.cgi]
set data [base64::encode [::http::data $token]]
::http::cleanup $token
img1 put $data -format jpeg
.exit configure -text [expr $t?{exit -*-}:{exit -w-}]
set t [expr !$t]
after 100 reload
}
reload
|
動作中の画面。
RedHat7.2 on vmwareのfvwm2上で、
NoTitleとNoHandleを指定している。
この画面が更新しつづけられるわけだが、
実際の動きと比べると1秒ぐらい遅れている。
これは、cgiプログラムが呼び出されてから trevaの画像を
読み込んでいるので仕方ない。
現状では画像読み込みにCPUパワーを消費するので、
常時読み込みを行う気にはならない。
将来的には、FPGA等で 常時読み込めるようにしたい。
しかし、tcl/tkでこれだけ簡単に 画像やhttpを扱えると、
いろいろ応用が効きそうだ。
|