CASIOのBluetoothスマートウォッチSTB-1000をhackしたくて、BLE Scannerで少し調べてみた。
腕時計側のBluetooth開始用のPOWERボタンを長押しすると、接続可能になるので、iPhoneのBLE ScannerアプリでSTB-1000を発見できる。
発見した状態で、Connectをタップして接続すると、上記のようにデバイスの詳細が表示される。
STB-1000はサービスのほとんどがCUSTOM SERVICEになっているので詳細は分からない。そして、接続後に何も通信が無い状態で時間が過ぎるとSTB-1000側が接続を切ってしまう。
詳しく調べるにはBLE Scannerでは駄目らしい。
BLE Snifferみたいなパケットを傍受する機器とソフトを使って、STB-1000とスマートフォンの間の通信をしている瞬間を狙って傍受してパケットを調べないといけないようだ。
hackしてやりたいことは、欲を言えば公式アプリを使わずに通信して、PCなどから好きな文字列をSTB-1000に送ったりしたい。
そこまでできなくても、PCからBLEデバイスのscanで存在をチェックすることで、腕時計のSTB-1000が近くに来ているのか、来ていないのかを調べて、いま出かけているかどうかのチェックに使えないかと思った。
ちょうど、鍵の紛失防止BLEタグをPCから検出して同じようなことをしようとして考えている。
iPhoneとSTB-1000をBluetoothで繋いだままにしておかないと、scanに引っ掛からないので困る。BLEを使っているとSTB-1000の電池の消耗が多くなってしまうから、常時繋いでおくというのは避けたい。というわけで、いつもBluetoothは切ってSTB-1000を使っている。
それならばSTB-1000をスキャンするよりもiPhoneのBluetoothをscanしたほうがいいのかもしれない。ということに気が付いた。(鍵紛失防止BLEタグについても同じだ)
—
久しぶりにiPhoneの「STB-1000+」アプリとSTB-1000を繋ごうとしたら、うまくつながらない。ペアリング情報をアプリ上とiOS上とSTB-1000上と3つとも消してから、最初から接続をしてみたのだが、やはり繋がらない。iOSのバージョンが上がったのと関係しているのだろうか?
(追記 – iOS 12のままのiPad Airだと問題無くSTB-1000と接続できたので、iPhoneをiOS 13にアップデートしたことで非互換な不具合が出ていると思われる。)
STB-1000のアプリはどうも出来が悪いみたいというのと、更新も全然されないようなのでそれが直らない。困ったなあ。