bluetooth を使ったtagを探していてamazonで販売していた商品を一つ購入してみた。これの商品名は機能名を無理くり並べた感じで小民名になってない気がした。*1Small Trackerとでもまとめればいいのだろうか。水滴の形をしたキーホルダーと形容してみる。ボタン電池CR2032で動作し、電池を収容する部分の片側が押せるようになっていて、長押しでON/OFFできる。これだと、未使用時に消費電力カット目的で切るのも容易。ただ肝心な時にOFFはいやであるので控えるかも。スマホアプリで使うモノ、とAmazonのページにもついてきた小さな説明書に書いてあったが、それは購入前から使わないつもりでいた。
bluetoothの発信機として機能するものでなるべく小さいものを求めて、これを試してみるに至った。
母艦(とは表現しないのだろうけど)はraspberry pi zeroを使い、とりあえず、使えるコマンドを学ぶところから始める。bluetoothctlコマンドというのがあるらしい。(sudo) bluetoothctl scan on、としてみると、・・・なんかたくさんデバイスが見つかった。あきらかに自分のものでないのもばかり。tagのON/OFFを繰り返したりして今回の自分の水滴形デバイスのIDを特定。FF:FF:..で始まっていた。campany IDというものを取っていないらしい。意外に思ったよりも離れていても、1F/2F離れていてもscanできた。なるほど、おそらく見知らぬよそ様のデバイスがscanできるわけである。tagとして検出できるのが自分の目的であり、bluetoothのペアリングとかはしなくてもいい。
これからしばらく試してみるがtagが家の中にあるかどうかの判別はできそう。bluetoothctlでRSSIの値が取得できるようで、1F/2F程度の離れた違いは推定できそう。けども部屋の中での位置の推定は、ちょっと実用にならないかもしれない。4か所くらいからscanしてみて条件次第でも位置が推定できるようになると嬉しい。
ちょっと困ったことというか注意すべき点を見つけた。因果関係を正しく説明できないのだけども、raspberry pi(zero,3B+)でbluetoothctl scan onを実行すると、その間、家の無線状態が悪くなる?、そういう推測をしている。何が劣化しているとかの数値化できていないけども*2感覚上発生したときの相関関係がほぼ100%であり、相性がよくないらしい。少なくともよく使っているノートPCの無線の状態が悪くなり、結果ネットの接続が不安定になる。(もしかしたらアクセスポイント側が主因かもしれない)とりあえずbluetoothctl scanはダダ流ししてはいけない、ということにする。少なくとも影響を抑える方法がないならば、必要時のみ間欠的に実行するようにしないといけない、ことが分かった。*3
少し使ってみた限りにおいて、このbluetoothのtagは、自分には利用価値ありそうなので、追加でもう一つ購入するつもり。多分、IDが全く同じということはなかろう。ボタン電池の大きさよりもは小さくできないだろうが、水滴形の入れ物から外してボタンのメカの部分を何とかすれば別のものに組み込むことも可能かもしれない。