はじめに
こんにちは、@_fbbp です!
この記事は 電子工作やIoTネタなど!IoTLT の 13 日目の記事となります。
当初はOura RingのAPIを使ったソリューション構築に関する解説を書こうとしていた。しかし書く直前にOura Ring自体を紛失する致命的やらかしを行ってしまう。そこから色々試した結果発見に至ったが、その経緯を学術的根拠も(後付けの形になりますが)併せてまとめようと思う。
紛失から発見に至るまでの経緯
- Oura Ringを外して洗った後、自室で乾かしていたのですがその状態で部屋のも掃除と家具移動を行ったことにより自室内で行方がわからなくなる
- しばらく1の状態で放置していたのですが記事を書くとなった際、Oura Ringが紛失したことに気づき、調査開始
- 調査の過程で焦りによりiOSとOura Ring間のBluetoothのペアリングを誤って解除してしまう(これは結果的にファインプレーだった、理由は後述)
- Web版Geminiに相談した結果、LightBlueを使用した探索方法があることを知り、早速iOS版をダウンロード
- iOS版のLightBlueでOura Ringが一覧に出ることを確認し探索を開始。実物は近くにあることを確認できるも、一向に発見まで至らず
- 一夜明けてGeminiに再相談をした結果いくつかのアドバイスを得られたのでそれら+環境起因の問題を解決(遮蔽物)を実践した結果発見に至る
用語解説
Bluetooth
デジタル機器用の近距離無線通信規格の一つ。 数m〜数十m程度の距離で、PC、スマートフォン、周辺機器などをケーブルレスで接続するために作られた。国際標準規格として策定されている。
BLE (Bluetooth Low Energy)
省電力無線通信技術 従来のBluetooth(Classic Bluetooth)とは互換性がない、IoTデバイス向けの超省電力な通信規格。ボタン電池1つで数ヶ月〜数年稼働することを目指して設計されている。Oura Ringのような常時装着型ウェアラブルデバイスに最適化されている。
OuraRing
睡眠をメインとした身体データを計測するウェアラブルデバイス。指輪型であることが最大の特徴。
通信規格: BLE を採用している。
Oura Ringなどの一般的なBLEデバイスが表示する位置情報は、リング自身の現在地ではなく最後に通信した瞬間のiPhoneのGPS情報でしかなく、Oura RingはUWB非搭載であるため、デバイス自体の発見には本ソリューションによる探索が必須であった。
LightBlue
BLEの開発・デバッグツール
LightBlueとは、Punch Through Design社が提供している、BLEデバイス開発のためのユーティリティアプリ
本アプリでは周囲のBLEデバイスのスキャンと接続が可能。それによりOuraRingとiPhone間の通信強度を測れることを利用した
RSSI
LightBlue等のアプリで表示される「-80dBm」のような数値について正確には RSSI (Received Signal Strength Indicator) と呼ばれる。
RSSIは通常、0以下のマイナスの数値で表示され、0に近いほど電波が強く(距離が近い)、マイナスの数字が大きくなるほど電波が弱い(距離が遠い)という性質がある。
物理的な距離ではなく、あくまで「通信強度」となるため、障害物がデバイス間にあると、距離が近くても数値が悪くなります。数値は常にゆらぎがあるため、数秒止まった際の平均で測ることが重要。
LightBlueでの探索にあたりやったこと+有効である根拠
腹筋ガード
RSSI(dBm)は負の値なので、絶対値が小さいということは0に近いということであり、最も電波が強いということになる。つまり、自分の体で遮蔽してもなお電波が強く拾える方向=体の正面側にリングがあると推測し、iPhoneを腹につけ、一部方向を遮蔽した後8方向それぞれを向いて一定期間経過後のRSSIの値を測ることで、一番dBmの絶対値が少ない方向を特定できました。
出典と引用: Distance Estimation for BLE-based Contact Tracing – A Measurement Study
The spread of pathloss is high in all carrying positions, i.e., up to 7.11 dB (head, d= 1 m), 11.69 dB (trunk, d= 1 m), and 6.53 dB (pelvis, d= 1 m).
The largest spread is found for head scenarios. For example, at a distance of 1 m, the pathloss is 42 dB and 44 dB under LOS conditions (180◦ and 270◦) and when fully blocked by the
head
出典と引用: Cost-Effective Single-Antenna RSSI Positioning
Through Dynamic Radiation Pattern Analysis
By rotating the antenna, we exploit asymmetric radiation patterns to achieve pattern diversity, which allows the single-antenna positioning system to approach the performance of multi-point positioning systems.
We propose a localization scheme leveraging pattern diversity through antenna rotation
要するに
部屋の大荷物の除去
部屋に荷物があると、電波が反射・回折することにより干渉するため、RSSIが激しく変動する。本件では模様替の際中であったことで部屋の中央に大型の機器が複数設置されていたため、それらの除去を行ったことでRSSI値のゆらぎに対する問題が解消できた。
出典と引用: A Reading Radio from Camera: Visually-Grounded, Lightweight, and Interpretable RSSI Prediction
SH (Shadow Fading)... accounts for additional large-scale fading fluctuations caused by obstacles obstructing the signal path... Consequently, the final RSSI is computed as: RSSI = -PL + SH.
出典と引用: A Comprehensive Data Description for LoRaWAN Path Loss Measurements in an Indoor Office Setting: Effects of Environmental Factors
Our empirical analysis confirms that transient phenomena such as reflections, scattering, interference
and furniture rearrangements can alter signal attenuation by as much as 10.58 dB 10.58 dB 10.58\,\mathrm{dB} 10.58 roman_dB , highlighting the dynamic nature of indoor propagation.
短周期短距離移動での計測
計測→刻んで移動→計測を繰り返したことで徐々に探索範囲を確実に狭めることができた。
出典と引用: NLoS Localization with Single Base Station Based on Radio Map
https://arxiv.org/pdf/2512.08608v1
As such, relying solely on measurement-based localization (e.g., ToA or AoA) leads to unreliable estimates. To overcome this, we exploit sequential measurements {y1,y2,…,yT} over T time steps, which provide richer temporal information and mitigate the uncertainty of single-shot measurements.
不要な通信の遮断
近くにある別のBluetoothデバイスを全部通信OFFにし、iOSとOuraringデバイス間でペアリング自体を解除、更にOuraringアプリをタスクキルした。これらの行為は2.4GHz帯の混線を回避し、かつデバイスを強制的に「アドバタイズ状態」への遷移につながる。
BLEデバイスは、接続状態にあると自身の存在を知らせる信号(アドバタイズパケット)を停止、または頻度を極端に落とす。ペアリングを意図的に解除することで、Oura Ringを強制的にアドバタイズモードに遷移させ、LightBlue等のスキャナーで捕捉しやすくなった。そのため誤操作による切断が結果的に探索にあたってのファインプレーにつながった。
出典と引用: Fingerprinting and Analysis of Bluetooth Devices with Automata Learning
https://arxiv.org/pdf/2211.16074
For this, we assume that a scan_req or a termination_req resets the peripheral in any state to the advertising state as shown in Figure 3.
In any case, we want to terminate a possibly established connection after the execution of an output query. For this, we perform a termination request in the post method.
出典と引用: Predicting the Channel Access of Bluetooth Low Energy
https://arxiv.org/pdf/2301.08109
However, like many other wireless standards, BLE relies on the unlicensed 2.4 GHz frequency band where the spectrum is already very crowded and a channel access without collisions with other devices is difficult to guarantee. For applications with high reliability requirements, it will be beneficial to actively consider channel access from other devices or standards.
終わりに
遺失したBLE機器の捜索にあたり、LightBlueを使用した探索が有用であること、探索時に有用ないくつかのtipsが存在することを確認できた。
そもそもペアリングなしで電波強度から距離を推定できるという発想がなかったのでGeminiに最初提示された際、結構な衝撃ではあった。
今後同様のロストが発生したときは積極的に先の手法を用いるとともに、BluetoothやBLE関連デバイスをほぼ何も知らずに使ってきた側面があるので、どこかのタイミングで知見を深めていきたい。
