Verilog、SystemVerilog、SystemCなど、ハードウェア記述言語についてのブログです。
use Socket;
use HTML::TokeParser; # TDS3064Bからの応答を解析するのに必要
# ソケットの作成
my $hostname = '192.168.0.4'; # TDS3064BのIPアドレス
my $port = getservbyname('http', 'tcp');
my $iaddr = inet_aton($hostname)
or die("Cannot convert hostname to IP address.");
my $sock_addr = pack_sockaddr_in($port, $iaddr);
socket(SOCKET, PF_INET, SOCK_STREAM, 0) or die("Cannot creat socket.");
connect(SOCKET, $sock_addr) or die("Cannot connect to $hostname.");
select(SOCKET); $| = 1; select (STDOUT);
# コマンドの作成
# $commandは、測定のソースをチャネル0に設定するコマンド
my $command = "measurement:immed:source ch0";
my $cmd = "COMMAND=$commandrn";
$cmd .= "gpibsend=Sendrnname=rn";
# TDS3064B内のCGIを使う
print SOCKET "POST /Comm.html HTTP/1.1rn";
print SOCKET "Host: $hostnamern";
print SOCKET "Referer: http://$hostname/Comm.htmlrn";
print SOCKET "Content-Type: text/plainrn";
print SOCKET "Content-Length: ", length($cmd), "rn";
print SOCKET "rn";
print SOCKET $cmd;
print SOCKET "rn";
# TDS3064Bからの応答を$respに連結していく
my $resp;
while () {
next unless /^/;
$resp .= $_;
}
close (SOCKET);
# ほしい情報は、TDS3064Bからの応答のtextareaタグに入っている。
# HTML::TokeParserでその内容だけ抜き出す。
my $p = HTML::TokeParser->new($resp) or die("HTML::TokeParser failed.");
my $tag = $p->get_tag('textarea');
# 応答は、$p->get_text()として見ることができる
カレンダー
カテゴリー
フリーエリア
最新CM
最新記事
最新TB
プロフィール
ブログ内検索
カウンター
アクセス解析