明田守正

BLE; Bluetooth Low Energyとは

 BLE, Bluetooth Low Energyという無線通信規格があります。もともとPCの周辺機器を無線で接続しよう、との目的の下に生まれたBluetoothは、マウス、キーボード、ヘッドセットなどを無線接続する手段として広く普及しています。Bluetooth規格のヴァージョン4.0で追加になった規格がBluetooth Low Energyです。

 本来Bluetoothは音声のストリーム伝送など、比較的大きなデータを安定して通信する役割を担い、電池はあまり長い時間持たないものでした。そこで、Nokia社はできる限り低消費電力で、低コストで、低速、低性能で、複雑ではなく、多様な無線通信の問題を解決できる通信規格を目指した設計案Wibreeを開発します。WibreeはBluetooth規格を策定するBluetooth SIGが標準規格として採用し、BLEになりました。

 従来の、ヴァージョン3までのBluetoothとヴァージョン4で追加になったBluetooth Low Energyは端的に言って別ものです。PCとその周辺機器を1:1の主従関係を確立してつなぐヴァージョン3までのBluetoothをクラッシックBluetoothと呼び、それぞれの端末が主にも従にも、同時に主でありかつ従にもなることができるBLEをBluetooth Smartと呼びます。

 BLEは極端な低消費電力を実現しているため、「3年間電池交換不要で動き続けるお風呂の水位センサー」と言った、これまでは考えられなかった無線通信端末を実現できます。低消費電力の無線伝送規格には他にZigBeeもありますが、ZigBeeとBLEによりローコストな通信端末が実現可能になることで、これまでは通信端末にできるとは考えられなかった小さなモノまで無線端末にできる、という着想から、IoT(Internet of Things)というコンセプトが生まれて発展してきています。

BLEはすきま産業

 BLEのおもしろい特徴の一つは「電波のすきま産業」なことです。

 電波は国ごとに帯域の使用目的が決まっていますが、多くの国で民生品に割り当ててある帯域として2.4GHz帯があります。電子レンジ、WiFi(無線LAN)、そしてBluetoothが2.4GHzの電波を使ってます。2.4GHzのWiFiでは11チャンネルの通信経路があり、PCなどがWiFi通信する際にはそのうちのいずれかのチャンネルを選択して接続しています。複数の通信端末が一つのチャンネルを同時に使用すると干渉するため、結果として速度が低下します。

 BLEでは、WiFiのチャンネルの「すきま」の帯域を使います。WiFiのチャンネル三つのすきまにBLEのチャンネルが40chあります。そのうち3つのチャンネルを接続相手発見用に、残り37チャンネルを実際のデータ通信に使います。データ通信用チャンネルも一つのチャンネルを使い続けるのではなく、複数のチャンネルを跳ねるように切り替えながら、すなわちホップしながら通信を続けていきます。次のチャンネルは、現在のチャンネルに接続ごとに決めたチャンネル増分を足した数に37で割った余りにする、という単純な計算で決めて行きます。

 チャンネルを渡り歩く方法(周波数ホッピング・スペクトル拡散: FHSS: Frequency Hopping Spread Spectrum)により、帯域を薄く広く使用する設計になっています。薄く広く切り替えながら使うことで、干渉の可能性が小さくなります。クラシックBluetoothでは接続端末は7台に限られますが、BLEでは接続相手数の制限は事実上ありません。論理的には、ごく低速度であれば32bit:42億個の端末と接続コネクションを持つことができます。ある場所における電波の物理的な帯域収容量を超えると干渉して接続が不安定になる可能性がありますが、あまり帯域を使用しない、すなわちデータ転送量が少ない端末であれば、たくさんの端末とアクセスすることができます。

 BLEは低消費電力であるため、電波強度も相対的に弱く、一般的なBluetooth端末の出力仕様Class2の場合、せいぜい10メートルです。このためスケールの小さいネットワーク、すなわち部屋のスケールであるLANより狭い、個人がある瞬間に周囲を把握する範囲であるPAN(Parsonal Area Network); せいぜい10メートルの範囲や、人間一人の体の周りの範囲であるBAN(Body Area Network); せいぜい1メートルの範囲で使用することに適しています。

 WiFiチャンネルのすきまを狙って使っていること、決められた帯域を薄く広くつかっていること、既存の通信規格がターゲットとしていない、ごく小さな距離を低出力で最大1Mbpsという低速で通信すること、いずれも既存の無線通信アプリケーションが存在していないすきま狙いであることに関係しています。BLEはすきま産業なのです。

 日本のインターネットをゼロから作り上げた村井純さんは、「インターネットとは、スノコのようなものだ。なくても困らないが、あると今まで手が届かなかったものにすこしだけ届くようになる。インターネットを普及させることは、地球にスノコを敷くことだ」という言い方でインターネットの裏方的な役割を説明しています。スノコのような小さな便利さをもたらすインターネット技術は、今や現代の情報社会に欠かせない重要なインフラストラクチャーになっています。すきま産業であるBLEも、やがて社会に欠かせない重要な要素になる可能性があります。

