Skip to main content

Bluetooth V4.0 HM-11 BLEモジュール

note

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

これは、BLE BeeおよびXadow BLEで使用されるSMD BLEモジュールです。TI CC2541チップをベースにしており、低コストで堅牢なネットワークノードを構築でき、超低消費電力システムに非常に適しています。このモジュールは小型で使いやすく、メーカーのプリプログラム済みファームウェアを使用することで、ATコマンドを介して迅速にBLE通信を構築できます。iPhone、iPad、およびAndroid 4.3とのBLE通信をサポートしています。

特徴


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

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

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

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

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

  • 変調方式: GFSK (ガウス周波数シフトキーイング)

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

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

  • 電源供給: + 3.3 VDC 50 mA

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

仕様


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

電気的特性


仕様 最小 標準 最大 単位
最大入力電圧 -0.3 3.6 V
動作入力電圧 2.0 3.3 3.6 V
送信電流 15 mA
受信電流 8.5 mA
ディープスリープ電流 600 uA
動作温度 -40 +65 °C

ピン定義


ピン 名前 説明
1 UART_RTS UART
2 UART_TX UART
3 UART_CTS UART
4 UART_RX UART
5 NC
6 NC
7 NV
8 NV
9 VCC 電源供給 3.3V
10 NC
11 RESETB リセット、低アクティブで最低5ms
12 GND GND
13 PIO3 IOポート、DHT11/DS18B20に接続するために使用
14 PIO2 デジタル入力、出力
15 PIO1 LEDインジケータ
16 PIO0 ボタンピン

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

8 -------- 230400

デフォルト: 0 (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、CONNEまたはOKを返します。

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]

サンプルコード


//マスター

/*

このサンプルコードはパブリックドメインに属します。

*/
#include <SoftwareSerial.h>

SoftwareSerial mySerial(2, 3); // RX, TX

void setup()
{
// シリアル通信を開始し、ポートが開くのを待ちます:
Serial.begin(9600);
while (!Serial) {
; // シリアルポートが接続されるのを待ちます。Leonardoのみ必要
}

Serial.println("おやすみなさい、月!");

// SoftwareSerialポートのデータレートを設定
mySerial.begin(9600);
// マスターを設定
mySerial.print("AT+ROLE1");
delay(10000);
}

void loop() // 繰り返し実行
{
// SoftwareSerialポートのデータレートを設定
mySerial.print("テスト 私はマスターです ");
delay(10000);
if (mySerial.available())
Serial.write(mySerial.read());
if (Serial.available())
mySerial.write(Serial.read());
}

//スレーブ

/*

このサンプルコードはパブリックドメインに属します。

*/
#include <SoftwareSerial.h>

SoftwareSerial mySerial(2, 3); // RX, TX

void setup()
{
// シリアル通信を開始し、ポートが開くのを待ちます:
Serial.begin(9600);
while (!Serial) {
; // シリアルポートが接続されるのを待ちます。Leonardoのみ必要
}

Serial.println("おやすみなさい、月!");

// SoftwareSerialポートのデータレートを設定
mySerial.begin(9600);
// スレーブを設定
mySerial.print("AT+ROLE0");
delay(10000);
}

void loop() // 繰り返し実行
{
// SoftwareSerialポートのデータレートを設定
mySerial.print("テスト 私はスレーブです ");
delay(10000);
if (mySerial.available())
Serial.write(mySerial.read());
if (Serial.available())
mySerial.write(Serial.read());
}

関連プロジェクト


Grove-Serial Bluetoothとは

シリアルBluetoothは、透明なワイヤレスシリアル接続を設定するために設計されています。

シリアルポートBluetoothモジュールは、完全に認定されたBluetooth V2.0+EDR(Enhanced Data Rate)3Mbps変調を備えた、完全な2.4GHz無線トランシーバーとベースバンドを提供します。

このモジュールは、CMOS技術を使用したCSR Bluecore 04-External単一チップBluetoothシステムを採用しており、AFH(Adaptive Frequency Hopping Feature)を備えています。

IRリモート

このプロジェクトでは、Grove - Water Sensorを使用して、植物に水をやるためのシンプルで効果的なソリューションを作成します。

このデモを使用すると、以下が可能です:

  • すべてのリモートコマンドを1つのAndroidデバイスに統合

  • SeeeduinoとAndroidパネル間でBluetoothを介して通信

  • IRを介したリモートコントロール

作ってみたい!

Bluetoothを使った他の素晴らしいプロジェクト

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

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

Loading Comments...