- BLEおよびBluetoothビーコンとは何ですか?
- BLEテクノロジーはどのように機能し、ビーコンで使用されますか?
- Eddystone Beaconとは何ですか?
- 要件
- EddystoneBeacon用にRaspberryPiをセットアップする
- Tx電力を較正することにより、送信信号電力を最適化します
- EddystoneBluetoothビーコンのアプリケーション
Bluetoothは、データのワイヤレス転送、他のデバイスの制御、ホームオートメーションシステムの構築などを行う革新的なテクノロジーの1つです。しかし、Bluetoothを使用して、近くのデバイスに情報をブロードキャストし、重要な情報を簡単に表示できることを疑問に思ったことはありませんか。チェックアウトなど。タスクを実行するためにGoogleによって開発されたプロトコルがあり、そのタスクをRaspberry Piに簡単に展開して、Bluetoothビーコンブロードキャスターにすることができます。
このチュートリアルでは、BLE(Bluetooth Low Energy)とBluetoothビーコンについて理解し、RaspberryPiにEddystoneBluetoothビーコンをインストールしてURLをブロードキャストします。Bluetoothが組み込まれているため、RaspberryPiをBluetoothビーコンに変換するのは非常に簡単です。
BLEおよびBluetoothビーコンとは何ですか?
Bluetoothの低エネルギー、名前は古典のBluetoothよりも消費電力が少ないことを示して。これは、事前定義された定期的な更新で必要なときにデータを送信することによって実現されます。ただし、従来のBluetoothとは異なり、ファイルや音楽の転送には使用されません。BLEデバイスはBluetoothV4.0で動作し、サーバーまたはクライアントとして低電力で動作できるため、BLEはビーコン、スマートウォッチ、フィットネスバンドなどに最適です。一方、クラシックBluetoothは単純な古いものです。ファイルやその他のデータの転送に使用するBluetoothプロトコル。ほとんどすべてのBLEデバイスには、クラシックBluetooth機能が関連付けられています。以前、ESP32でBLEについて詳しく説明しました。
Bluetoothビーコン:
ビーコンは、いくつかのメッセージを近くの電子機器にブロードキャストし、ブロードキャスターとして動作するハードウェアデバイスです。このテクノロジーにより、ポータブルデバイスはビーコンデバイスに近接しているときにいくつかのアクションを実行できます。現在、ビーコンはBLEと従来のBluetoothを使用して実装できます。ほとんどのスマートフォンやその他の電子機器はBLEと互換性があり、ビーコンレシーバーとして使用できるため、BLEビーコンの実装は、従来のBluetoothビーコンと比較して効率的であり、消費電力を削減します。
平均して、Bluetooth LowEnergyビーコンはBLE信号を80メートルに送信できます。
BLEテクノロジーはどのように機能し、ビーコンで使用されますか?
BLEは、短距離通信用に設計された低消費電力テクノロジーであり、高データレートよりもバッテリー寿命が重要な要素である場合に適しています。この通信でのデータ転送は一方向のみです。BLEビーコンは、一定の時間間隔で小さなデータパケットを送信します。これらのデータパケットは、スマートフォンにインストールされているビーコンスキャナーアプリによって受信およびデコードされます。この受信データは、製品の宣伝やメッセージのプッシュなどのアクションをトリガーします。
Bluetoothビーコンでは、ID番号がBLEチャネルを介して毎秒10回送信されます。次に、このID番号はBluetooth対応デバイスによって受信され、ビーコンスキャナーアプリによって認識され、アプリやクラウドに保存されているコンテンツのダウンロードなどのアクションにリンクされ、スマートフォンに表示されます。
Eddystone Beaconとは何ですか?
Eddystoneは、 BLEデバイスに一方向のメッセージをブロードキャストできるようにするGoogleによって開発されたプロトコルです。Eddystone-URLフレームは、物理Webのバックボーンを形成し、周囲のWebコンテンツの検出に役立ちます。ビーコンは、Eddystoneプロトコルを使用して4種類のデータをブロードキャストできます。それらは次のとおりです。
- Eddystone-URLアドレスをブロードキャストするためのURL
- Eddystone-ビーコンIDをブロードキャストするためのUID
- Eddystone-デバイスの温度やバッテリーの強度などのビーコンテレメトリをブロードキャストするためのTLM。
- Eddystone-セキュリティのためのEID。
iOS対応デバイス用のiBeaconのような他のタイプのビーコンもありますが、EddystoneはAndroidデバイス専用です。また、GoogleはNearby Notificationsを廃止したため、ユーザーはブロードキャストされたコンテンツを表示する専用のビーコンスキャナーアプリをインストールする必要があります。
このチュートリアルでは、RaspberryPiをEddystoneBeaconとして使用し、Eddystone URLを使用したURLアドレスのブロードキャストに焦点を当てて、Androidデバイスを使用して誰でもブロードキャストされた情報に簡単にアクセスできるようにします。
要件
ここでは、このBluetoothビーコンを構築するために必要なのはRaspberryPiだけです。RaspbianJessieまたは新しいODがインストールされたRaspberryPi2以降である必要があります。
ここでは、SSHを使用してラップトップ上のRaspberryPiにアクセスします。ラップトップでVNCまたはリモートデスクトップ接続を使用するか、Raspberrypiをモニターに接続できます。モニターなしでヘッドレスでRaspberryPiをセットアップする方法の詳細については、こちらをご覧ください。
EddystoneBeacon用にRaspberryPiをセットアップする
RaspberryPiでEddystoneブロードキャスターをセットアップするのは非常に簡単です。3つのコマンドのみが含まれます。
これは、hciconfigコマンドを使用してアクセスできるHCI(ホストコントローラーインターフェイス)を構成することで実行できます。このコマンドを使用して何ができるかを確認するには、ターミナルで以下のコマンドを入力します。
hciconfig -h
1.まず、以下のコマンドを使用して、RaspberryPiでBluetoothデバイスを有効にする必要があります。
sudo hciconfig hci0 up
2.次に、以下のコマンドを使用して、Bluetoothを「アドバタイズして接続できない」デバイスに設定する必要があります。
sudo hciconfig hci0 Leadv 3
3.上記のコマンドにより、デバイスはブロードキャストサービスを実行します。次のコマンドに、さまざまなフレーム情報とURLを16進形式で含むビーコンデータを入力するだけです。以下のコマンドを実行して、ビーコンブロードキャストを開始します。
sudo hcitool -i hci0 cmd 0x08 0x0008 1c 02 01 06 03 03 aa fe 14 16 aa fe 10 00 02 63 69 72 63 75 69 74 64 69 67 65 73 74 07 00 00 00
このコマンドは、URLhttp://circuitdigest.comをブロードキャストします。
スマートフォンでブロードキャストされたメッセージを確認するには、AndroidスマートフォンにPhysical Web AppまたはBeaconスキャナーをダウンロードして、スキャンを開始します。以下に示すように、アプリにブロードキャストされたリンクが表示されます。リンクをクリックして、ブラウザでWebサイトにアクセスして開きます。
ここで、メッセージの16進コーディングを理解しましょう。以下の表に、コードに存在するすべての値の説明を示します。
値 |
説明 |
---|---|
0x08 |
#OGF =操作グループフィールド= Bluetoothコマンドグループ= 0x08 |
0x0008 |
#OCF =操作コマンドフィールド= HCI_LE_Set_Advertising_Data = 0x0008 |
1c |
長さ。16進数の1cは、それに続くバイト数である10進数の23に変換されます。 |
02 |
長さ |
01 |
データ型の値にフラグを立てます |
06 |
フラグデータ |
03 |
長さ |
03 |
16ビットサービスUUIDデータ型値の完全なリスト |
aa |
16ビットEddystoneUUID |
fe |
16ビットEddystoneUUID |
14 |
長さ。16進数の14は、それに続くバイト数である10進数の15に変換されます。 |
16 |
サービスデータデータ型の値 |
aa |
16ビットEddystoneUUID |
fe |
16ビットEddystoneUUID |
10 |
フレームタイプ= URL |
00 |
TXパワー(これは調整する必要があります) |
02 |
URLスキーム(http:// = 0x02) |
63 |
16進数の「c」 |
69 |
16進数の「i」 |
72 |
16進数の「r」 |
63 |
16進数の「c」 |
75 |
16進数の「u」 |
69 |
16進数の「i」 |
74 |
16進数の「t」 |
64 |
16進数の「d」 |
69 |
16進数の「i」 |
67 |
16進数の「g」 |
65 |
16進数の「e」 |
73 |
16進数の「s」 |
74 |
16進数の「t」 |
07 |
.com(.com = 0x07) |
00 |
|
00 |
|
00 |
Raspberry Pi Bluetooth Beaconを使用してカスタムURLをブロードキャストするには、オンラインツールを使用してURL文字を16進数に変換し、上記のコマンドに入力するだけです。送信できる最大文字数は16文字です。URLが長すぎる場合は、bitly.comなどのURL短縮サービスを使用して短縮し、上記の表のデータに合わせてください。
各文字を16進数に相当するものに変換するのは、非常に面倒で時間がかかります。仕事を簡単にするために、ブロードキャストしたいURLを入力するだけで、このようにコマンドを準備できるEddystoneURLコマンド計算機があります。
Bluetoothビーコンは現在URLをブロードキャストして正常に機能していますが、Bluetoothビーコンから正確な距離を取得するための上記のコマンドの値の1つであるTx電力というもう1つの調整が必要です。
Tx電力を較正することにより、送信信号電力を最適化します
Eddystoneフレームでは、送信されるコンポーネントはほとんどなく、Txパワーは信号の強度を示すコンポーネントの1つです。信号の強さをデコードすることにより、受信機はビーコン放送局からの距離を見つけます。 Txパワーの値は、-12から10の範囲です。正確な距離を取得するには、ヒットと試行方法によって値を見つける必要があります。このためには、EddystoneメッセージコマンドでTx powerの値を調整し、ビーコンスキャナーアプリを開いた状態でスマートフォンを1mの距離に置きます。ここで、コマンドにTxpowerの値を0から負の値まで入力し始めます。 10進値を16進形式に変換することを忘れないでください。これには、オンラインの値変換ツールを使用して簡単にデコードし、変換された値の最後の2桁を取得します。私の場合、16進値はf4です。。スキャナーアプリで距離を確認し、約1mになるまで値を調整します。その後、正確な距離でEddystoneURLブロードキャスターを使用します。
EddystoneBluetoothビーコンのアプリケーション
BLEビーコンの使用例のいくつかを次に示します。
- BLE対応の小売:このテクノロジーは、エキサイティングなオファーや販売を宣伝することで、店舗の近くの顧客を引き付けるために使用できます。
- BLEビーコン対応イベント: イベントやスタジアムでの簡単な登録と簡単な支払いチェックアウトに使用できます。
- 不動産のBLEビーコン:お近くの物件の詳細をすべて入手でき、ワンタッチで予約できます。
要件に応じて考え、実装できるアプリケーションは他にもたくさんあります。
したがって、これは、Raspberry Piを使用して、Eddystoneを使用してBluetoothビーコンに変換することにより、メッセージまたはURLをブロードキャストする方法です。以下のデモビデオを確認してください。
/>