Texus Instruments社の Sensor Tag

 BLEは様々な装置がスマートフォンと通信する手段として実用になっています。腕輪型活動量計のJawbone UPシリーズ、腕時計型心拍計Mio Alpha、iOS機器とのおおまかな距離を計測するiBeacon、手の動きのアクションによってスマートフォン上のアプリでさまざまなリアクション音声を再生するおもちゃMoffBand、スマートフォンで記録を自動化するオムロン社の婦人用体温計などがあります。いずれも低消費電力が必要となる日常用品で、スマートフォンとの連携をキーに徐々に普及してきています。

 BLEモジュールを使用した開発キットにはKonashi、浅草ギ研のBLESerial、mbed HRM1017などがあります。BLE開発キットの一つ、Texus Insturuments社が販売しているSensor Tagは、BLE端末に、IR温度センサー、環境温度センサー、湿度センサー、気圧センサー、9軸加速度センサーなどを製品レベルで実装した非常に便利なキットです。

sensortag

 タグというだけあって約5cm角、ボタン電池を入れて15グラムの小さなセンサー端末です。Texus Instruments社が公開しているiOSアプリをiPhone上で動かすと、即接続してセンサーデータを表示することができます。iOS版とAndroid版のサンプルプログラムがあるため、スマートフォンアプリを開発することも容易です。

03_sensortag_app

 さらに読み取ったデータをIBMのIoT Cloudサービスにストリーム送信することができ、導入してから3分でセンサーデータをクラウドサービス上に蓄積しかつ公開することが可能です。

04_IBMBlueDot

 Sensor Tagはだれでも29ドルで注文でき、アメリカ合衆国テキサス州のTexus Instruments本社から日本まで3日で届けてくれます。iOS, Android用のサンプルアプリを用いてすぐに使ってみることができます。

フォーク行き先掲示板

 ところで、弊社フォークには、「行き先掲示板」Webアプリケーションがあります。スタッフがIDカードをかざして認証した出入り口のデータと、行き先掲示板ページで手入力で現在の状況を記入する現在状況のデータを、全社員分座席表の形で一覧できるようになっています。

 個人の現在状況はwebページ上でテキストで入力するしくみになっていますが、「自席」「離席」「外出」「帰宅」については定型テキストをラジオボタンで選んで入力するインターフェイスもあります。ラジオボタンをクリックするだけで現在の状況を記載できて便利です。

05_ikisaki

 ちなみに決まっている選択肢の中から選ぶGUI部品の標準的なものとしてはチェックボックス、プルダウンメニュー、ラジオボタンとありますが、ユーザーインターフェイス分野の研究において、ラジオボタンが現在の状態の明快さ、カーソル移動操作の手間の少なさから最も合理性が高いという結論がでています。

着席・離席センシング SeatStatus

 Sensor Tagは手軽に物理量を測定しBLEで送信することができます。しかし、生のセンサーデータ自体はそのままでは単なる物理量に過ぎず、何らかの目的に利用しなければ意味をもちません。センサーのデータに人間にとって意味のある情報として機能してもらうためには、データの意味、すなわちデータが反映する事象をモデル化して抽出することが必要です。

 SensorTagに装備してあるIR温度センサーは、対象物が発する赤外線(Infra Red;IR)を検知して対象物の温度を測定するセンサーです。このセンサーを使って、スタッフが自席にいるのか、自席から離れたのか、を検知し、その検知結果をそのまま行き先掲示板に記入するアプリケーションを開発しました。行き先掲示板に「自席」「離席」入力を自動で行うためのアプリケーションです。それだけですが、状態入力がさらに楽になります。

 SensorTagを机の天板の裏に貼り付け、机の真下の対象物温度を測定します。着席すると脚の膝先がSensorTagのIR温度検知範囲に入りますので、温度が高くなります。この温度の高さを検知して、「自席にいる」状態を判断しています。Mac上で稼働するアプリケーションで、一つのアプリケーションで複数のSensorTagを監視することができます。現在手元にある4つのSensorTagで動作確認をし、複数接続は問題なく動いています。

 ひとつのアプリケーションで、論理上は32bitの個数に対応しますが、現実的にはMacのBluetoothモジュールで40個程度は監視できそうです。このアプリケーションの目的はオフィス内の着席・離席監視ですので、半径10メートルの席の数は十分監視できます。

