記事
【Java Ring】03. 検索に頼ろう
Web 検索は時に有効です。そうでなくとも,とりあえず調べてみると,何か分かるかもしれません。
前回の記事では,Java Ring を 1-Wire デバイスとして認識するところまで確認しました。
ただ,OneWireViewer から見えた情報はデバイス・アドレスとデバイス種別くらいで,ここからどうやって中身に触ればよいのかは分かりませんでした。
とりあえず手詰まり#
マクニカの記事に載っている OneWireViewer のスクリーン・ショットには,モニタやコンソールなどのデバッグに使えそうな項目が写っていました。 一方で,手元の OneWireViewer にはそれらしい表示がありません。
つまり,Java Ring が 1-Wire バス上にいることは分かったものの,それ以上の通信方法が見えていない状態です。
うーん,何故でしょう。 Java Ring は実は OneWire で通信するデバイスではないかもしれません。 とりあえず,手詰まりです。
何を探すべきか#
手元のツールを眺めていても前に進まないので,一旦検索する対象を絞ることにしました。
Java Ring の当初の用途は,JavaOne の参加者情報やコーヒーの嗜好を記録し,イベント会場で利用することだったようです。 であれば,まずは参加者情報を Java Ring に書き込むための何か,が Web に(できればソース・コードごと)転がっているやもしれません。
Internet Watch の当時の記事には,「Java Developer Conference 98 Tokyo」で使われたらしい入力画面が写っています。 ここにある文言を検索の手がかりにします。

Personalize your JavaTM Ring by entering the information below.
こういう古い資料は,単語をばらして検索すると関係ないページに埋もれがちです。 そこで,この文をそのまま引用符で囲んで厳格検索してみます。
BusinessCard.java#
検索していると,それらしい Java Card アプレットのソース・コードに行き着きました。

見つけたのは BusinessCard.java というファイルです。
コメントには「personal information storage and retrieval」とあり,さらにコーヒーの嗜好に関する記述もあります。
Java Ring の用途として知られている内容とかなり一致しています。
同じリポジトリ内を眺めると,iButton や OneWire という語も出てきます。
これが Java Ring そのものの実装か,少なくとも極めて近いサンプルである可能性は高そうです。
これは大きな前進です。 さっそくローカルに落として動かしてみます。
動かない#
……動きませんでした。

ZIP 内の iButton53.jar からワークスペースを読み込むところで失敗しています。うーん。
どうも,アーカイブ内のいくつかのファイルが壊れているようです。というのも,恐らく SVN から Git に持ってくる過程で, 改行コードの一括変換が行われてしまったのではないかと思われます(その証拠に,あらゆるバイナリから CRLF が大量に出現しています)。
やっと有力そうな手掛かりを見つけたと思ったのですが,このままでは使えません。
いったん整理#
ここまでで分かったことを整理します。
- Java Ring は,Java-powered iButton と呼ばれる種類のデバイスらしい。
- iButton は 1-Wire プロトコル上で通信する。
- Java Ring の用途に近い
BusinessCard.javaという Java Card アプレットが存在する。 - ただし,見つけた当時物の開発環境やアーカイブは破損しており,そのままでは動かせない。
iB-IDE なるものを発見#
さらに調べていくと,iB-IDE という iButton 向け統合開発環境があることが分かりました。 しかし,入手リンクは FTP で示されており,Web Archive ではクロールできなかったようです。
調べていくと,https://bbs.kanxue.com/thread-19243-6.htmという 中国の掲示板に,iB-IDE に関する情報がありました。
どうやら,http://www.ee.usyd.edu.au/~mattb/2003/project/ibutton という URL に iB-IDE がアップロードされていた痕跡があるようです。
現在はリンク切れしていますが,プロトコルが HTTP なので,もしかすると Web Archive に残っているかもしれません。

なんと!有るではありませんか。 では,こちらをダウン・ロードして,次回検証することといたしましょう!
まとめ#
いかがでしたか?
検索をしまくったところ,Java Ring の用途に近い Java Card アプレットのソース・コードを見つけることができました。 さらに,iB-IDE という iButton 向け統合開発環境の痕跡も見つかりました。
次回は,この iB-IDE を入手して,よしなに検証してみたいと思います。
ではでは。