激安Bluetoothシリアルモジュール JDY-31 を試す

JDY-31 Bluetoothシリアルモジュール 電子工作

ざっくりいうと

激安・小型・取り回しやすいBluetoothシリアルモジュールの JDY-31 を試してみた。

Android端末・Windowsから問題なく接続し、通信ができた。

色々使えそうだけど、技適認証受けてないんだよなぁ。

JDY-31と他のモジュール

小型のBluetoothシリアルモジュールを探していたところ、この JDY-31 を発見しました。AliExpressで$1.06(送料込) だったので思わず買ってしまいました。技適の認証も受けてないようなので、問題にならない範囲で試してみます。

ちなみに他のBluetoothシリアルモジュールでは HC-05 と HC-06 というのが入手性がよく、価格が安め、ただし技適認証は受けていない。HC-05 はスレーブだけでなくマスター動作もできます。

あと RBT-001 というのを持っています。電源電圧が3.0Vで端子が2mmピッチなのがアレですが、特に問題無くPCと通信できました。こちらは技適認証済ですがちょっと高くて、気軽に使えないのです。

最近はBLEデバイスが流行ってる(?)みたいで、こちらもファームウェア次第でBluetoothシリアルモジュールとして使えそうです。注文してみたので、今度試してみます。

ハードウェア・試験回路

データシートは ここ にあります。

スレーブ動作のみ可能です。なので2台の JDY-31 を直接接続することはできません。最大30m電波が飛んで、スループットは最大16kByte/sだそうです。

サイズが小さく(13x27mm)、主要な信号は2.54mmピッチから出ているため、使いやすいです。細かい端子には、フロー制御の信号やリセット端子があります。

電源電圧は3.3Vが推奨です。シリアルの信号線はTTLレベルと書いてあるのですが、どういう意味で書いてあるのかよくわからない…。5V系と直接繋いでもいい(トレラント)というこだろうか…?なので今回は5V系のシリアルと直結してしまいましたが、よくわからないので、RXD入力は抵抗器で分圧するなどしたほうが良いかもしれません。

試験の様子
試験の様子
回路図
回路図

3.3Vの電源電圧を作って繋いだだけです。3.3V系のUSBシリアル変換器などと接続するならば、電圧変換も必要ないですね。3.3VのUSBシリアル変換器も買おう。

STAT はデバイスとの接続が確立すると High になります。今回はLEDをつなぎましたが、マイコンの入力ポートにつなげば、接続状態のチェックができます。

モジュールの設定

USBシリアルポートにターミナルソフトで接続し、JDY-31 の設定をします。

通信設定は、パリティなし、バイトサイズ8、ストップビット1、で、ボーレートはデフォルトでは 9600bps です。他のデバイスと接続する前はATコマンドで操作できます。

以下は設定の確認と変更をする様子です。「AT+」で始まる行はこちらが入力したコマンドで、その他は JDY-31 からの応答です。

+START                                ←起動時に「+START」と送信される
AT+VERSION                            ←バージョンの確認コマンド
+VERSION=JDY-31-V1.2,Bluetooth V3.0   ←バージョン返答
AT+NAME                               ←ブロードキャスト名確認
+NAME=JDY-31-SPP                      ←デフォルトでは「JDY-31-SPP」
AT+NAMEGABRY-SPP                      ←「GABRY-SPP」に変更してみる
+OK
AT+PIN                                ←PIN確認
+PIN=1234                             ←デフォルトでは「1234」
AT+PIN5678                            ←「5678」に変更してみる
+OK                                  
AT+BAUD                               ←ボーレート確認
+BAUD=4                               ←デフォルトでは4(9600bps)
AT+BAUD8                              ←8(11520bps)に変更してみる
+OK
AT+RESET               ←再起動
+OK                                   ←ボーレートは再起動後変更される

他にMACアドレスの変更などもできます。コマンドは8個しかないので簡単です。

Android端末から接続

Android端末から接続テストをします。

Bluetoothの設定から、「新しいデバイスとペア設定をする」で JDY-31 とペアリングします。ブロードキャスト名 と PIN はデフォルトでは「JDY-31-SPP」「1234」、もしくは自分で設定した値になります。

Bluetoothターミナルソフトから、接続してみます。Google Playストアで「bluetooth terminal」で検索して、いくつか試してみました。接続テストだけなので、どれでもいいのですが、一部あまりうまく動作しないソフトがありました。私は運悪く、あまりうまく動作しないソフトで最初に実験してしまい、うまく動作しない原因究明に苦労してしまいました。

Bluetooth Terminal / Qwerty」 問題なく動作しました。

Serial Bluetooth Terminal / Kai Morich」 あまりうまく動作しませんでした。普通に接続できることもありますが、調子が悪くなると、ペアリング直後でないと接続できなくなったりしました。

Bluetooth Terminal / Juan Sebastian Ochoa Zambrano」 古いバージョンのAndroid用のソフトである旨の警告が出ましたが、動作は問題ありませんでした。

Bluetooth Terminal HC-05 / mightyIT」 問題なく動作しました。

どのソフトもだいたい使い方は同じです。デバイスを選んで接続します。接続が確立すると、STAT に接続した LED が点灯します。この状態で、PC側のターミナルかAndroido側のターミナルから文字を送信すると、相手側のターミナルに送った文字が表示されます。

WindowsPCから接続

Windows10のPCからも接続してみます。

「設定」→「デバイス」→「Bluetoothまたはその他のデバイスを追加する」→「Bluetooth」で JDY-31 を選び、PINを入力してペアリングします。

デバイスマネージャーの「ポート(COMとLPT)」の中に「Bluetoothリンク経由の標準シリアル」というデバイスがあります。(ドライバなど環境によっては名前は異なるかもしれません。) そのCOMポート番号を確認します。私の環境では、COM6 と COM7 があり、COM7 の方で接続できました。デバイスドライバーのプロパティ・ポートの設定・詳細設定でポート番号を変更することもできます。

ターミナルソフトで Bluetooth の COMポートに接続します。仮想的なポートなので、ボーレート等の通信設定は JDY-31 の設定と異なっていても接続できます。接続が確立すると、STAT に接続した LED が点灯します。

USBシリアルポートに接続したターミナルソフトと、Bluetooth仮想シリアルポートの接続したターミナルソフトで、お互いに文字の送受信ができることが確認できました。

まとめ

JDY-31 は、Android端末・WindowsPCから、問題なく接続できることが確認できました。iPhoneや macOS・Linux等でのテストはしていませんすいません。

今回は接続の確認しかしていませんが、いろいろな用途に使えそうです。以前の記事「サーマルプリンター(HS-QR71/DP-EH600/CSN-A2)を使ってみる」では、「サーマルプリンターをBluetoothでスマホにつなぎたい」と書きましたが、JDY-31 を使えばハードウェアは簡単に作れそうな気がします。

ただ、技適認証受けてないので、その点で使いたくないのはあります。なので、技適認証済で、安くて使いやすいモジュールを次は探してみる予定です。

更新履歴

2020.04.24 公開

コメント

タイトルとURLをコピーしました