BLE (dual) Bee v1.0
113050013
この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues
BLE (dual) Bee v1.0は、ATコマンドをサポートするARMアーキテクチャシングルチップを搭載したCSRデュアルモードBluetoothチップを使用しています。ユーザーはシリアルボーレート、機器名、ペアリングパスワードに応じて柔軟に開発できます。
特徴
BTバージョン:Bluetooth仕様 V4.0 & BLE
UART送受信最大バイト数:512バイト
他のデバイスからモジュールへ(SPPモード):1パケットあたり90バイト
他のデバイスからモジュールへ(BLEモード):1パケットあたり20バイト
2つのデータ伝送モード:バランスモードと高速モード
動作周波数:2.4GHz ISMバンド
変調方式:GFSK(ガウシアン周波数偏移変調)
RF出力:-23dbm、-6dbm、0dbm、6dbm
速度:非同期:3Kバイト
同期:3Kバイト
セキュリティ:認証と暗号化
サービス:スレーブSPP、ペリフェラルBLE、UUID FFE0、FFE1
電源:+3.3VDC 50mA
長距離通信:SPP 30メートル、BLE 60メートル
消費電力:SPP 13.5mA、BLE 9.5mA
動作温度:-5〜+65℃
仕様
U1:U1はワイヤレスモジュールです。自動電源オンリセット回路を内蔵しています。
D3:LEDは2つの動作モードを表示します: スリープ時はゆっくり点滅、接続状態では連続点灯します。
JP1&JP3:標準Beeコネクタです。
注意事項
このモジュールの供給電圧は2.5V〜3.7Vです。これより高い電圧はデバイスに永久的な損傷を与える可能性があります。BLE伝送速度はSPP伝送よりも遅いため、設計ではBLEデュアルモード製品計画の速度に従って低い方を選択しました。
ハードウェアインストール
Uart BeeでBluetoothをPCに接続
![]() | ![]() |
---|
BluetoothをArduinoに接続
SeeedのハードウェアUARTはPCとのデバッグに使用されているため、D2とD3を選択してソフトウェアUARTを模擬してBluetoothと通信します。下の図のジャンパー設定を参照してください。
![]() | ![]() |
---|
ソフトウェア説明
規則
EDRモードでは、スレーブのみ設定可能ですが、BLEモードではマスターまたはスレーブのいずれかを設定できます。
工場出荷時のデフォルト設定:
* EDR名:HMSoft、スレーブ役割、PinCode 1234
- BLE名:HMSoft、スレーブ役割、PinCode 000000
- ボーレート:115200、N、8、1
ATコマンド形式:
* 大文字のATコマンド形式。文字列形式で、他の記号は含みません(例:\rや\n)。
- 不正なコマンドに対しては応答がありません。
ATコマンド
1. テストコマンド
送信 | 受信 | パラメータ |
---|---|---|
AT | OK/ER/Disconnect link | なし |
モジュールがリモートデバイスに接続されていない場合、「OK」を受信します。
モジュールにエラーがある場合、「ER」を受信します。
モジュールが接続されている場合、モジュールはリモートデバイスから切断され、「AT + NOTI」が1に設定されている場合、情報文字列を受信します。
2. モジュールEDRアドレスの問い合わせ
送信 | 受信 | パラメータ |
---|---|---|
AT+ADDE? | OK+ Get: MAC | なし |
3. モジュールBLEアドレスの問い合わせ
送信 | 受信 | パラメータ |
---|---|---|
AT+ADDB? | OK+ Get: MAC | なし |
4. 認証モードの問い合わせ/設定
送信 | 受信 | パラメータ |
---|---|---|
Q: AT+AUTH? | OK+ Get:[P1] | P1: 0, 1, (デフォルト: 0) 0 – 認証なし 1 – 認証必須 |
S: AT+AUTH[P1] | OK+ Set:[P1] |
AT+AUTH0:安全でない接続を許可します。
AT+AUTH1:すべての接続に認証が必要です。
5. AからBモードの問い合わせ/設定
送信 | 受信 | パラメータ |
---|---|---|
Q: AT+ATOB? | OK+ Get:[P1] | P1: 0, 1, (デフォルト: 0) 0 – ATOBを開かない 1 – ATOBモードを開く |
S: AT+ATOB[P1] | OK+ Set:[P1] |
このコマンドはAT+MODE0コマンドと併用する必要があります。Aデバイス(SPPモード)がモジュールに接続し、Bデバイス(BLEモード)もモジュールに接続されている場合、Aデバイスからモジュールに送信されたデータ文字列はBデバイスに送信されます。Bデバイスからモジュールに送信されたデータ文字列もAデバイスに送信されます。
6. ボーレートの問い合わせ/設定
送信 | 受信 | パラメータ |
---|---|---|
Q: AT+BAUD? | OK+ Get:[P1] | P1: 1~7, (デフォルト: 6). 1 - 4800 2 – 9600 3 – 19200 4 – 38400 5 – 57600 6 – 115200 7 - 230400 |
S: AT+BAUD[P1] | OK+ Set:[P1] |
7. ボンド情報のクリア
送信 | 受信 | パラメータ |
---|---|---|
AT+BONDE | OK+BONDE | EDRボンド情報をクリア |
AT+BONDB | OK+BONDB | BLEボンド情報をクリア |
BLEモードはまだサポートされていません。
8. 最後に接続されたEDRデバイスアドレスのクリア
送信 | 受信 | パラメータ |
---|---|---|
AT+CLEAE | OK+CLEAE | なし |
9. 最後に接続されたBLEデバイスアドレスのクリア
送信 | 受信 | パラメータ |
---|---|---|
AT+CLEAB | OK+CLEAB | なし |
10. モジュールDUAL動作モードの問い合わせ/設定
送信 | 受信 | パラメータ |
---|---|---|
Q: AT+DUAL? | OK+ Get:[P1] | P1: 0, 1, (デフォルト: 0) 0 – デュアル接続を許可 1 – 1つの接続のみ許可 |
S: AT+DUAL[P1] | OK+ Set:[P1] |
AT+DUAL0:同時に2つの接続を許可(SPPとBLE)。
AT+DUAL1:同時に1つの接続のみ許可(SPPまたはBLE)
11. ハードウェアフロー制御スイッチの問い合わせ/設定
送信 | 受信 | パラメータ |
---|---|---|
AT+FIOW? | OK+ Get:[P1] | P1: 0, 1,(デフォルト: 0) 0: ハードウェアフロー制御オフ 1: ハードウェアフロー制御オン |
AT+FIOW[P1] | OK+ Set:[P1] |
12. モジュールデータ伝送速度モードの問い合わせ/設定
送信 | 受信 | パラメータ |
---|---|---|
AT+HIGH? | OK+ Get:[P1] | P1: 0, 1,(デフォルト: 0) 0: バランスモード 1: 高速モード |
AT+HIGH[P1] | OK+ Set:[P1] |
バランスモードでは、SPPとBLEを安定した速度でバランスを取ります。
高速モードでは、速度を制御しないため、SPPモードは高速になります。
高速モードでは、モジュールはRESETBピン機能を失いますが、「AT+RESET」コマンドを使用してモジュールをリセットできます。
13. システムヘルプ情報
送信 | 受信 | パラメータ |
---|---|---|
AT+HELP? | ヘルプ情報 | なし |
14. モジュール読み込み通知の問い合わせ/設定
送信 | 受信 | パラメータ |
---|---|---|
AT+INIT? | OK+ Get:[P1] | P1: 0, 1,?, (デフォルト: 0) 0: 読み込み通知オフ 1: 読み込み通知オン |
AT+INIT[P1] | OK+ Set:[P1] |
「AT+INIT1」が設定されている場合、モジュール読み込み後、モジュールはUARTを通じて「OK+INIT」文字列を出力します。
15. モジュール動作モードの問い合わせ/設定
送信 | 受信 | パラメータ |
---|---|---|
Q: AT+MODE? | OK+ Get:[P1] | P1: 0, 1, (デフォルト: 0) 0 – データ伝送 1 – リモート制御 |
S: AT+MODE[P1] | OK+ Set:[ P1] |
AT+MODE0:接続確立時のみデータを転送。
AT+MODE1:データ転送とATコマンドへの応答。
16. 通知情報の問い合わせ/設定
送信 | 受信 | パラメータ |
---|---|---|
Q: AT+NOTI? | OK+ Get:[P1] | P1: 0, 1, (デフォルト: 0) 0: 通知しない 1: 通知する |
S: AT+NOTI[P1] | OK+ Set:[ P1] |
AT+NOTI1後、モジュール状態が変更されたときに、モジュールはUARTを通じて接続または切断文字列を送信します:
OK+CONE ======== EDR接続
OK+LSTE ========= EDR切断
OK+CONB========= BLE接続
OK+LSTB ========= BLE切断
OK+LSTA ========= 例外切断、モジュールは500ms後にリセットされます。
17. 通知モードの問い合わせ/設定
送信 | 受信 | パラメータ |
---|---|---|
Q: AT+NOTP? | OK+ Get:[P1] | P1: 0, 1; デフォルト: 0 0: アドレスなし 1: アドレスあり |
Q: AT+NOTP[P1] | OK+ Set:[ P1] |
このコマンドは「AT+NOTI1」と併用する必要があります。このスイッチが開いている場合、モジュールが接続から切断されたときに、プロンプト文字列にリモートアドレスが含まれます。
18. モジュールEDR名の問い合わせ/設定
送信 | 受信 | パラメータ |
---|---|---|
Q: AT+NAME? | OK+ Get:[P1] | P1: モジュールEDR名、 最大長は12。 デフォルト: HMSoft |
Q: AT+NAME[P1] | OK+ Set:[ P1] |
19. モジュールBLE名の問い合わせ/設定
送信 | 受信 | パラメータ |
---|---|---|
Q: AT+NAMB? | OK+ Get:[P1] | P1: モジュールBLE名、 最大長は12。 デフォルト: HMSoft |
S: AT+NAMB[P1] | OK+ Set:[ P1] |
20. PIO1出力状態の問い合わせ/設定(システムLED)
送信 | 受信 | パラメータ |
---|---|---|
Q: AT+PIO1? | OK+ Get:[P1] | P1: 0, 1 0: 未接続時500msハイ500msロー出力、接続時ハイ出力。 1: 未接続時ロー出力、接続時ハイ出力。 デフォルト: 0 |
S: AT+ PIO1 [P1] | OK+ Set:[ P1] |
21. PIO出力状態の問い合わせ/設定
送信 | 受信 | パラメータ |
---|---|---|
Q: AT+PIO[P1]? | OK+ Get:[P1][P2] | P1: 2~B (HM-12) P2: 2~3 (HM-13) 0: ロー出力 1: ハイ出力 ?: 問い合わせ |
S: AT+ PIO[P1][P2] | OK+ Set:[P1][P2] |
22. EDR PINコードの問い合わせ/設定
送信 | 受信 | パラメータ |
---|---|---|
Q: AT+PINE? | OK+ Get:[P1] | P1: モジュールEDRコード 最大長: 6 デフォルト: 1234 |
S: AT+PINE[P1] | OK+ Set:[P1] |
23. BLE PINコードの問い合わせ/設定
送信 | 受信 | パラメータ |
---|---|---|
Q: AT+PINB? | OK+ Get:[P1] | P1: モジュールBLEコード 000000~999999 デフォルト: 000000 |
S: AT+PINB[P1] | OK+ Set:[P1] |
24. UARTパリティビットの問い合わせ/設定
送信 | 受信 | パラメータ |
---|---|---|
Q: AT+PARI? | OK+ Get:[P1] | P1: 0, 1, 2, (デフォルト: 0) 0: パリティなし 1: 偶数パリティ 2: 奇数パリティ |
S: AT+PARI[P1] | OK+ Set:[P1] |
25. すべての設定値を工場出荷時設定に復元
送信 | 受信 | パラメータ |
---|---|---|
AT+RENEW | OK+RENEW | なし |
26. モジュール再起動
送信 | 受信 | パラメータ |
---|---|---|
AT+RESET | OK+RESET | なし |
27. BLE RSSI値の問い合わせ
送信 | 受信 | パラメータ |
---|---|---|
AT+RSSB? | OK+RSSB: [P1] | P1: RSSI値 9999: 接続なし 9998: 後で試行 9997: 読み取りエラー Xxxx: RSSI値 |
このコマンドは「AT+MODE1」設定後に使用する必要があります。 このコマンドはリモートBluetoothデバイスのみが使用します。
28. EDR RSSI値の問い合わせ
送信 | 受信 | パラメータ |
---|---|---|
AT+RSSE? | OK+RSSE: [P1] | P1: RSSI値 9999: 接続なし 9998: 後で試行 9997: 読み取りエラー Xxxx: RSSI値 |
29. 最後に接続されたEDRデバイスアドレスの問い合わせ
送信 | 受信 | パラメータ |
---|---|---|
AT+RADE? | OK+Get:MACアドレス | なし |
30. 最後に接続されたBLEデバイスアドレスの問い合わせ
送信 | 受信 | パラメータ |
---|---|---|
AT+RADB? | OK+Get:MACアドレス | なし |
31. マスターとスレーブ役割の問い合わせ/設定
送信 | 受信 | パラメータ |
---|---|---|
AT+ROLB? | OK+ Get:[P1] | P1: 0, 1 (デフォルト: 0) 0: ペリフェラル 1: セントラル |
AT+ROLB[P1] | OK+ Set:[P1] |
このコマンドはモジュールの次回電源オンまたはリセット後に有効になります。
32. EDR動作モードの問い合わせ/設定
送信 | 受信 | パラメータ |
---|---|---|
Q: AT+SCAN? | OK+ Get:[P1] | P1: 0, 1, (デフォルト: 0) 0: 検出可能と接続可能 1: 接続可能のみ |
S: AT+SCAN[P1] | OK+ Set:[P1] |
33. UARTストップビットの問い合わせ/設定
送信 | 受信 | パラメータ |
---|---|---|
Q: AT+STOP? | OK+ Get:[P1] | P1: 0, 1, (デフォルト: 0) 0: 1ストップビット 1: 2ストップビット |
S: AT+STOP[P1] | OK+ Set:[P1] |
34. ソフトウェアバージョンの問い合わせ
送信 | 受信 | パラメータ |
---|---|---|
AT+VERR? AT+VERS? | バージョン情報 | なし |
プログラミング
WindowsでシリアルによるBluetoothモジュールの設定
このセクションでは、PCでBluetoothを設定する方法を示し、いくつかの基本的な設定方法を学ぶことができます。 ハードウェア接続の設定については「ハードウェアインストール」セクションを参照してください。モジュール上の青いLEDが点滅していることで、接続が確立されていないことがわかります。
シリアルターミナルを開き、ボーレート:115200、データビット:8、ストップビット:1、フロー制御なしに設定します。シリアルターミナルでBluetoothに「AT」を送信すると、すべてがうまくいけば「OK」が返されます。Bluetoothは接続が確立されていない場合のみATコマンドに応答し、そうでなければすべてのコマンドは文字列として見なされ送信されます。LED表示で状態を区別できます。
次に、いくつかの有用な設定を送信できます。以下はコマンドと応答のサンプルです。
シリアル接続のテスト、「AT」を送信、「OK」が返されます。
工場出荷時設定の復元、「AT+RENEW」を送信、「OK+RENEW」が返されます。
シリアルポートのボーレートリセット、「AT+BAUD2」を送信、「OK+Set:2」が返されます。
認証の有効化、「AT+AUTH1」を送信、「OK+Set:1」が返されます。
Bluetoothのリセット、「AT+RESET」を送信、「OK+RESET」が返されます。
ファームウェアバージョンの問い合わせ、「AT+VERS?」を送信、「OK+Get:HMSoftV217」が返されます。
EDRのMACの問い合わせ、「AT+ADDE?」を送信、「OK+Get:000E0E002074」が返されます。
BLEのMACの問い合わせ、「AT+ADDB?」を送信、「OK+Get:000E0B002074」が返されます。
EDRの名前設定、「AT+NAMEHM-13-EDR」を送信、「OK+Set:HM-13-EDR」が返されます。
BLEの名前設定、「AT+NAMEHM-13-BLE」を送信、「OK+Set:HM-13-BLE」が返されます。
EDRのパスワード設定、「AT+PINE123451」を送信、「OK+Set:123451」が返されます。
BLEのパスワード設定、「AT+PINB123451」を送信、「OK+Set:123451」が返されます。
検出可能と接続可能の有効化、「AT+SCAN0」を送信、「OK+Set:0」が返されます。
接続の通知情報有効化、「AT+NOTI1」を送信、「OK+Set:1」が返されます。
通知情報にアドレスを含める、「AT+NOTP1」を送信、「OK+Set:1」が返されます。
ユーザーキーの有効化、「AT+PIO01」を送信、「OK+Set:1」が返されます。
セントラルモードに設定、「AT+ROLB1」を送信、「AT+ROLB1」が返されます。
またはペリフェラルモードに設定、「AT+ROLB0」を送信、「AT+ROLB0」が返されます。
PCに接続された2つのBluetoothを使用し、一方をセントラル、もう一方をペリフェラルに設定します。数秒後、互いを見つけてLEDの点滅が止まり、接続されます!
iPhoneとの通信
この種類のBluetoothモジュールには2つのプロトコルがあります:Bluetooth EDR(Enhanced Data Rate)とBluetooth Low Energy。これらのプロトコルのいずれかを持つ任意のデバイスと通信できます。OS 4.3以上のAndroid携帯電話やiPhone4以降はBLE機能を持っています。iPhoneを使用してBluetoothとやり取りする方法を実演します。
Bluetoothをペリフェラルロールとして設定し電源を入れます。Apple StoreでLightBlueを検索してインストールします。アプリを起動すると、先ほど名前を変更した「HM-13-BLE」が見つかります。タッチして接続し、「Properties」をタッチして制御します。右上の「Hex」キーはデータ形式を変更するためのもので、Stringの方が見やすいでしょう。「Listen for notifications」をヒットしてデータ受信を有効にします。次に、BLEを通じてPCにデータを送信できます。「Write new value」をヒットして単語を書きます。PCもシリアルターミナルでiPhoneにデータを転送できます。
2つのArduino間のデータ伝送
コードの準備はできていますか?練習後に何かをする時が来ました。BluetoothのペアとArduinoまたは他のプラットフォームを準備してそれらを制御します。ここでは2つのArduino Unoを使用します。 「ハードウェアインストール」セクションで述べたように接続を設定します。
セントラルとペリフェラルのプログラムは同じコードを使用し、唯一の違いはプログラムの最初のマクロ定義です。Bluetoothをセントラルロールに割り当てるには、テキストを「#define MASTER 1」に変更するだけです。ペリフェラルロールが割り当てられる場合は「#define MASTER 1」です。
初期化プログラムフローについては、以下のフローチャートを参照してください。まず、Bluetoothの事前設定ボーレートを区別する必要があります。その後、工場出荷時設定の復元コマンドを送信し、ソフトウェアシリアルが高いボーレートでうまく動作しないため、ボーレートを115200から9600に変更します。次に、他のパラメータがBluetoothに設定され、最後にリセットコマンドが実行されます。
初期化後、セントラルとペリフェラルは異なることを行います。セントラルは定期的にペリフェラルにメッセージを送信し、ペリフェラルから受信したものを印刷しますが、ペリフェラルはセントラルにのみ応答します。
プログラムをダウンロード後、2つのシリアルターミナルウィンドウを開くと、BluetoothのLEDが点滅し、数秒後に点滅が止まって点灯し続けます。これは互いに接続されたことを示しています。プログラムが書かれているとおり、セントラルは継続的にペリフェラルにメッセージを送信し、毎回フィードバックを受け取ります。
回路図オンラインビューアー
リソース
技術サポートと製品ディスカッション
私たちの製品をお選びいただきありがとうございます!私たちの製品での体験を可能な限りスムーズにするために、さまざまなサポートを提供しています。さまざまな好みやニーズに対応するため、複数のコミュニケーションチャンネルを提供しています。