UMEHOSHI ITA TOP PAGE    COMPUTER SHIEN LAB

以下で示す部品の追加は、一つの例です。必ずこうしなくてはならないという訳ではございません。
また、[UMEHOSHI ITA]へ何を追加して、どう使うかは自由です。
最終的な安全性や信頼性は、ご利用者の責任で追加部品などを選定し、ご利用者の判断でお使いくいださい。

[UMEHOSHI ITA]のUART を介して、Bluetoothで制御する部品追加例

ここで、紹介したRN-42(Bluetoothモジュール)の制御例は、こちらで紹介しています。

CN11とCN12へ 2mmピッチ10ピンを取り付けして、「AE-RN-42-XB Bluetooth2mmピッチ変換モジュール」を で差し込んで利用する内容です。

回路の説明


上記で示したCN11とCN12は 2mmピッチ10ピンで、マイクロコントローラ (PIC32MX270F256B-50I/SP) のURAT(Universal Asynchronous Receiver/Transmitter)用端子と繋がっています。


この端子に次の「RN42-XVP-I/RMを取り付けて、 Bluetoothの通信(非同期式送受信)ができるようにします。

上記「AE-RN-42-XB [M-08690]は、秋月電子通商様より購入したものです。
下記「2mmピッチピンヘッダ 1×10[PH2-1x10SG(4.0/2.8)][C-08978]」で、直接半田付けしても良いのですが、
これに接続する「ピンソケット(メス・2mmピッチ)1×10[FH2-1x10SBG(G)][C-08978]」を、上記は取り付けています。


上記「2mmピッチピンヘッダ 1×10[PH2-1x10SG(4.0/2.8)]を2個取り付ける

(下の赤マークが取り付け位置です)



右上の「2mmピッチピンヘッダ1×10の2か所」に、RN42-XVP-I/RMを取り付け

次のように取り付けます。

上記の接続で、RN42-I/RMの端子がCN11とCN12に繋がります。
そして、RN42-I/RMで一部の端子がmicrochip社の(PIC32MX270F256B-50I/SP)に繋がっています。
この繋がりの関係を以下に表で示します。
CN12RN42端子名PIC32MX端子No:名- CN11RN42端子名PIC32MX端子No:名
CN12-1VDD_3V313: VDD CN11-10AIO1
CN12-2TXD 出力12: RX (RA4) 入力 CN11-9AIO0
CN12-3RXD 入力11: TX (RB4) 出力 CN11-8GPIO7
CN12-4GPIO7 CN11-7GPIO3
CN12-5RESET_N未接続 CN11-6CTS 入力18: RTS (RB9) 出力
CN12-6GPIO6 CN11-5GPIO5
CN12-7GPIO9 CN11-4Not Used
CN12-8GPIO4 CN11-3GPIO2
CN12-9GPIO11 CN11-2RTS 出力17: CTS (RB8) 入力
CN12-10GND19: Vss CN11-1GPIO8

bluetoothモジュール(RN42-I/RM)は 上記の の箇所で PIC32MX270F256B-50I/SPに繋がっています。
逆に、それ以外の端子は使われていません。 適当に、線を引き出して自由に使って構いません。

さて、 の繋がって箇所 を利用して、bluetoothモジュール(RN42-I/RM)とUARTを 使ったプログラミングを作ることができます。
以下では、その前に接続したbluetoothモジュール(RN42-I/RM)の動作確認を行います。

接続したbluetoothモジュール(RN42-I/RM)の動作確認

上記で接続したように、bluetoothモジュールのシリアル入力が、 PIC32MX270F256B-50I/SPの URAT1 に繋がっています。
そして、テスト用プログラム(「テスト・ウメ・フラッシュ」)には 「Throughモード」と呼ぶ状態があり、そのモードで簡単に動作が確認できます。

「Throughモード」では、USB経由で「UMEHOSHI ITA」へ送ったデータが、そのままURAT1 へ送られるようになります。
また逆ににURAT1から受信したデータは「UMEHOSHI ITA」を介してUSBより受信できるようになります。
この「Throughモード」へは"T\r\n"の受信により移行します。 このモードはリセットするまで持続します。
この実験は、 PC側で「Tera Term」というターミナルエミュレータを別途にインストールして確認するのが簡単です。

まず次のイメージで、PCと接続して、「Tera Term」を起動します。
(USBはPCと接続) 

PC側で起動した「Tera Term」 以下のように接続した時に出現するUSBのCOMポートをの設定をします。(この例ではCM3を選んでいます。)
この操作は、「Setup」メニューの「Serial Port」メニューで行います。


