MDBT42Q-AT-UART-Sを使ってみた

皆さんこんにちは!
今回の「使ってみた」は、RAYTAC Corporation様の「MDBT42Q-AT-UART-S」です。

MDBT42Q-AT-UART-S外観写真
MDBT42Q-AT-UART-S外観

「MDBT42Q-AT-UART-S」は、台湾のRAYTAC Corporation様のBLEモジュールを載せた評価ボードです。搭載されているBLEモジュールは「MDBT42Q-AT」で、このモジュールには予めファームウェア(F/W)が搭載されており、ATコマンドモデムの様な使い方でBLEによる通信が出来ます。型式の最後の「-S」は、スレーブ側を意味しており、通信相手はスマホやタブレットなどになります。今回はこれを使ってタブレットとの通信を行ってみたいと思います。

Bluetoothはヘッドホンやワイヤレスキーボード、ウォッチ型デバイスなどにも採用されているポピュラーな無線です。でも、Bluetoothに限らず無線を使うには注意しなくてはならない事があります。こちらのページではその辺について説明しています。ぜひご覧になってください。

いつものように説明は、
 ・用意するもの
 ・事前設定
 ・実験
の順に進めて行きます。

準備

1.用意するもの

・MDBT42Q-AT-UART-S 1台
RAYTAC製BLEモジュールである「MDBT42Q-AT」を搭載した評価ボードです。モジュール自身は基板の側面にはんだ付け用パッドが出ており手付けは結構大変です。ピッチも0.7mmピッチになっていますので基板を自作出来ないとちょっと難しいです。ですので今回は評価ボードを使います。

MDBT42Q-AT-UART-S外観写真
MDBT42Q-AT-UART-S外観
BLEモジュール部拡大写真
BLEモジュール部拡大写真

・MINI USBケーブル 1本
RAYTAC製評価ボード「MDBT42Q-AT-UART-S」は基板のUSBポートから電源を貰います。このUSBポートはMINIタイプのため、これに合ったケーブルが必要です。評価ボード側のUSBコネクタは電源とGNDだけ接続されています。信号線(D+、D-)は未接続です。

MINI USBケーブル
MINI USBケーブル

・USB-シリアル変換ケーブル(3.3V用) 1本
お馴染みのケーブルですね。今回もBLEモジュールから出てくる送受信データの電圧が0-3.3Vですので、インターフェース電圧が3.3VのUSB-シリアル変換ケーブルを使います。

USB-シリアル変換ケーブル(3.3V用)
USB-シリアル変換ケーブル(3.3V用)

・実験基板 1台
RAYTACのBLEモジュール評価基板から直接信号線を繋げば必須では有りませんが、使い勝手を良くするために以下の写真の様なボードを作りました。単に信号の中継、スイッチを載せているだけです。詳しい回路の説明はこちら

実験基板外観
実験基板
評価ボードとの接続
評価ボードとの接続状態

・USB電源 1台
RAYTAC製評価ボードの電源として必要です。PC等のUSB端子に空きが有ればそれで結構です。

・PC 1台
RAYTAC製評価ボードと通信するためにUSBの端子が付いたものが必要です。

・PC用ターミナルソフト
TeraTermなと

・スマホ又はタブレット 1台
RAYTAC製評価ボードと通信を行うのに必要です。Bluetooth機能が内蔵され、以下のソフトがインストールできる物を用意してください。

・nRF Connect for Mobil‪e
nordic社製のBluetooth評価用のアプリです。スマホ/タブレットに内蔵されたBluetooth機能を使って外部の(この場合、RAYTAC製評価ボード)Bluetoothと通信を行います。iOS用、アンドロイド端末用の両方が有ります。それぞれのストアからダウンロードできます。

2.事前設定

2-1.アプリのインストール
「nRF Connect for Mobile」をスマホ又はタブレットにインストールしてください。インストールが完了すると以下の様なアイコンが出来ます。

nRF Connect for Mobileのアイコン
nRF Connect for Mobileのアイコン

左の例はアンドロイドのタブレットにインストールした時のアイコンです。(多分iOSでもアイコンは同じだと思いますが。)

2-2.TeraTermの設定
評価ボードとPCの間の通信条件は以下のとおりです。通信速度が9600bpsとなっていますが、それ以外は一般的な設定です。COMポート番号は、お使いの環境によって異なります。デバイスマネージャー等を用いて確認してください。

MDBT42Q端末設定
端末設定
MDBT42Qシリアルポート設定
シリアルポート設定

実験

それでは実験を始めましょう。

1.スマホ又はタブレットと評価ボードの接続

最初にスマホ又はタブレットと評価ボードを接続しましょう。

(1)評価ボードに実験基板を接続し、電源供給用のミニUSBケーブルと通信用のUSB-シリアル変換ケーブルを接続します。

評価ボード側を接続する

(2)ミニUSBケーブル側のUSBコネクタをUSB電源又はPCのUSBポートに接続する。その後USB-シリアル変換のUSBコネクタをPCのUSBポートに接続する

(3)TeraTermを起動し、USB-シリアル変換ケーブルのCOMポートと接続する
通信条件等の設定は先の事前設定のとおり。

(4)製作した実験基板のトグルスイッチをDATA側に設定し、リセットスイッチを一回押す
パワーオンリセットが効きますので、通常リセットスイッチを押す必要は有りませんが、念のため押しておきます。

