iBeaconは、ADV_NONCONN_INDでアドバータイズされるが、ADV_NONCONN_INDでは、AdvAが6オクテット、AdvDataが0-31オクテットで構成される。 AdvA AdvAは、6オクテット(48bit)のアドレスにより構成される。デバイスを識別するためのアドレスになる。 AdvAのアドレスは、PUD HeaderのTxAdd, RxAddの記述により、publicとrandomのアドレスが割り振られる。 仕様 AdvAの挙動
btstackのコードを追いかけていると、BTLEペリフェラルがadvertisementを行う際のパケットを規定している配列があります。具体的には、こんなのです: const uint8_t adv_data[31]="\x02\x01\x05" "\x05\x09mbed" "\x03\x02\xf0\xff"; なんとなく、名前やUUIDを定義していると分かるのですが、この値をいじったときに、iOSのCoreBluetoothでスキャンできなくなるなどの動きになったため、どういう構造になっているのかを知りたいと思っていました。Google先生に聞いてもうまくヒットするコンテンツがなかったのですが、結局本家のBluetooth 4.0 Specificationドキュメントで答えを見つけました。2000ページ以上あるドキュメントなので、目次くらいしかみていませんが、Volume-3 (
Bluetooth Special Interest Group(Bluetooth SIG)は9月8日、都内にて「Bluetooth meshネットワーク技術」についての説明会を行った。 「Bluetooth mesh」は、Bluetoothで多対多通信を可能にする技術。同技術の特長は、デバイス同士の接続によって単一障害点をもたない自己回復ネットワークを構築する信頼性、数千というノードでも産業グレードのパフォーマンスを発揮する拡張性、そして、IoT現場で重要となる既知の攻撃への対策によるセキュリティの高さだとしている。 これらの特長から、同技術は安全かつ高信頼性な相互通信が求められる「ビルオートメーション市場」や「無線センサネットワーク市場」、「資産追跡市場」などへの応用が期待されている。中でも、Bluetoothスマートビルディングは、2022年には年間11億台にまで成長すると予測され
はじめに Bluetooth Low Energy Advent Calendar 2016 6日目担当の @yousuke です。普段はBLE を使ったサービスのサーバサイドの実装を担当しています。 今回はオープンソースの技術を組み合わせて、アドバタイズパケットの受信とコンソール上に表示することのみを目的とした、簡易的なBLEのパケットスニッフィングシステムを作ってみた話を書きます。 背景 BLE 対応のデバイスを始めとして、一般的な無線装置は次のような構成となっており、これらは専用のハードウェアにパッケージングされた状態で販売されています。 いままで、それが当たり前すぎて他の選択肢があるなんていう発想がなかったので気づかなかったのですが、BLEの関連技術を調査している最中にソフトウェア無線の存在を知りました。 どうやら、最近のコンピュータは上記のデジタル信号処理を実行するにあたっての十
Bluetooth Advertising UPDATE (Dec. 7, 2014): I am interested in understanding how my Bluetooth scanning Android app, Bluescan could be used to help with your Bluetooth efforts. Please email me at j2abro@gmail.com if you have any feedback or ideas on how I can improve that app in ways that would be useful for you. This post looks at Bluetooth Low Energy (BLE) advertising packet format and then show
全部読むのが嫌なせっかちな人へ Android 4.4(API 19)以降の開発者向けオプションには、「Bluetooth HCIスヌープログを有効にする」というチェック項目がある。 「Bluetooth HCIスヌープログを有効にする」をOnにした場合、BlueZのhcidump相当のログが出力される。 ログファイルの保存先はメーカーによる。/etc/bluetooth/bt_stack.confを確認すると保存先がわかる。 hcidumpのログはWiresharkで解析できる いきさつ 2013年の11月頃に、Nexus5(当時4.4.0あたり)を入手できたまいむぞうは、開発者オプションに「Bluetooth HCIスヌープログを有効にする」というチェック項目を見つけ、当時からiBeaconやBLEに興味を持っていた私はこのオプションをいじくりまわしていた。 なんとなく、正体を知れた私
Bluetooth USB ドングル(一般的にコントローラと呼ばれます)をPICやPC(一般にホストと呼ばれます)で制御するため、この間を取り持つ方法(一般的にインターフェースと呼ばれます)に関する規約(プロトコル)が、HCI(Host Controller Interface)プロトコルです。 HCIプロトコルを用いて行うことは、ドングルを初期化することと、通信相手のbluetooth機器と接続し、結果的にHCI ACL データ・パケットを送受信できるようにすることです。 以下、コントローラ(bluetooth USB ドングル)を簡単にドングルと呼び、ホストはドングル・ホストと呼ぶことにします。 以下の図をご覧ください。ドングル・ホストはドングルに対して、HCI命令・パケットの送信や、HCI ACL データ・パケットの送受信を行います。そして、ドングル・ホストはその応答をHCIイベント
Bluetoothモジュールを制御したり、データを無線で送受信するために使う、一番最下層のインターフェイスである。 有線でも例えばEthernetならEthernetコントローラーICなどを使い、その上にEthernetのプロトコルから上を実装することになるが、Bluetoothのような無線でも同様にハードウェアとソフトウェアの分担があり、その境界となるのがHCIである。 HCIで使用する物理層は、Bluetoothチップとホストの都合に合わせて選択されるため、様々なものがある。 UART、USBなどが使われることが多いようで、規格上このレイヤーをHCI Transportレイヤーという。UARTの場合、速度は実装依存だが、いわゆるRS-232Cで、データ長8ビット・ストップビット1ビット・パリティチェックなしの「N81」で、フロー制御はS制御というのが一般的のようである。 数値データはリ
注目が高まるばかりのIoT。IoTを支える技術は様々ありますが、本記事では2回にわたり、無線通信のプロトコルとして有望株と目されている「BLE」(Bluetooth Low Energy)を取り上げ、それがどのような技術なのかを解説します。技術の動作原理を知ることは、理解を深めるだけでなく、それを応用する幅を広げます。IoTは開発や運用に制約が多いので、基礎となる知識は特に重要です。 IoTで使われる無線通信プロトコルの有望株「BLE」 皆さんもご存じのとおり、今、IoT(Internet of Things, モノのインターネット) と呼ばれる一連の技術が注目を浴びています。 IoTとはその名のとおり、身の回りのあらゆるモノがインターネットにつながることです。センサを利用した温度や位置情報の収集や、離れた機器の操作などがインターネット技術で可能になるため、それにかかるコストは従来よりずっ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く