- Bluetooth Low Energy(BLE)とは何ですか?
- iBeaconテクノロジーはBLEをどのように使用しますか?
- iBeaconはどのように重要ですか?
- 必要なコンポーネント
- HM10BLEモジュールをiBeaconモードに設定する
- iBeacon用のBLEスキャナーAndroidアプリの使用
BeaconとiBeaconのテクノロジー用語は、しばしば同じ意味で使用されます。iBeaconはAppleによって導入され、AppleのiPhoneやその他のiOSデバイスに位置ベースの情報とサービスのさまざまな方法を提供するためのBluetooth Low Energy(BLE)ワイヤレステクノロジーのAppleの実装です。技術標準により、モバイルアプリ(iOSデバイスとAndroidデバイスの両方で実行)は、物理世界のビーコンから情報を収集し、電話に情報を表示できます。
Bluetooth Low Energy(BLE)とは何ですか?
BLEはBluetoothプロトコルに似ていますが、消費電力が異なります。BLEは、短距離でデータを送信するために使用されるワイヤレスパーソナルエリアネットワークテクノロジーであり、低エネルギー消費用に設計されています。BLEは、CR2032コイン電池を使用しても長期間動作するように設計されています。BLEは、以前のクラシックBluetoothと同様の通信範囲を維持します。
iBeaconテクノロジーはBLEをどのように使用しますか?
Appleは、iBeaconテクノロジーを使用して、BLE広告のフォーマットを標準化しました。標準形式は、UUID、メジャー、マイナー、TxPowerの4つの主要部分で構成されています。各規約をより明確に理解するために、さまざまな国でストアの数を設定する必要があるAppleElectronicsの例を取り上げます。それぞれの説明は次のとおりです。
UUID: UUIDは、ビーコンの大規模なグループからビーコンの数を識別するために使用される16バイトの文字列です。これにより、特定のアプリケーションのビーコンが識別されます。たとえば、Appleがオフライン電子ストアのチェーンを維持している場合、すべてのビーコンは同じUUIDを共有し、ビーコンがAppleに属していることを通知します。
メジャー:これは、ビーコンの大きなグループからビーコンの小さなグループを識別するために使用される2バイトの文字列です。したがって、ビーコンがAppleに属し、Appleが1つの都市に10の店舗用に10のビーコンを設定している場合、Appleは、どのビーコンが同じ都市のどの店舗に属しているかを知るようになります。
マイナー:これは、ビーコンのグループから個々のビーコンを識別するために使用される2バイトの文字列です。Appleがストアに50個のビーコンをセットアップしたとすると、マイナーを使用することで、Appleは顧客がストアにいる場所を見つけることができます。
Tx Power:Tx Powerは、ビーコンからの近接度または距離を決定するために使用されます。近接度は、キャリブレーションの前に選択する必要があり、事前にハードコーディングする必要があります。選択された近接度は、デバイスがベースラインとして使用する推定距離を示します。
例:すでにセットアップおよびブロードキャストされているビーコンは、次のようになります。
UUID: 36BFDA543784CAD5
メジャー: 45
マイナー: 7
このチュートリアルでは、iBeaconモードで設定されたBLEモジュールを使用してこれらすべてのパラメーターを設定します。
BLEテクノロジーの詳細については、ESP32を使用したBLEに関する以前の記事を確認してください。
iBeaconはどのように重要ですか?
Target Margetingの人気が高まるにつれ、iBeaconは重要な役割を果たすことができます。iBeaconネットワークを形成することにより、ブランド、小売業者、または店舗は、アクティビティやその他の重要な顧客行動データを見つけることができ、さらに、顧客のスマートフォンで非常に意味のあるコンテキストに応じたハイパーローカルを送信するために使用できます。上記のAppleを例にとると、スマートフォンを持っている顧客がApple ElectronicStoreの近くを通りかかっているとします。
顧客のスマートフォンにインストールされたアプリがストアにインストールされたiBeaconを聞くと、アプリはすべてのオファーとストアの詳細を含むデータをiBeaconを介して送信できます。顧客がオファーを魅力的で購入したい場合は、ストアにアクセスして購入できます。これ以外に、iBeaconには、支払い、買い物客/顧客分析、空港、テーマパーク、コンサート会場、その他多くのエリアでのアプリケーションなど、他のアプリケーションを含めることができます。 iBeaconテクノロジーの可能性は無限であり、まだ発見されていません。
このチュートリアルでは、Bluetooth4.0ベースのHM10BLEモジュールを使用したiBeaconのデモを行います。ただし、市場で入手可能なほとんどのHM10モジュールはクローンモジュールであるため、クローンHM10モジュールを使用している場合は、開始する前に、クローンHM-10モジュールのファームウェアを変更またはフラッシュする方法を確認することが重要です。また、ArduinoでHM10Bluetoothモジュールを使用してLEDを制御しました。
このHM10BLE iBeaconチュートリアルでは、HM10モジュールをiBeaconとしてセットアップし、AndroidアプリでRSSI(近接、距離)などの詳細を検出する方法を示します。
必要なコンポーネント
ハードウェア:
- HM10BLEモジュール
- USBからTTLへのコンバーター
- ジャンパー
ソフトウェア:
- Arduino IDE
- Androidアプリ(BLEスキャナー)
このチュートリアルで使用されているBLEHM10は、jnhuamaoの公式Webサイトで入手可能なHM10ファームウェアv540を使用しています。
HM10BLEモジュールをiBeaconモードに設定する
最初にBLEHM10モジュールをiBeaconモードに設定します。HM10をiBeaconモードに設定するには、以下の手順に従ってください。
- HM10モジュールとUSB / TTLコンバーターを以下の接続で接続します。
HM10モジュールピン |
USB / TTLコンバーター |
処方箋 |
Tx |
Tx |
処方箋 |
Vcc |
5V |
Gnd |
Gnd |
- Arduino IDEを開き、USB / TTLコンバーターのCOMポートを選択します
- 次に、Arduino IDEのシリアルモニターを開き、「9600」のボーレートを選択し、シリアルモニターで「行末なし」を選択します。
- HM10からOK応答を取得した後、シーケンスモードで次のATコマンドを次々に入力します。
AT + RENEW
AT + RESET
AT
AT + MARJ0x1000
AT + MINO0x0007
AT + ADVI5
AT + NAMEiBeacon
AT + ADTY3
AT + IBEA1
AT + DELO2
AT + PWRM0
AT + RESET
注: ATコマンドの赤でマークされた値はユーザーが構成できます。例に応じて、ユーザーが変更できます。
上記で使用したすべてのATコマンドの説明は次のとおりです。
- AT + RENEW(工場出荷時のデフォルトに戻します)
- AT + RESET(HM10を再起動します)
- AT(ATテスト)
- AT + MARJ0x1000(12月にiBeaconメジャー番号を0x1000 HEXに変換して4096に設定)
- AT + MINO0x0007(12月にiBeaconマイナー番号を0x1000 HEXに変換して4096に設定)
- AT + ADVI5(アドバタイズ間隔を5、つまり546.25ミリ秒に設定します)
- AT + NAMEiBeacon(HM-10モジュール名をiBeaconに設定します。用途に応じて変更してください)
- AT + ADTY3(HM10を接続不可に設定して電力を節約し、クライアントがモジュールに接続できないように設定すると、電力を節約できます)
- AT + IBEA1(HM10でiBeaconモードを有効にします)
- AT + DELO2(電力を節約するためにのみiBeaconをブロードキャストモードに設定します。HM10はBluetoothトランシーバーであるため、その存在をブロードキャストし、他のデバイスをスキャンできます)
- AT + PWRM0(HM10が自動スリープし、消費電力を8mAから0.18mAに削減できるようにします。iBeaconは常に送信します)
すべてのATコマンドを実行すると、シリアルモニターは次のようになります。
ATコマンドの応答は、改行なしでシリアルに出力されます。HM10はすべてのATコマンドの後にOKと応答するため、2つのATコマンドの応答を簡単に区別できます。したがって、コマンドがAT + RENEWの場合、HM10はOK + RENEWと応答し、他のATコマンドについても同様に応答します。
。UUID、メジャー、マイナー、その他の詳細をブロードキャストできるようになりました。放送された詳細を確認するには、利用可能なiBeacon Androidアプリが多数あり、PlayストアまたはAppleストアからiBeacon Androidアプリをダウンロードすると、iBeaconモードに設定されたHM10モジュールを見つけることができます。このチュートリアルでは、「BLEスキャナー」Androidアプリを使用しています。
iBeaconモードを無効にするには、コマンドAT + IBEA0を使用するだけです。次に、AT + ADTY0を送信して、Advertising ScanResponseを接続可能にします。次に、AT + RESETを送信してHM10をリセットします。
iBeacon用のBLEスキャナーAndroidアプリの使用
- PlayストアからBLEスキャナーアプリをダウンロードして開きます。
- 画面は以下のようになります。
- 「近く」タブは、利用可能なすべてのiBeaconsを表示するために使用されます。iBeaconの検索を開始するには、画面をプルダウンするか、画面の右上隅にある検索アイコンに移動します。これにより、iBeaconsの検索が開始されます。
- iBeaconを検索すると、iBeaconのRSSI、UUID、メジャー、マイナーが表示されます。モバイルとiBeaconを互いに離すと、RSSIが変わります。この画面では、RSSIは(-50)です。これは、この記事の最後にあるデモビデオで見ることができます。
- スマートフォンをiBeaconHM10から取り外した後、RSSI値は-50から-81に変わります。これらの値は、デバイスの1つを移動すると変化し続けます。
RSSI信号の許容値は次のとおりです。
電波強度 |
TL; DR |
に必要 |
|
---|---|---|---|
-30 dBm |
すごい |
達成可能な最大信号強度。これを実現するには、クライアントはAPから数フィートしか離れていません。現実の世界では典型的でも望ましくない。 |
該当なし |
-67 dBm |
とても良い |
非常に信頼性が高く、タイムリーなデータパケットの配信を必要とするアプリケーションの最小信号強度。 |
VoIP / VoWiFi、ストリーミングビデオ |
-70 dBm |
はい |
信頼性の高いパケット配信のための最小信号強度。 |
メール、ウェブ |
-80 dBm |
良くない |
基本的な接続のための最小信号強度。パケット配信は信頼できない可能性があります。 |
該当なし |
-90 dBm |
使用できません |
ノイズフロアに近づいたり、溺れたりします。機能はほとんどありません。 |
該当なし |
- 近接ビューでiBeaconを見つけるには、検索アイコンのすぐ横にある右上隅の近接アイコンに移動します。画面には、RSSI信号で利用可能なすべてのiBeaconが表示されます。
これで、HM10BLEモジュールをiBeaconとして設定するチュートリアルは終了です。疑問や提案がある場合は、フォーラムに書き込むか、以下にコメントしてください。