Bluetooth V4.0 HM-11 BLEモジュール
この文書は 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を介したリモートコントロール
技術サポートと製品ディスカッション
弊社製品をお選びいただきありがとうございます!製品の使用体験がスムーズになるよう、さまざまなサポートを提供しています。異なる好みやニーズに対応するため、いくつかのコミュニケーションチャネルを用意しています。