Seeed BLE Shield v1
この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues
Seeed BLE ShieldはHM-11モジュールを利用して、Arduino/SeeeduinoにシリアルBLE機能を提供します。このシールドとの通信にはマイクロコントローラーの2つのピンだけを使用します。BLE ComAssistant APKのサポートにより、このBLEシールドはペアリングなしでモバイルフォンと簡単に通信できます。ロボット制御やリモートコントロール機器など、さまざまな条件で使用できます。このシールド用に簡単で便利なコマンドセットを準備しており、簡潔なコードで機能を実行できます。
仕様
仕様 | 値 |
---|---|
BTバージョン | Bluetooth Specification V4.0 BLE |
動作周波数 | 2.4GHz ISMバンド |
動作電流 | < 15 mA |
供給電流 | < 30 mA |
スリープ電流 | < 3 mA |
変調方式 | GFSK(ガウシアン周波数シフトキーイング) |
RF出力 | -23dbm, -6dbm, 0dbm, 6dbm(ATコマンドAT+POWEで変更可能) |
速度 | 非同期: 6K Bytes、同期: 6K Bytes |
感度 | ≤-84dBm(0.1% BER時) |
セキュリティ | 認証と暗号化 |
サービス | 中央&周辺 UUID FFE0, FFE1 |
供給電力 | 5V |
動作温度 | -5 ~ +65℃ |
サイズ | 68mm x 43mm |
PINコード | 000000(デフォルト) |
ハードウェア概要
HM-11: 基本モジュールはHM-11です。詳細についてはHM-11のWikiを参照してください。
信号ランプ: BLEが接続されていない場合はランプが点滅しますが、BLEが接続されるとランプは点灯し続けます。
Groveコネクタ: BLEシールドには2つのGroveコネクタがあり、Grove製品を簡単にボードに接続できます。
ハードまたはソフトシリアルポート: 7つのデジタルピンのうち2つを通信チャネルとして選択できます。ジャンパーをヘッダーに差し込むだけです。シルクスクリーンに2つの誤りがあります。「WIFI_TX」と「WIFI_RX」を「BLE_TX」と「BLE_RX」として扱ってください。
HM-11からの予約ピンアウト: HM-11モジュールからの予約ピンアウトがいくつかあります(例: CTS1、RTS1、PIO2など)。
リセットボタン: BLEシールドをリセットする必要がある場合はリセットボタンを押してください。ただし、BLEシールドがメインボード(例: Arduino Uno)に接続されている場合、このリセットボタンはメインボードの状態には影響しません。
アプリケーション
ハードウェア接続
Seeed BLE Shield を Arduino/Seeeduino に直接接続します。BLE Shield 上のジャンパーの位置に注意してください。
SoftwareSerial 通信
Seeed BLE Shield はマスターまたはスレーブとして動作することができます。異なるデモを通じて使用できます。以下の SoftwareSerial プログラムを使用する場合は、前述の画像の接続方法を参照してください。BLE_TX-->D2、BLE_RX-->D3。
Arduino IDE を開き、以下のプログラムをコピーして Arduino/Seeeduino ボードにアップロードします。その後、2つの BLE Shield が互いに通信できるようになります。
デモ : 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 通信
さらに、BLE Shield を AT コマンドを使用してプログラムなしで使用することもできますが、2つのジャンパーの位置を変更する必要があります。BLE_TX-->D1、BLE_RX-->D0。
その後、CoolTerm などのシリアルポートツールを開きます。以下は設定の一例です:ボーレート: 9600(デフォルト)、データビット: 8、パリティ: なし、ストップビット: 1。
まず、BLE Shield に "AT" コマンドを送信してテストします。"OK" が返ってきた場合、次のステップに進むことができます。返ってこない場合は、Arduino/Seeeduino に空のプログラムをアップロードし、前述の操作を通じてシリアルポートツールから応答が得られるか確認してください。
void setup()
{
}
void loop()
{
}
その後、BLE Shield に "AT+ROLE0" コマンドを送信します。"OK+Set:0" が返ってきた場合、BLE Shield がスレーブとして動作する準備が整ったことを意味します。
AT コマンド
AT コマンドに関する詳細情報は、BLE モジュールのデータシートを参照してください。リソーススペースからダウンロードできます。
関連資料
- Seeed BLE Shieldに関するFAQ. また、製品のWikiページ右側にある「FAQ」ボタンをクリックすることでFAQページにアクセスできます。
回路図オンラインビューア
リソース
技術サポートと製品ディスカッション
弊社製品をお選びいただきありがとうございます!製品の使用体験がスムーズになるよう、さまざまなサポートを提供しています。異なる好みやニーズに対応するため、複数のコミュニケーションチャネルをご用意しています。