週刊『My Robot』のBluetoothを繋げてみる計画(9)
前回の「週刊『My Robot』のBluetoothを繋げてみる計画(8)」で繋げた方法で、RZ1BasicまたはRZ1Terminalのターミナル機能を用いて、いくつかRBT-001の設定を行ってみました。なお、Binary Terminalを使う場合は、yonekenさんのページを参考にして見て下さい。
FT232RLのドライバーのインストール
もし、FT232RLを使っているのであれば、VCPのドライバとD2XXのドライバが必要になります。が、ver 2.04.06のCommentの所に「Combined driver model (D2XX and VCP). 」と書いてありますので、どちらかのページの、ver 2.04.06をダウンロードしておけば、大丈夫だったと思います。
ターミナル機能を起動と接続
RZ1Terminalは、起動すると、RZ1Basicの場合は、起動後、コントローラーメニューの中の「ターミナル」を選択すると、図の様なウインドウが表示されます。
マックの場合は、ポップアップメニューの中から「usbserial-A4004VPB」を選択し、ウインドウズの場合は、デバイスマネージャーでFT232RLのCOMポート番号を確認し、その番号を選択し、「接続」ボタンをクリックして下さい。
RBT-001用コマンドユーティリティの使い方
「RBT-001」のボタンをクリックすると、図の様なウインドウが表示されます。
上の図をクリックして、大きな図で以下を確認して見て下さい。
- 「リクエスト」ボタンをクリックすると、その左のフィールドに書かれたコードが送信されます。フィールドの数値は16進数として扱われます。スペースは無視されます。
- 「Opecode」:リクエスト内容
- 「Data length」:Packet Dataのフィールドに書かれた内容のバイト数が16進数で表示されます。その右のカッコ内の数値が実際に必要なサイズになります。カッコの下、および、Noteに書式がありますので参考にして下さい。
- チェックサムなどの値は、Packet Dataに入力された内容を元に、自動で計算されます。
- 受送信された内容は、右のリストボックスに表示されていきます。
- REQ: 送信したコマンド
- CFM: 受送信結果の確認/受信データ
- IND: 受信データ
- リストの内容をクリックすると、そのデータの解読結果が表示されます。
実際にやってみる
(図が小さいのでクリックして、図を大きくして確認して下さい)
「RBT-001」の名前を得る
- ローカルの名前を取得する「GAP_REAL_LOCAL_NAME」を選択します。
- カッコの中はゼロなので、パケットデータを空欄にして、「リクエスト」をクリックします。
- 右のリストに返ってきた結果をクリックします(Win版の戻りが悪かったです
上手くいかない場合は、何度かクリックしてみて下さい)。図のパケッドデータのところで、名前が「I-Droid01」であることが確認できます。
「RBT-001」の名前を変更してみる
- アスキーデータを16進数で入力しなくてはいけないので、ターミナルウインドウにある「2/10/16」というボタンをクリックして下さい。ここで、「ASCII」ボタンの欄に、変更する名前を入力し、「ASCII」ボタンをクリックして下さい。HEXの欄に、16進数が表示されます。
- コマンドユーティリティのウインドウに戻って、ポップアップメニューから、「GAP_WRITE_LOCAL_NAME」を選択し、図の様に、パケットデータの欄に、先ほどの16進数を書込みます。いちおう必要か必要でないか判らないけど、その後に00を書き加えておきます。
- すると、データレングスが0x000Cとなりました(名前の長さによって変わる)ので、図の様に、最初に0Cと書き加えます。これで、NameLength 1byte +DeviceName ?=0x0Cとなり、パケットデータ設定完了です。「リクエスト」ボタンをクリックして名前を変更してみて下さい。
- 変更されたかの確認は、先ほどの名前の取得をもう一度やってみればOKです。
Bluetoothのアドレスを取得する
- RBT-001のアドレスを確認してみると以下の様になっていました。
- まずローカルのアドレスを取得してみます。「GAP_READ_LOCAL_BDA」を選択します。「BDA」とは、Bluetooth Device Addressの略です。データレングスはゼロなので、パケットデータ欄を空欄にして、リクエストしてみると以下の結果になりました。
- ※BDAの値は、0017A00057B6の反対の並びになっています。
- 次に、その他、周りのBluetoothを探してみましょう!「GAP_INQUIRY」を選択します。
- データレングスは3になっています。とりあえず、図の様に入力して、「リクエスト」ボタンをクリックして見て下さい。
- もし周りにBluetoothデバイスがあるならば、以下のような感じでデータが返ってきます。INDが3つあります。3つのBluetoothがリモートとしてアクセス可能な状況で、その3つのアドレスを取得することができました。BDAの値の並びは逆並びなので、リクエストでBDAが必要な場合は、逆並びで入力する必要があるということになります。
ということで、今回はここまでにしておきます。
関係ないけど
leccaの新しい曲がiTunesにアップされたとOffcialページで見たので、iTunesストアを見てみました。「新作シングル」にleccaの曲はあったのですが、それより、青山テルマの「何度も」と、中村 中の「風立ちぬ」のジャケットが似てて。。。これって意図して作られたものなの?
週刊『My Robot』のBluetoothを繋げてみる計画(1) 、(8)、(9)、(10)
----------------
にほんブログ村
| 固定リンク
「RZ1Basic」カテゴリの記事
- RZ1Basic v0.6.2 公開(2012.12.02)
- USB-PS2コントローラでRZ1Basicのシミュレーションをしてみた(2011.08.01)
- RZ1Basic v0.6.1 公開(2011.08.01)
- RZ1Basic v0.6.0 公開(2010.07.24)
- RZ1Basic v0.5.9 公開(2009.12.08)
「無線(RBT-001)」カテゴリの記事
- 「RBT-001用シリアルレベルコンバータ」はまだ買わない方がいいかも(2)(2012.11.15)
- 「RBT-001用シリアルレベルコンバータ」はまだ買わない方がいいかも(2012.11.14)
- 手持ちのBTモジュールでロボゼロを動かしてみた(3) :回路編(2012.09.01)
- 手持ちのBTモジュールでロボゼロを動かしてみた(2):RBT-001編(2012.08.28)
- RBT-001を繋げてみる(20):bt_sample_XeroZak 0.1.0 公開(2011.08.30)
この記事へのコメントは終了しました。
コメント
こんにちわ、hid0479です。
RZ1Terminalを使って、RBT-001を設定中に、深く考えずに通信速度を921600bpsにしてしまいました。
元の通信速度(9600bps)にしようとしたら、RZ1Terminalは921600bpsに対応していないようで戻せなくなってしまいました。RZ1Terminalは921600bpsに対応させる事は出来ないでしょうか?
現状で、921600bpsでシリアルドングルには成功していて、ハイパーターミナルを用いて2台のPCで通信できる状態になっています。アスキーコードであれば送信可能なのですが、HEXの送信方法がわかりません。何か良い方法があったら相談に乗って頂けませんか?
投稿: hid0479 | 2008年8月 8日 (金) 12時11分
miconoです。
baudrateの変更私まだやったことがありません
確かに!RBT-001対応のBaudrateに、ターミナルの設定の方が対応してないですね
早急に対応させますが、
「RBT-001」のボタンをクリックして、
CHANGE_NVS_UART_SPEEDを選んで、
PacketDataに、03と書いてやると、リクエストボタンの左に、02 52 23 0100 76 03 03
となると思います。
これそバイナリーターミナルで送信すればOKなはずです。バイナリーターミナルは、0xを付けないとダメなのかな?
0x02 0x52 0x23 0x01 0x00 0x76 0x03 0x03
でどうでしょうか?
投稿: micono | 2008年8月 8日 (金) 12時31分
こんばんわ、hid0479です。
バイナリーターミナルだと115200bpsまでのようでした、残念です。
0x02 0x52 0x23 0x01 0x00 0x76 0x03 0x03 で9600bpsになるのは解るんですが、921600bpsでバイナリーを吐き出すことが出来ない状態です。RZ1Basicの対応を待つことにします。
お手数お掛けいたしますがよろしくお願いいたします。
投稿: hid0479 | 2008年8月 8日 (金) 22時33分
了解です。
できているですが、ブログ書いたり、ページ作ったり、インストーラー作ったり、実際ダウンロードできるまで、もう少し掛かります。
メール頂ければ、添付でお送りしますよ
投稿: micono | 2008年8月 8日 (金) 23時26分
miconoです。
たびたびすいません。
ハイパーターミナルとバイナリーターミナルと見間違えていました。
純正の、Simple Blue Commanderは数値を入力できるので、対応できるんじゃないでしょうかね?
http://www.tigal.com/product.asp?pid=1124
のsoftwareが、それです。
あと、RZ1Terminalは、設定できるようにはしましたが、試していないので、もしかすると、速いのは動かないかもしれません。
投稿: micono | 2008年8月 8日 (金) 23時55分