f8g

BU-353のデータをJavaScriptで受信

っていっても、Rubyを介してやってますが。
Ruby側。ActiveScriptRubyで。

require "wincom"

def open
	s = Serial.new
	s.open(7, 11, 4800, 8, 0, 0, 1, 100)
	return s
end

def get(s)
	s.receive
end

def close(s)
	s.close()
end

こんなのを一々書くの面倒ですね。ASRにはもっと楽な方法あるのかもしれない。
JavaScript (WSH)。

var rubyFile = "../lib/ruby/commet_gps.rb";

// ScriptControl
var sc = WScript.CreateObject("ScriptControl");
sc.Language = "RubyScript";
sc.AddCode( readData(rubyFile) );
var ruby = sc.CodeObject;

WScript.Echo(readData(rubyFile));

var gps = ruby.open();
while(true){
	WScript.Echo( ruby.get(gps) );
	WScript.Sleep(1000);
}

// functions
function readData(path){
	var fso;
	try{      fso = WScript.CreateObject("Scripting.FileSystemObject"); }
	catch(e){ fso = new ActiveXObject("Scripting.FileSystemObject"); }
	var ForReading = 1;
	var ts = fso.OpenTextFile(path, ForReading);
	var s  = ts.ReadAll();
	ts.Close();
	return s;
}

やったー動いたー!(完)