2008年7月16日水曜日

LEGO MINDSTORM NXTを操作するiアプリを作りたい

目標はタイトルの通り。

言わずもがな、iアプリはJavaで作るわけだけども(正確にはiアプリ向けのプロファイルDoja)、JavaでNXTを動かすAPIは既に存在してる。
LeJOS, Java for Lego Mindstorms - http://lejos.sourceforge.net/

でも、これがDojaで、実機のFOMAで、動作するかはまったく分からない。そもそもiアプリ製作ツール付属のエミュレータってBluetooth機能を試すときはどうするんだ? その前に対応してるのか?

というわけで、まぁDoja標準のBluetoothの機能を使うなら確実だろうから、それを使うことになったときのためにまとめておく。

com.nttdocomo.device.Bluetooth
http://www.rcdtokyo.com/man/doja/api/com/nttdocomo/device/Bluetooth.html
端末のBluetooth 機能を表すクラスを定義します。このクラスでは、端末の Bluetooth 機能を呼び出して、 外部機器の検索、機器選択、機器登録、各種設定などを行います。 外部機器が選択されると、その外部機器に対応したRemoteDeviceクラスのオブジェクトを取得します。

com.nttdocomo.device.RemoteDevice
http://www.rcdtokyo.com/man/doja/api/com/nttdocomo/device/RemoteDevice.html
Bluetoothで端末と接続される外部機器を表すクラスを定義します。外部機器との接続は、 i アプリから接続要求(connect(int profile))を出すか、 もしくはその外部機器からの接続要求を受け付けること(accept(int profile))で行います。同じ Bluetooth アドレスを持つ有効なインスタンスが複数存在することはありません。

com.nttdocomo.device.BTStateListener
http://www.rcdtokyo.com/man/doja/api/com/nttdocomo/device/BTStateListener.html
Bluetoothの接続状態の変化に関するイベントのリスナを定義します。

com.nttdocomo.device.BTConnection
http://www.rcdtokyo.com/man/doja/api/com/nttdocomo/io/BTConnection.html
Bluetoothの接続を定義します。

com.nttdocomo.device.SPPConnection
http://www.rcdtokyo.com/man/doja/api/com/nttdocomo/io/SPPConnection.html
Serial Port Profile (SPP)で通信を行う場合の接続を定義します。 Serial Port Profile (SPP)を使ったデータの入出力のためのストリームを取得します。 端末がサスペンドし、レジュームした際、サスペンド前に取得済みのストリームを利用することができます。

そしてこの辺りを参考にすれば実装できるんじゃないかと思う。
http://bearmini.net/blog/View.aspx?bid=1&aid=133&cid=13


だが、最大の問題は俺がソフトバンクユーザなことだ。

0 件のコメント: