Skip to main content

BLE Bee

note

この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues

BLE Beeは、HM-11モジュールをベースにしたBluetooth Smart対応のXBEEフォームファクターモジュールです。BLE Beeは、通常XBEEモジュールが使用されるハードウェア構成で使用できます。BLE Beeを使用することで、XBEEソケット対応の組み込みシステムがデスクトップコンピュータ、スマートフォン、タブレットコンピュータ、さらには他の組み込みシステムとBluetooth Smart(別名Bluetooth Low Energy、BLE)を介して通信できます。

特徴

  • XBEE形状に対応

  • Bluetoothプロトコル: Bluetooth Specification V4.0 BLE

  • 動作周波数: 2.4 GHz ISMバンド

  • インターフェース方式: シリアルポート

  • オープン環境で30メートル以内でモジュール間の通信が可能

  • モジュール間で送受信する際のバイト制限なし

  • 変調方式: GFSK(ガウス周波数偏移変調)

  • 送信出力: - DBM, 23-6 DBM, 0 DBM, 6 DBM(ATコマンドで変更可能)

  • TI CC2540チップを使用、256 KBの構成スペースを持ち、ATコマンドをサポート。ユーザーは必要に応じて役割(マスター、スレーブモード)、シリアルポートのボーレート、デバイス名、パスワードなどのマッチングパラメータを変更可能。

  • 電源供給: + 3.3 VDC 50 mA

  • 動作温度: -5 ~ +65℃

仕様

仕様
マイクロプロセッサCC2540
リソースATコマンドをサポート。ユーザーは必要に応じて役割(マスター、スレーブモード)、シリアルポートのボーレート、デバイス名、パスワードなどのマッチングパラメータを柔軟に変更可能。
PCBサイズ24.5mmx30.5mmx0.8mm
外形寸法24.5mmx30.5mmx9.77mm
電源供給3.3V
通信プロトコルUart(TTL)
IO数2
キー入力IO1
LEDインジケータIO1
接続性XBee互換ソケット

電気的特性

仕様最小典型最大単位
最大入力電圧-0.33.6V
動作入力電圧2.03.33.6V
送信電流15mA
受信電流8.5mA
ディープスリープ電流600uA
動作温度-40125°C

ピン定義

注: 重要な代替機能のみがリストされています。詳細についてはデータシートを参照してください。

使用方法

  • Seeed BLE ShieldをArduino/Seeeduinoに直接接続します。XBee Shield上のジャンパーの位置に注意してください。

  • ハードまたはソフトシリアルポート: 7つのデジタルピンのうち2つを通信チャネルとして選択できます。ジャンパーをヘッダーに差し込むだけです。

  • 信号ランプ: BLEが接続されていない場合はランプが点滅しますが、BLEが接続されるとランプは点灯し続けます。

ATコマンドと設定

1) ネイティブMACアドレスを照会

送信: AT + ADDR?

送信後、成功すると次のように返されます: OK + LADD: MACアドレス(12文字のアドレス)

2) ボーレートを照会

送信: AT+BAUD?

送信後、成功すると次のように返されます: OK + Get: [para1]

para1の範囲: 0 ~ 8。対応するパラメータ: 0は9600、1は19200、2は38400、3は57600、4は115200、5は4800、6は2400、7は1200を表します。デフォルトのボーレートは9600です。

3) ボーレートを設定

送信: AT+BAUD[para1]

送信後、成功すると次のように返されます: OK+Set:[para1]

例: 送信: AT + BAUD1、返される値: OK + Set: 2。ボーレートが19200に設定されます。

注: 1200に切り替えた後、モジュールはATコマンドの設定をサポートしなくなります。スタンバイ中にPIO0を押すと、モジュールは工場出荷時の設定に戻ります。このボーレートの使用は推奨されません。ボーレートを設定した後、モジュールの電源を入れ直す必要があります。新しい設定が有効になります。

4) 指定されたBluetoothアドレスに接続するデバイスから

送信: AT+CON[para1]

送信後、成功すると次のように返されます: OK+CONN[para2]

para2の範囲: A, E, F

例: Bluetoothアドレスが0017EA0943AEの場合、AT + CON0017EA0943AEを送信すると、モジュールは次のように返します: OK + CONNA、OK + CONNF、OK + CONNEのいずれか。

5) デバイスのマッチング情報を削除

送信: AT + CLEAR

送信後、成功すると次のように返されます: OK + CLEAR

接続されたデバイスのアドレスコード情報をクリアします。

6) モジュールの動作モードを照会

送信: AT + MODE?

送信後、成功すると次のように返されます: OK + Get: [para]

paraの範囲: 0 ~ 2。0はパススルーモード、1はPIO取得+リモート制御+パススルー、2はパススルー+リモート制御モードを表します。デフォルトは0です。

7) モジュールの動作モードを設定

送信: AT + MODE []

送信後、成功すると次のように返されます: OK + Set: [para]

8) デバイス名を照会

送信: AT + NAME?

送信後、成功すると次のように返されます: OK + NAME [para1]

9) デバイス名を設定

送信: AT + NAME [para1]

送信後、成功すると次のように返されます: OK + Set: [para1]

例: デバイス名をSeeedに設定する場合、AT + NAMESeeedを送信すると、OK + Set: Seeedが返されます。この時点で、Bluetoothモジュールの名前がSeeedに変更されます。

注: コマンド実行後、電源を入れ直して設定を有効にする必要があります。

10) マッチングパスワードを照会

送信: AT + PASS?

送信後、成功すると次のように返されます: OK + PASS: [para1]

para1の範囲は000000 ~ 999999で、デフォルトは000000です。

11) ペアリングパスワードを設定

送信: AT + PASS [para1]

送信後、成功すると次のように返されます: OK + Set: [para1]

12) 工場出荷時設定に戻す

送信: AT + RENEW

送信後、成功すると次のように返されます: OK + RENEW

モジュールを工場出荷時のデフォルト設定に戻します。モジュール設定がリセットされ、工場出荷時の状態に戻ります。モジュールは500msの遅延後に再起動します。必要がない場合は注意してください。

13) モジュールをリセット

送信: AT + RESET

送信後、成功すると次のように返されます: OK + RESET

コマンド実行後、モジュールは500msの遅延後に再起動します。

14) マスター・スレーブモードを設定

送信: AT + ROLE [para1]

送信後、成功すると次のように返されます: OK + Set: [para1]

BLEモジュールのATコマンドに関する詳細情報については、データシートをご参照ください。リソーススペースからダウンロードできます。

SoftwareSerial通信

BLE Beeはマスターまたはスレーブとして動作することができます。異なるデモを通じて使用することが可能です。以下のSoftwareSerialプログラムを使用する場合は、前の図に示された接続方法を参照してください。BLE_TX-->D2、BLE_RX-->D3。

Arduino IDEを開き、以下のプログラムをコピーしてArduino/Seeeduinoボードにアップロードしてください。その後、2つのBLEシールドが互いに通信できるようになります。

デモ : BLEスレーブ


#include <SoftwareSerial.h> //ソフトウェアシリアルポート
#define RxD 2
#define TxD 3

#define DEBUG_ENABLED 1

SoftwareSerial BLE(RxD,TxD);

void setup()
{
Serial.begin(9600);
pinMode(RxD, INPUT);
pinMode(TxD, OUTPUT);
setupBleConnection();

}

void loop()
{
char recvChar;
while(1){
if(BLE.available()){//リモートBLEシールドからデータが送信されているか確認
recvChar = BLE.read();
Serial.print(recvChar);
}
if(Serial.available()){//ローカルシリアルターミナルからデータが送信されているか確認。ここに他のアプリケーションを追加可能
recvChar = Serial.read();
BLE.print(recvChar);
}
}
}

void setupBleConnection()
{
BLE.begin(9600); //BLEのボーレートをデフォルトの9600に設定
BLE.print("AT+CLEAR"); //以前の設定をすべてクリア
BLE.print("AT+ROLE0"); //Bluetooth名をスレーブとして設定
BLE.print("AT+SAVE1"); //接続情報を保存しない
}

デモ : BLEマスター


#include <SoftwareSerial.h> //ソフトウェアシリアルポート
#define RxD 2
#define TxD 3

#define DEBUG_ENABLED 1

SoftwareSerial BLE(RxD,TxD);

void setup()
{
Serial.begin(9600);
pinMode(RxD, INPUT);
pinMode(TxD, OUTPUT);
setupBleConnection();

}

void loop()
{
char recvChar;
while(1){
if(BLE.available()){//リモートBLEシールドからデータが送信されているか確認
recvChar = BLE.read();
Serial.print(recvChar);
}
if(Serial.available()){//ローカルシリアルターミナルからデータが送信されているか確認。ここに他のアプリケーションを追加可能
recvChar = Serial.read();
BLE.print(recvChar);
}
}
}

void setupBleConnection()
{
BLE.begin(9600); //BLEのボーレートをデフォルトの9600に設定
BLE.print("AT+CLEAR"); //以前の設定をすべてクリア
BLE.print("AT+ROLE1"); //Bluetooth名をマスターとして設定
BLE.print("AT+SAVE1"); //接続情報を保存しない
}

HardwareSerial通信

さらに、プログラムを使用せずにATコマンドを介してBLEシールドを使用することもできます。ただし、2つのジャンパーの位置を変更する必要があります。BLE_TX-->D1、BLE_RX-->D0。

その後、CoolTermなどのシリアルポートツールを開きます。以下は設定例です:ボーレート: 9600(デフォルト)、データビット: 8、パリティ: なし、ストップビット: 1。

まず、BLEシールドに「AT」コマンドを送信してテストを行います。「OK」が返ってきた場合、次のステップを実行できます。返ってこない場合は、Arduino/Seeeduinoに空のプログラムをアップロードし、前述の操作を通じてシリアルポートツールから応答が得られるか確認してください。


void setup()
{
}

void loop()
{
}

次に、「AT+ROLE0」コマンドをBLEシールドに送信します。「OK+Set:0」が返ってきます。これは、現在BLEシールドがスレーブとして動作する準備が整ったことを意味します。

回路図オンラインビューア

リソース

技術サポート & 製品ディスカッション

弊社製品をお選びいただきありがとうございます!お客様が弊社製品をスムーズにご利用いただけるよう、さまざまなサポートをご提供しています。異なる好みやニーズに対応するため、複数のコミュニケーションチャネルをご用意しています。

Loading Comments...