TINI-AMEDESのアプリケーションである
irc.tiniをMS-Windows上で再作成する方法です。

irc.tiniは各種気象データを収集し、IRCクライアントとしてまたWEBサーバーとし
て情報を提供すると共に「雨メール」の発行なども行っているAMEDESの心臓部と
言っていいでしょう。


1.材料集め

まずは材料を集めないことには話になりません。以下のものを取って来ましょう。

  1. JDK
  2. JavaCommAPI
  3. AMEDESのソース
  4. TINIのファームウェア
  5. OneWireAPI
JDKは言わずと知れたJavaの開発環境です。このドキュメントを書いている時点で
は1.3.1というバージョンが最新版のようで、 ここから入手できます。
JavaCommAPIは通信関係のAPIで ここから入手できます。
AMEDESのソースはここのAMEDES-project sourceか
ら辿ることができます。
TINIのファームウェアを入手する時には、バージョンに注意してください。
AMEDESは1.0.2というバージョンをベースに作られているので、このバージョン
を入手します。これです。
OneWireAPIはここ
に書かれているように ftp.dalsemi.com/pub/auto_id/public/に置かれています。
今回はここのowapi0_01.tgzを使いました。

2.解凍しましょう

まずはJDKをインストールします。取ってきたファイルを実行すればいいだけです。
次に集めた材料を解凍するわけですが、解凍先や解凍するツールは何でもかまいませ
ん。私はWinZIPを使って以下のように解凍しました。
  1. AMEDESソース → c:\amedes
  2. TINIのファームウェア → c:\tini1.02
  3. OneWireAPI → c:\owapi
ちなみにJDKはc:\jdk1.3.1というディレクトリにインストールしました。
JavaCommAPIはc:\jdk1.3.1\libに展開しました。


3.Builしよう

さて、いよいよBuilするわけですが、その前に少しだけ準備が必要です。
irc.tiniを作成するために必要なソースコードはc:\amedesにほぼ揃ってい
るのですが、ただ1つAMEDES2433.javaというファイルがありません。
AMEDES2433.javaはc:\amedes\autosetupディレクトリにありますので、
ここからc:\amedesにコピーしておきましょう。
また、これは好みの問題ですが私は、c:\owapi\lib\OneWierAPI.jarをc:\tini1.02\bin
にコピーしました。
次にAMEDES-20010213というAMEDESのソースコードを使用する場合は
SimpleHTTPServer.javaの始めの方に
//import com.dalsemi.tininet.http.*;
という行があると思います。この行の先頭の「//」を削除します。
irc.tiniを自分なりに改造したい時は、ここでソースファイルを変更しまし
ょう。
これで準備はOK、といきたいところですが1つ1つコンパイルしていたの
では面倒くさいので、バッチファイルを作って一気にコンパイルするよう
にします。例えば下のようなバッチファイルを作成します。

@echo off
set PATH=%PATH%;c:\jdk1.3.1\bin
set TINIBIN=c:\tini1.02\bin
set SRCDIR=c:\amedes
set CLASSPATH=c:\jdk1.3.1\lib\dt.jar;c:\jdk1.3.1\lib\tools.jar;
set CLASSPATH=%CLASSPATH%c:\jdk1.3.1\lib\commapi\comm.jar;
set CLASSPATH=%CLASSPATH%c:\jdk1.3.1\jre\lib\rt.jar;
set CLASSPATH=%CLASSPATH%c:\jdk1.3.1\jre\lib\i18n.jar;
set CLASSPATH=%CLASSPATH%c:\jdk1.3.1\jre\lib\ext\iiimp.jar;
set CLASSPATH=%CLASSPATH%%TINIBIN%\OneWireAPI.jar

javac -bootclasspath %TINIBIN%\tiniclasses.jar -d %SRCDIR%\bin %SRCDIR%\*.java

java -classpath %TINIBIN%\tini.jar;%CLASSPATH% BuildDependency 
-x %TINIBIN%\owapi_dep.txt -p %TINIBIN%\onewireapi.jar -f %SRCDIR%\bin 
-o %SRCDIR%\irc.tini-new -d %TINIBIN%\tini.db 
-add OneWireContainer10;OneWireContainer1D;OneWireContainer12;
OneWireContainer20;OneWireContainer23
BuilDependencyを実行している部分は、複数行に分かれて書かれています
が、実際には1行です。
このBuildDependencyとはTINI-1.02から新たに導入されたシステムで、必要
なclassファイルを指定したjarファイルから自動的に抽出して、リンクして
くれるというとても便利な機能です。
このバッチファイルを実行すると、c:\amedesにirc.tini-newが作成される
ので、これをirc.tiniという名前でTINI-AMEDESに転送してTINI-AMEDESを
再起動(電源OFF-ONが一番簡単かな)すれば新しいirc.tiniが動き出すはず
です。