同様に「Setup」メニューの「Tertminal」メニューで、改行(New-line)でReceive:とTranmit:を「CR+LF]にします。


FileメニューのNew Connection より、上記設定のSerialのCOMポートを選択して接続します。
以上で、ターミナルで入力した文字列がUSBを介して、「UMEHOSHI ITA」に送られるようになります。
適当な文字列(hello)を入力して[Enter]してみましょう。
これで表示さるということは、入力した文字列が「UMEHOSHI ITA」へ送られて、 その応答として、エコー(echo)となる同じ文字が「UMEHOSHI ITA」から戻ってきて表示しているのです。
このEchoモードをOFFすると、何も表示しなくなります。
「UMEHOSHI ITA」は[E\r\n]を受信することで、EchoのON/OFFの切り替えができます。
(この時、モードが切り替わったことを知らせるメッセージが出ます)
以下では、『Eと[Enter]』のキー操作を2回行った後に『Tと[Enter]』の入力操作をしています。

上記最後に行ったに『Tと[Enter]』の入力操作で、「Though Mode」に移行して、これ以降のキー入力情報は、 URAT1への送信になっています。またURAT1の受信文字列がターミナルへ表示するように切り替わりました。

よって、URAT1の接続先の部品の仕様により、挙動が変わります。
そして現在、URAT1の接続先がbluetooth(RN42-I/RM) モジュールになっているので、RN42-I/RMの仕様に従って 確認操作をします。
以下がその操作例です。(挙動は、取り付けデバイスより異なる可能性があります。)

T

Through Mode
		『見えていないが、ここで「$$$」[Enter]の入力操作』
CMD
		『見えていないが、ここで「D」[Enter]の入力操作(デバイスの基本的な設定を表示)』
***Settings***

BTA=0006667DBEFE

BTName=RNBT-BEFE

Baudrt(SW4)=115K

Mode  =Slav

Authen=1

PinCod=1234

Bonded=0

Rem=NONE SET

?
		『見えていないが、ここで「E」[Enter]の入力操作(デバイスの詳細な設定を表示)』
***ADVANCED Settings***

SrvName= SPP

SrvClass=0000

DevClass=1F00

InqWindw=0100

PagWindw=0100

CfgTimer=255

StatuStr=NULL

HidFlags=200

DTRtimer=8

KeySwapr=0

?
		見えていないが、ここで「GD」[Enter]の入力操作(デバイスのアドレスを表示)』
0006667DBEFE

?
		見えていないが、ここで「---」[Enter]の入力操作』

以上の操作は、 2020-10-1時点で、https://www.microchip.com/wwwproducts/en/en558330より、RN42-AppNote.zipより取得できたのドキュメントを参考にしました。
上記の「$$$」[Enter]の入力で ターミナル上に「CMD」が表示され、無線モジュールのLEDの点滅が早くなったらコマンドモードに移行成功です。
上記の最後で、「---」[Enter]の入力操作をしていますが、この操作で、 ターミナルに「END」が表示されコマンドモードから抜けることができます。
この操作の間で、各種コマンドが操作できる訳ですが、 上記は、次の操作を順番に行った例です。

コマンド文字列操作概要
D デバイスの基本的な設定を表示する。
E デバイスの詳細な設定を表示する。
GB デバイスのアドレスを表示する。

幾つかの注目点を示します。
「BTName=RNBT-BEFE」の表示項目が、デバイス名でペアリングする場合に、この名前でデバイスを探します。
「PinCod=1234」の表示項目がペアリングする場合に必要なピンコードです。
「SrvName= SPP」の表示項目が現在のプロファイルです。後述の操作では、SPP(Serial Port Profile)の設定になっている必要があります。
なお、bluetooth(RN42-I/RM)モジュールでは以下のプロファイルが使えるようです。

0SPPSerial Port Profile : PC間において仮想シリアルポートを設定し、それらのPCを接続するため
1DUN-DCEDial-Up Network Profile: ダイアルアップサービスにアクセスするためのプロファイル
2DUN-DTE
3MDM SPP
4SPP and DUN-DCEDial-Up Network Profile: ダイアルアップサービスにアクセスするためのプロファイル
5APLiPod Accessory Protocol ?
6HIDHuman Interface Device Profile : キーボードやマウス(ポインティングデバイス)


Windows10 でのペアリング

「Windowsの設定」より、「デバイス」を選択します。
そして、+ 「Bluetoothまたはその他のデバイスを追加」の所をクリックします。 


Bluetoothを選択します。


前述で調べた名前の「RNBT-BEFE」が現れたら、そこをクリックします。


前述で調べたPINのコードを入力して、接続します。



以上で、ペアリング終了です。