2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Windows 10 IoT CoreAdvent Calendar 2016

Day 13

BLEセンサー(TI BLE Senser Tag)を使う

Last updated at Posted at 2016-12-31

Windows IoT Core から BLE(Bluetooth Low Energy) を使う例として、テキサスインスツルメンツの Senser Tag を使ってみます。が、どうも調子(?)が悪いのかうまくつながりません。オンボードの BLE だと繋がらないし、RPi2 で繋がっていたバッファローの BLE ドングルでもうまくいかないので、参考程度にしてください。そこは、ほら、流行のキュレーションメディアっぽくということで。

Bluetooth のペアリング

Windows IoT Core から BLE を使うときはあらかじめペアリングが必要になります。これは Windows 10 のときと同じですね。

001.jpg

デバイスポータルで目的のデバイスを見つけて「Pair」をクリックして、PIN コードを入れます。

Windows IoT Core の設定からもペアリングができます。

004.jpg

BLE のサンプルを動かす

ここから、TI BLE Senser Tag を使うためのサンプルがダウンロードできます。

samples/BluetoothGATT/CS at develop · ms-iot/samples

実は、Windows 10 から Bluetooth の GATT を扱うのは結構大変で、下記のような GUID を設定しながらちまちまか動かす必要があります。おそらく、この大変さは Android や iPhone でも同じなんでしょうけど、適当な Java や Objective-C のライブラリを各BLEセンサーの会社がSDKとして提供されている分、楽だったりします。そういう点では、C# の場合は用意されていないことが多くて、仕様書を見ながらちまちま設定という手順が必要なる...みたいですね。

const string SENSOR_GUID_PREFIX = "F000AA";
const string SENSOR_GUID_SUFFFIX = "0-0451-4000-B000-000000000000";
const string SENSOR_NOTIFICATION_GUID_SUFFFIX = "1-0451-4000-B000-000000000000";
const string SENSOR_ENABLE_GUID_SUFFFIX = "2-0451-4000-B000-000000000000";
const string SENSOR_PERIOD_GUID_SUFFFIX = "3-0451-4000-B000-000000000000";

const string BUTTONS_GUID_STR = "0000FFE0-0000-1000-8000-00805F9B34FB";
readonly Guid BUTTONS_GUID = new Guid(BUTTONS_GUID_STR);
readonly Guid BUTTONS_NOTIFICATION_GUID = new Guid("0000FFE1-0000-1000-8000-00805F9B34FB");

readonly Guid BAROMETER_CONFIGURATION_GUID = new Guid("F000AA42-0451-4000-B000-000000000000");
readonly Guid BAROMETER_CALIBRATION_GUID = new Guid("F000AA43-0451-4000-B000-000000000000");

上手く動くと、こんな風になります。きちんと繋がってはいませんが、ペアリングまではできています。

002.jpg

一時期、BLEセンサーの類を「使い捨て」のように提案する場合もありましたが、Amazon Dash Button や IoT Hub などの登場を見れば、「非常にたくさんの BLE 機器を長く使う」ようにシフトされるのは明らかでしょう。BLE の場合 2,3年という長寿命の使い方ができることもあり、電池を含んだまま(あるいは太陽電池などを使って半永久的に)で「壊れるまで使い倒す」という昔ながらの機器の使い方ができると思われます。

Azure の場合は、Azure IoT Hub のデバイス管理機能を利用する | 技術との戯れ なものを使います。他にもいくつか IoT Hub があるので探してみてください。

Bluetooth ありの PC の場合

アプリは UWP でできているので PC からも使えます。デスクトップ PC でも Bluetooth 4.0 なドングル(1,000円位です)を買って取り付けておくと使えます。

003.jpg

で、BLE 経由の GATT で使うと結構大変なので、古式ゆかしき BLE でシリアル通信を使うと楽です。これは別途解説していきましょう。

2
4
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
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?