Cordova
monaca
MonacaDay 6

Monacaから使えるBLE(Bluetooth Low Energy)対応プラグイン一覧

More than 1 year has passed since last update.

はじめに

IoT的なサービスの高速プロトタイピングとしてMonacaを使うことはよくあるかと思いますが、今回はP2P型のBLEデバイスのプラグインの状況をまとめてみました。様々な周辺デバイスをMonacaでインテグレーションしてみましょう~。

前提知識(1)~BLEのP2PとBroadcast

BLE(Bluetooth Low Energy)には接続方式としてそもそも2種類あります。ここではP2Pに特化して説明していきます。この2つの違いですが以下の記事が詳しいので参照してみてください。Broadcastはその名の通り暗号化せず内容を垂れ流すものですので、重要なデータを扱うデバイスではあまり使用されていないと思うので、ここではP2Pに特化して説明していきます。
Bluetooth Low Energy(BLE)/ iBeaconとは

前提知識(2)~CentralとPeripheral

P2Pの場合役割が明確に決まっており、BLE接続する機器は必ずどちらかがCentralになり、どちらかがPeripheralになります。通常スマホがCentralとなりデータを受け取ることが多いですが、スマホがPeripheralとなれるプラグインも公開されています。

プラグイン

それではプラグインをいくつか紹介させていただきます。

cordova-plugin-ble-central

  • 対応OS: iOS/Android
  • 対応モード: centralのみ
  • 概要: サンプルが揃っていて使いやすいプラグインです。私も個人的にRealtime Running Dashboard LiteというアプリでBLE心拍計を使用しましたが、とても簡単にインテグレーションできました。

cordova-plugin-ble-peripheral

  • 対応OS: iOS
  • 対応モード: peripheralのみ
  • 概要: 通常スマホをCentralにすることがほとんどなので、「なぜわざわざスマホをPeripheralにするんだ?」という疑問が湧くかもしれません。その問いに関して「やってみたいから」以外の明確な答えが出せないのですがw、例えば「XXのデバイスのフリをさせる」みたいなことをやろうとしたけどハードウェアは大抵configurableではないので、そういうものをエミュレーションする用途にはよく使用したりします。

cordova-plugin-bluetoothle

  • 対応OS: iOS/Android/WindowsPhone
  • 対応モード: CentralとPeripheralの両方
  • 概要: かなり高機能なプラグインで、CentralとPeripheralの両方になることができます。リファレンスも丁寧なので、多分ちゃんとしたものを作るならばこれを利用するのが良いかもしれません。ただ、サンプルが少ないのでBLEの予備知識無しに臨むと難しいかもしれません、、。

このプラグインを利用した記事が出ていますので検索してみてください。

JinsMemeSDK-Plugin-Cordova

  • 対応OS: iOS/Android
  • 概要: デバイス専用プラグインとしてこういうものもありますということで、、。JINS MEMEの場合はまだBLEのプロファイル登録が無いことや、複数アプリでの同時使用をSDKレイヤーで吸収させるという思想からBLEコマンド仕様を公開していません。そのため専用のプラグインを使用し内部の処理をWrapしています。

おまけ~プラグインを使わないという選択肢(Web Bluetooth API)

  • 対応ブラウザ: Can I use
  • 対応モード: centralのみ
  • 概要: まだ出始めたものなのでサポートブラウザは少ないのですが、ブラウザのみ・プラグイン不要で使う技が出始めています。Web技術の進歩は本当にすごいですね。
  • 参考資料 Web Bluetooth