SewiGの日記
2005-07-08 [金]
■ [Programming] ICカード/ICタグ リーダ・ライタ (3)
さて、Welcat e-frontのICカード/ICタグ リーダ・ライタEFG-400をJavaで制御しよう企画の続きですが、今度はTCP/IP通信でタグを読み取ろうと思います。
Javaにはjava.net.Socketが用意されていて、getOutputStreamメソッド, getInputStreamメソッドによって、java.io.InputStream, java.io.OutputStreamを取得できるので、TCP/IPの低レベル処理を気にせずにコーディングが可能になります。以下のようにして入力・出力を得ます。
Socket socket; OutputStream out; InputStream in; socket = new Socket("192.168.254.250", 10001); out = socket.getOutputStream(); in = socket.getInputStream();
2005/07/01の日記と似ています。なんと、この入出力の取得方法が異なるだけで、他の部分のコードをまったく変更する必要がありません。これはアプリケーション層のプロトコルは同じだからです。なので、あとはコンストラクタあたりでどっちの通信方式を使用するか指定できるようにして、メソッドを呼び出せばEFG-400へのリクエストおよびにレスポンスをやり取りできるようなクラスを作れば完成です。
EFG-400をお持ちの方は純正のActiveXコントロールを使用されているんですかね? Visual Basicはできるだけ使いたくなかったので、JNIを使用してC++のプログラムを経由してJavaで制御しようと思っていたのですがVisual Studio .NET 2003のVisual C++で純正のActiveXコントロールをインポートしたら、プロパティが消えてて役に立たなかったので断念して、結局、RS-232C、TCP/IP経由で制御してしまいました。
2007-07-08 [日]
■ [Quartz] Quartz ComposerとCore Image Fun House
AppleのCMで、iMovieでプロ並の映像を作ろうとかGarageBandでカンタンに作曲しようとかいう内容のCMがよく放映されています。ツボを押さえた付属ソフトでなんでもできるよ、という漢字Talkより昔から使われてるすばらしい戦略です。
だったら、なぜQuartz ComposerとCore Image Fun Houseを標準インストールにしないのだ!? 開発ツールという位置づけにしておくのはもったいない。
この2つはMacOS X 10.4 Tigerの開発ツールに標準で付属するもので別途インストールが必要ですが、カッコイイ画像が作れたり、カッコイイ動画が作れたりします。