(5)スマホ又はタブレットにインストールした「nRF Connect for Mobile」を起動します。
起動すると「SCANNER」のタブが開いた状態になると思います。

アドバタイズ信号捕捉画面
アドバタイズ信号捕捉画面

アプリが起動すると「SCANNER」タブが開いていると思います。右上のSCANをタップすると表示が「STOP SCANNING」に変わり、スマホ又はタブレットで捕捉出来る範囲に居るBluetoothからのアドバタイズ信号を受信し、表示します。(左の画面)
この中の「Raytac AT-UART」が評価基板が出しているアドバタイズ信号です。

(6)評価基板と接続する
先ほどの画面の右側にある「CONNECT」と書かれている部分をタップします。すると新しいタブが開き、以下の画面の様になります。

コネクト後の画面
コネクト後の画面

「CONNECT」をタップすると、「RAYTAC AT-UART」のタブが新しく出来て、左の画面の様な各種プロパティが見えるようになります。
各タイトル(「Generic Access」とか「Generic Attribute」とか)をタップすると、更に項目が展開され、詳細内容が確認出来ます。

2.スマホ又はタブレットから評価ボードへのデータ送信

では、スマホ又はタブレットから評価ボードに対してデータを送ってみましょう。

(1)画面の「Nordic UART Service」をタップする。

ノルディックUARTサービスの初期画面
ノルディックUARTサービスの初期画面

タップすると左の画面の様に詳細メニューが展開されます。

(2)「RX Characteristic」の右端にある上向き矢印をタップします。

文字入力ボックス
文字入力用ボックスが現れる

タップすると文字が入力出来るようになります。「New value」の部分をタップして文字を入れます。

(3)試しに「Hello!」と文字を入れ、右下の「SEND」をタップします。

Hello!入力
Hello!と入力し「SEND」をタップ
TeraTermのHello!表示
TeraTermに「Hello!」と表示された

以上の手順でスマホ又はタブレット側から評価ボードに対してデータの伝送ができました。

3.評価ボードからスマホ又はタブレットへのデータ送信

次に、評価ボードからスマホ又はタブレットにデータを送る手順を示します。既に評価ボードとスマホ又はタブレットが接続されているとして説明します。

(1)スマホ又はタブレットのアプリ上の「TX Characteristic」の右端にある下向き矢印(3本下向き)をタップします。

タップ前のNotify
このマークをタップする
タップ後のNotify
タップするとマークが変わる

「TX Characteristic」の右端にある下向き矢印(左の写真)をタップすると右の写真の様にマークが変わり、データ受信待機状態になります。

(2)TeraTermからブロードキャストコマンドを使って「Fine!」と入力し、「送信」ボタンを押します。

TeraTermから「Fine!」を送信
TeraTermから「Fine!」を送信
アプリ側での「Fine!」表示
アプリ側の表示

TeraTermから送った「Fine!」がアプリ側の「Value」欄に表示されました。

4.スマホ又はタブレットと評価ボードの切断

切断方法には二通りあります。一つはスマホ又はタブレットのアプリからの切断、もう一つは評価ボード側からの切断です。

(1)アプリからの切断
アプリの右上にある「DISCONNECT」をタップします。すると評価ボードとの接続が切断されます。

切断待ち
切断待ち
接続待ち
接続待ち

接続中は左の画面の様に、アプリの右上に「DISCONNECT」のボタンが有り、これをタップすると切断します。切断すると「CONNECT」のボタンが出てきます。TeraTerm側は特に変化は有りません。

(2)評価ボード側からの切断
評価ボード側から切断する場合は、実験基板に取り付けた「Flash default」のスイッチを操作する必要があります。「詳しい回路の説明」に、記載してありますが、評価ボード上のBLEモジュールは自身に入力されるデータ(RXD端子から入って来るデータ)が単なる通信データなのか、自身に対するコマンド(命令)なのかをこの端子のロジックレベルで判断します。端子が”High”だと、単なる通信データ、”Low”の場合はモジュール自身に対するコマンドとして扱います。よって、切断命令を下すにはこの端子を”Low”に落とす必要が有ります。
・先ずは実験基板上の「Flash default」スイッチをLowに落ちる側に倒します。
・続いてATコマンドとして「AT+DISCONNECT」をTeraTermのブロードキャストコマンドから送信します。
これでスマホ又はタブレットとの通信が切れたと思います。

切断コマンド発行
切断コマンド発行
切断コマンド発行-切断成功
切断コマンド発行-切断成功

切断されると「disconnect success」と表示される。

実験基板上の「Flash default」の設定を間違えると。。。

只のデータとして切断コマンドが送られてきた
只のデータとして切断コマンドが送られてきた

「Flash default」スイッチの設定を間違えると、切断コマンドが只のデータとしてスマホ又はタブレットに送られます。

以上で実験は終了です。このBLEモジュールを使えばBluetoothの複雑なプロトコルを気にせずに使えます。以前に紹介したIMBLEも同様ですが端末側のF/W開発の工数削減が出来ますので便利だと思います。

無線モジュール.comでは無線モジュールを利用した様々な提案・開発を行っております。こちらのページには無線化の際のヒントを載せています。

また、是非開発実績もご覧になってください。

前の記事

BM20を使ってみた