LoginSignup
11
13

More than 5 years have passed since last update.

複数のTI SensorTag(BLEデバイス)を同時に使う

Posted at

概要

複数のTI SensorTag(BLEデバイス)を同時に取り扱う方法です

コード全体はgistにアップしています。ここでは解説のみです

TI SensorTag(CC2541DK-Sensor, CC2650STK)とnode-sensortagで検証しましたが、noble-deviceを使う場合全般において有効な方法だと思われます (未検証)

解説

ポイントは1点だけです

SensorTag.discoverで発見できたデバイスのsensorTag.connectAndSetUpにおいて、完了時のコールバック内で再度SensorTag.discoverを開始

最小コード

var onDiscover = function(sensorTag) {
  sensorTag.connectAndSetUp(function() {
    SensorTag.discover(onDiscover);
    ...
  });
};
// entrypoint
SensorTag.discover(onDiscover);

gistのコードではasync.seriesを使っているため若干違いますが、最小コードは上記のようになります

注意点

SensorTag.discoverAllを使ってもうまく行きません
SensorTag.discoverAllで見つかったデバイスはconnectAndSetUpが動かない(※)ため、enableIrTemperatureとかが実行できないからです

※原因はちゃんと調べてません、ゴメンナサイ

あとがき

1台のPCでどのくらいBLEデバイスが接続できるか、ちょっと試してみますね

11
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
13