Bluetoothモジュール(RN4678)

RN4678って?

RN4678は、マイクロチップ社製のBluetoothモジュールです。RN42という結構有名なBluetoothモジュールがありますが、Bluetooth2.1と使用バージョンが古いので、新規開発には、Bluetooth 4.2を使用しているRN4678を使う方がいろいろと良さそうな感じです。

RN42-Bluetoothモジュールを使ってみた | ぼくのマイコン開発のメモ (tekuteku-embedded.xyz)

RN4678は、マイコンとの通信に便利なSPPもあり、RN42と同じようにコマンド式でモジュールの各種設定ができるので、ほぼほぼRN42と同じように使えて、RN42使ったことがある人ならば、簡単に移行できると思います。

評価ボードは少なく、高め…

今回、RN4678をテストするのに下のMIKROELEKTRONIKA社製の評価ボード(CLICK-BT-DUAL)を使ったんですが、4000円弱でした。評価ボードの種類もあまりないようです。

秋月さんで販売されてるRN42の評価キット(AE-RN-42)が2500円ぐらいなので、やや割高感があります。

また、AE-RN-42にはUSB UART変換ICが実装されてますが、Click-BT-Dualには、ありません。

これはちょっとネガティブな点ですね💦

CLICK-BT-DUAL

資料まとめ

評価ボードのマニュアル

Taro-CLICK-4678 (microtechnica.tv)

RN4678リファレンスマニュアル

RN4678 Bluetooth Dual Mode Module Command Reference User’s Guide (microchip.com)

PCとつなげる

評価ボード(CLICK-BT-DUAL)とPCを通信する方法は、”Bluetooth経由(無線)”と”シリアル変換ケーブル(有線)”の2つの方法があります。それらを使用するためには注意点がそれぞれあるので紹介しときます。

① “Bluetooth経由(無線)”を使用する時の注意点

PC側のBluetooth経由シリアルポートのボーレートが最速で128000bpsしか対応していないので、評価ボード(CLICK-BT-DUAL)のUARTのボーレートを128000bpsを超えて設定する(赤枠内)と、PC側のBluetooth経由では速すぎて通信できなくなります。

PCとBTモジュールそれぞれでボーレートを設定するけど赤枠内の設定は不可

これ、一旦、やってしまうと、音信不通状態になりかねません。ボーレートを戻すには、➁の方法で設定するしかありません。

AE-RN-42では、DIPスイッチで、工場出荷モードに戻すことができましたが、CLICK-BT-DUALでは、自分の調べた範囲では、ハード的に初期値に設定をもどす手段がみつかりませんでした。

② “シリアル変換ケーブル(有線)”を使用する方法

このRN4678評価ボード(CLICK-BT-DUAL)は、PCと通信するためのレベル変換器(UART3.3V⇔RS232C)がボード上に搭載されていないので、シリアル変換ケーブル(RS232C-USB)と併せて準備する必要があります。その時にシリアル変換ケーブルは、ボーレートがRN4678評価ボード(CLICK-BT-DUAL)で最速の921600bpsに対応している製品を選ぶ必要があります。

今回はそれらが対応している以下製品を使用してみました。
  ・レベル変換器:
    秋月電子通商社製 3V・3.3V・5V系-RS232Cレベル変換基板 AE-ADM3202
  ・シリアル変換ケーブル:
    バッファロー社製 USBシリアル変換ケーブル BSUSRC06

ざっくり簡単な結線図を載せておきます。

こんな感じにつなげてます。

PCとPCをRN4678を介して、つなげる

動作チェックとして、下のイラストみたく、通信テストをしてみました。

具体的には、PC1から”シリアル変換ケーブル(有線)”を介して、RN4678に信号を渡し、PC2でその無線信号をキャッチさせます。

ちなみに、PC1側で、ターミナルソフトウェアは”TeraTerm”を使用してます。

以下がざっくりした手順です。

1.PC1を上で説明した”シリアル変換ケーブル(有線)”を使用する方法のように結線して
  通信できる状態にします。

2.RN4678とPC1を通信ソフトウェアの”TeraTerm”を使用して接続します。”TeraTerm”の
  接続方法は、”TeraTerm”の説明書を見て接続してください。

3.Tera Termで以下を操作します。
   ・”$$$”を入力 ⇒ コマンドモードに入り、”CMD>”が出力されます。
   ・”+”で改行 ⇒ ECHO ONになります。入力コマンドが表示されます。
   ・”SF,1″で改行 ⇒ ”AOK”が出力されて工場出荷状態”FACTORY RESET”されます。
  RN4678の工場出荷状態は以下設定になります。
   ・通信速度:115.2kbps
   ・データ長:8ビット
   ・ストップビット:1
   ・パリティビット:なし
   ・フロー制御:有効

4.一旦電源OFFにして再度電源をONにします。

5.RN4678とPC1を通信ソフトウェアの”TeraTerm”を使用して再度接続します。

6.PC2のデバイス設定のBluetoothを”ON”、PC1のデバイス設定のBluetoothを”OFF”に
  設定します。

7.PC2のデバイス設定の”Bluetoothとその他のデバイス”の設定を開いて、
  ”Bluetoothまたはその他のデバイスを追加する”を選択して、”Bluetooth”を選択します。

8. “RN4678-6853″が表示されるので選択します。 
   ⇒ 認識すると”Bluetoothとその他のデバイス”に”ペアリング済み”と表示されます。

9.”Bluetoothとその他のデバイス”の右の”その他のBluetoothオプション”を選択します。 
  ⇒ ”Bluetooth設定”が開くので “COMポート”タブを選択して”RN4678″がどのポートとして
  認識されているかを確認します。以下の場合は”COM9″として認識しています。

10.RN4678とPC2を通信ソフトウェアの”TeraTerm”を”COM9″を使用して接続します。
   通信の設定は以下と同じに設定します。

11.PC2の”TeraTerm”で文字を入力するとPC1の”TeraTerm”に同じ文字が表示されます。
    逆の操作も可能でPC1の”TeraTerm”で文字を入力するとPC2の”TeraTerm”に
    同じ文字が表示されます。このように双方向に通信が出来ます。

以上、簡単ですが通信方法は以上になります。とくにつまづくようなところはありませんでした。今回は初期動作の確認のみでしたが、気が向いたら、細かな機能をためしてみます。

RN4678🙌

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です