SeatStatusのしくみ

 自席・離席を行き先掲示板に記載する、というアプリケーションの機能としては意味はないのですが、直近のIR温度変化状況をMacの画面上で可視化しています。接続するSensorTagの個数分のペインに縦に分割し、各ペイン右半分に下から上にスクロールする濃淡のバーを表示します。濃淡はそれぞれのIR温度変化を示しています。白いところが高温で着席状態、暗いところが低温で離席状態を反映します。各ペイン左上にはIRセンサーの温度、推定した低温と高温、IRセンサーの最小値と最大値を表示し、着席を判断すると「STAFF IS ON SEAT」と表示します。

 「自席にいる」状態を判断する…温度が高くなることを検知すればいいので簡単だろう…と考えて開発していったのですが、さほど簡単ではないことがわかってきました。赤外線センサーを用いた人感センサーは、自動ドアや人感ライトなどで実用になっていますが、多くの人感センサー機器は、人が検知領域に入ったことを、赤外線で測った温度の「変化があった」ことのみで判断し、ドアを開ける、ライトをつける、という機能を動かしていて、そこに持続的に人が居続けているかどうかまでは見ていないものが多いです。人感センサーライトのトイレに入ってたら電気消えて、手を振って点け直すことありますよね?「変化があった」ことからどのくらいの時間ドアを開けておくのか、ライトをつけておくのか、はその装置設定のさじ加減になっているようです。

 このアプリでは、「直近1秒以内に1.8度以上上がったら着席があった」「直近1秒以内に1.8度以上下がったら離席があった」というルールで席に人がいるかを判別します。着席、離席があると同時に離席時の平均的な温度と着席時の平均的な温度を計算していきます。判定精度を上げるために、人がいるときには呼吸など人体による温度変化あるので、過去10秒の温度変化が極端に少ない場合は人がいないと判断します。正直この推定方法は完全ではないのですが、実際上問題ない精度で動いています。

 IR温度という小さな物理量の変化を、着席しているか、いないかに対応させ、行き先掲示板に入力することができました。IR温度センサーのデータを、人の実際の行動として抽出してモデル化した意味のあるデータです。小さな反映ですが、行き先の記載を自動化できているので、手動入力とは特性が違う行動履歴を記録することで、さらなる意味のあるデータ抽出が可能になります。

 SensorTagはテスト用キットですが、一般商用製品としての品質を持っています。このアプリケーションはプロトタイプですが、SensorTagを使用することで実際に実用できる製品レベルの信頼性を持っています。

それでも2.4GHz帯に注意

 SeatStatusを開発する過程で、MacとSenserTagのBLE接続が不安定になる状況に遭遇しました。MacのBluetoothドライバーの不具合を疑い様々な手段でリセットをかけましたが、結局、Macが2.4GHz帯のWiFiを使用していることが原因で、5GHz帯のWiFiアクセスポイントに切り替えたところ安定動作するようになりました。不安定になったのとは別の2.4GHz帯WiFiアクセスポイントを使っていた時には問題なかったので、特定のWiFiアクセスポイントで相性問題が発生するようです。

 WiFiのスキマを使うBLEといえども、状況によってはうまく機能しないのです。

 2.4GHz帯のWiFiは、混雑している場所では多数のアクセスポイントが働いていることから、激しい汚染に見舞われています。2.4GHz帯の無線通信を使う際には十分注意する必要がある、ということを再確認しました。

参考文献

  • Apple Computer[2013]: 「CoreBluetooth プログラミングガイド」、 Apple Developer Central

  • 上原 昭宏[2014]: 「iBeacon ハンドブック」、 Createspace

  • 堤修一、松村礼央[2015]: 「iOSxBLE CoreBluetoothプログラミング」、ソシム

  • 村井 純、 古川 亮[2003]: 「ディジタルイノベーションの旗手たち」、Internet Magazine 2003年08月号 インプレス R&D, 74ページ

  • Kevin Townsend, Carles Cufí, Akiba, Robert Davidson[2014]: "Getting Started with Bluetooth Low Energy: Tools and Techniques for Low-Power Networking", O'Reilly Media.


※動画のBGMは明田制作