<概要>
■Bluetooth Low Enargy (Bluetooth4.0 Smart)
Bluetooth Low Energy(Bluetooth4.0、以下BLE)の無線モジュール。このモジュールを使い、スマートフォンとマイコンボードなどを無線で接続することができます。
■ID切り替え16種類
本装置は基板上のジャンパ設定でSSIDを物理的に16種類に変更することができ、狭い範囲で複数の測定を行うことができます。BLEの個別識別はたとえばMACアドレス(BLE装置は個別に6バイトの値が割り振られている)で判断するなどもありますが、たとえばiOSの場合はMACアドレスをアプリに渡さないなどありますので、SSIDでの個体識別が確実な方法となります。
■iPhoneとの通信
従来は、Bluetooth2.xや3.x、有線通信で外部機器をiPoneをつなぐ場合は、Apple社とMFi契約を結ぶ必要がありましたが、BLEからはこの契約は不要になりました。iPhoneでBLEに対応しているのはiPhone4S以上になります。よって、このモジュールはiPhone4S以上のiPhone端末であれば、自由に外部機器を作ることが可能となります。
■Androidとの通信
2013年8月からAndroidOSでもBLEの正式サポートが決まり、BLEを使える端末が出てきました。AndroidOSでも今後BLEが普及すると思われます。
■独自のシリアルポートサービススタック
GATTプロファイル搭載で、スマートフォンなどからWriteすると本製品のUARTからデータが出力され、本製品のUARTにデータを送るとスマートフォンなどにNortifyされます。詳しい使い方は下のサンプルプログラムの節を参照願います。
■3.3VのUARTインターフェイス
インターフェイスは一般的なLVTTLレベル(3.3V)の非同期シリアル通信なので、3.3Vで動作するマイコンと接続することが可能。
■日本国内の電波法に準拠
無線装置を使用する場合はその国の法律に基づいて使う必要があり、日本国内の場合は技術基準適合証明及び認証を受けていない無線機を使うことはできません。本モジュールは日本国内の技術基準適合証明及び認証(通称TELEC)を受けており、安心して使うことができます。
■カスタム対応
数量がまとまれば、センサー搭載やケース作成などのカスタム対応も可能です。メールにてお問い合わせ下さい。
■旧バージョンとの違い
動作電圧が5Vから3.3Vへ変更。1パケットのデータが20バイトまでに増えた。SSIDが切り替え可能に。大きさが若干大きくなりました。
<仕様>
電源電圧
|
+3.3VDC
|
消費電流
|
待機3mA 受信時10mA、送信時25mA (*1)
|
BT仕様
|
Ver4.0 Single
Mode (Bluetooth SMART) |
最大送信電力
|
4dBm |
受信感度
|
-94dBm |
IO電圧
|
LVTTLレベルEIA232C準拠 (3.3V) |
通信設定
|
8ビット、ノンパリ、ストップ1ビット フロー制御なし
非同期通信 |
通信速度
|
9600bps |
パケット長
|
20Byte (*2) |
パケット間隔
|
20mS (*2) |
無線周波数
|
2.402-2.480 GHz |
接続部
|
2.54mmピッチ4P スルーホール |
適合
|
TELEC, FCC,
CE, |
寸法/重量
|
寸法 30x20x8.7(H)mm
重量:約4g |
(*1) BLEの低消費電力機能はすべての装置が低消費電力設計になっている必要があります。本装置は常にUARTが動いている為、低消費電力設計にはなっておりません。 (*2) 15バイト以上のデータを送る場合は、15バイト以内のデータを20mS間づつ空けてから送信するようにしてください。
*BLE規格自体が、大量のデータを送るのをあまり考慮したものではないのでこのようになっております。大量データ送信を行う場合は弊社WiFiモジュールなど、他の機器をご検討下さい。
<価格>
税込み 4,320円 (本体価格4,000円)
<ピン配列>
3 : 3.3V電源を接続する。
G : GND。
R : BLESerial3のRX。相手のTXに接続する。
T : BLESerial3のTX。相手のRXに接続する。
※本装置は電波で通信するモジュールですので、アルミケースなどの電波を遮断するものに入れての使用はできません。ケースに入れる場合は、ケースの素材を電波を通すもの(プラスチック、木など)にしてください。
<接続例>
<IDの変更>
本装置はSSID(BLEセントラルから見た場合の名前)が16種類に変えられます。基本は「BLESerial_n」のように表示されます。nは1〜Fまでの16進値になります。ID変更は基板上のジャンパJ1〜J4の設定で行います。
出荷時は、すべてのジャンパにジャンパピンがさしてあります。さしている状態を「ON」、抜いている状態を「OFF」とします。下の図のように左右をジャンパピンでつなぐとONになります。
SSIDとON/OFFの関係は次のようになります。
J1 |
J2 |
J3 |
J4 |
SSID |
ON |
ON |
ON |
ON |
BLESerial_0 |
OFF |
ON |
ON |
ON |
BLESerial_1 |
ON |
OFF |
ON |
ON |
BLESerial_2 |
OFF |
OFF |
ON |
ON |
BLESerial_3 |
ON |
ON |
OFF |
ON |
BLESerial_4 |
OFF |
ON |
OFF |
ON |
BLESerial_5 |
ON |
OFF |
OFF |
ON |
BLESerial_6 |
OFF |
OFF |
OFF |
ON |
BLESerial_7 |
ON |
ON |
ON |
OFF |
BLESerial_8 |
OFF |
ON |
ON |
OFF |
BLESerial_9 |
ON |
OFF |
ON |
OFF |
BLESerial_A |
OFF |
OFF |
ON |
OFF |
BLESerial_B |
ON |
ON |
OFF |
OFF |
BLESerial_C |
OFF |
ON |
OFF |
OFF |
BLESerial_D |
ON |
OFF |
OFF |
OFF |
BLESerial_E |
OFF |
OFF |
OFF |
OFF |
BLESerial_F |
<電源の投入>
3V端子に電源+を、GND端子に電源GNDをつないでください。電源は乾電池3本又は2.7〜3.3Vの安定化電源をつないでください。3Vのボタン電池でも本装置だけは動作しますが、本装置以外の電子部品をつなぐ場合は電流不足が考えられますのであまりおすすめできません。
電源を投入すると、Jumperピンで設定されたSSIDでアドバタイズが開始されます(接続可能状態になる)。アドバタイズ状態の時、赤LEDが点滅します。(接続すると点灯します)
<動作確認について>
本装置は、BLE自作装置を開発する方向けとなっており、基本的にはBLEセントラル側でプログラムを組んで接続してください。とはいえ、購入時の確認及び、自作装置のデバック時に、本装置が動いているかどうか確認できると便利です。スマートフォンアプリで無料のBLE確認アプリがありますのでそのようなものをあらかじめダウンロードしておくことをお勧めします。以降はフリーのBLE確認アプリ「LightBlue」を使った画面をご紹介します。尚、これは動作を保証するものではなくあくまでもデバック表示例となります。お手持ちのスマートフォンでLightBlueが上手く動かない(OSアップデートなどで起きる場合もある)場合は、数種類のBLE確認アプリをインストールして試してください。アプリによっては操作方法や動作が異なる場合があります。たとえばキャラクタリスティックの名前が出ない(ある操作をすると出るなど)、値が更新されない(ある操作をすると更新する)などがあります。最終的にはBLEの規格に沿って、ご自分でアプリを作り、確認してください。
<アドバタイズ>
電源を入れるとアドバタイズが始まり、BLEセントラル側から存在が見えるようになります。アドバタイズ中は基板上のLEDが点滅します。
下はLightBlueで周囲のBLEを検索したところです。アドバタイズ中はこのようにSSID(デバイス名のようなもの)と電波強度が送信されています。尚、本装置はペアリングしないようになっております。ペアリングは行わないでください。(BLEはベーシックBluetoothとは異なり、ペアリングしないでも接続通信ができます。)
<接続>
Connectすると接続され、キャラクタリスティックなどの情報が送信され、各機能が使えるようになります。接続後はアドバタイズが止まり、他のBLEセントラルからは見えなくなります。Connectしている最中はLEDが点灯します。Connectを解除するとLEDが点滅にかわりアドバタイズが再開されます。(Connectの仕方は各BLEセントラルに依存。LightBlueの場合はSSIDをタップ)
1つのサービスの下に、2個のキャラクタリスティックがあります。サービスUUIDは次になります。
□サービス:BLESerial_n UUID:FEED0001-C497-4476-A7ED-727DE7648AB1
BLESerialのキャラクタリスティックは次のような構成になっています。
■RX (Notify) UUID:FEEDAA03-C497-4476-A7ED-727DE7648AB1
■TX (Write) UUID:FEEDAA02-C497-4476-A7ED-727DE7648AB1
<RX>
Notify
UUID:FEEDAA03-C497-4476-A7ED-727DE7648AB1
データサイズ:1〜20バイト
BLESerialのRX端子にシリアルデータを送ると、Notifyでセントラルにデータが送られます。データサイズは最大20バイトになります。データを送った後は20mS以上間を空けてください。21バイト以上のデータを送るとエラーとなり、数秒後にリセットされます(切断〜アドバタイズに戻る)。
<TX>
Write (without response)
UUID:FEEDAA02-C497-4476-A7ED-727DE7648AB1
データサイズ:1〜20バイト
セントラルからこのキャラクタリスティックにデータを送ると、BLESerialのTX端子からデータが送られます。21バイト以上のデータを送ろうとすると無視されます。データを送った後は20mS以上間を空けてください。
<現在(2013年11月)の携帯端末のBLE搭載状況>
iPhoneの場合
iPhoneとつなぐ場合、4S以上(現在4S、5、5C、5S)であればBLEが内臓されているので接続可能です。
Androidの場合
Androidの場合、2013年11月現在で、Bluetooth4.0搭載のスマートフォンはいくつかありますが、ほとんどはハードメーカー独自の実装になり、接続は難しくなっています。
2013年8月にGoogleから発表され、Andrtoid4.3からBLEをサポートしています。但し、この発表前の端末では、OSを4.3にバージョンアップしてもハード的にサポートされていないので使えません。(しかしOSは問題なくjアップデートできる)OSがBLEに対応しているかどうかの確認方法は次の通りです。
<BLE対応しているかの確認方法(Android端末の場合)>
ADB接続時にコンソールから adb shell pm list
features を実行してください。
featureの中に、android.hardware.bluetooth_le
があれば動作します。最後に「_le]が付いたbluetoothが無いと動きません。
<使用例とサンプルプログラム>
Bubblyというストリートパフォーマー向けの投げ銭ガジェットを作っているスタートアップに、BLESerial3の試作機を使っていただいたレポートがこちらになりますiOSとArduinoのサンプルプログラムと配線の実例が掲載されております。当記事は参照用となります。実際の動作については環境などにより異なりますのでご注意願います。尚、本内容についてのご質問はご遠慮下さい。
Qiitaのページ
Design-labのページ
<運用上の注意>
1)本製品は日本国内の電波法規定による技術適合を受けております。無線部の改造などは絶対に行わないで下さい。
2)基板上にはチップアンテナが付いております。この周囲に無線に影響を与える金属などを配置すると無線性能が低下します。アルミなどの無線を遮断するケースに入れると無線が使えなくなります。
<トラブルシューティングQ&A>
Q:動かない。どうしたらいいかわからない。
A:電源を入れたときに赤LEDが点滅するか確認してください。LEDがまったくつかない、などの場合は初期不良が考えられますのでメールにてお問い合わせ下さい。
A:電源電圧や配線を確認してください。
<使用上の注意>
・バッテリ使用時には電源ラインをショートさせると、バッテリが破裂・発火する可能性があります。作業中にはショートさせないよう十分注意して下さい。また、取り付け後も、あいている電源ラインに導電物質が触らないように注意して下さい。
|