Bell Lab の Dr. Fahim Kawsar らが開発したイヤホン型センシングデバイス(eSense)を借りることができたので、Android版ライブラリを参考にiOS版のライブラリを作成。言語はSwiftで実装。
eSenseは、Earable Deviceの研究・開発用プラットフォームで完全ワイヤレスイヤホン型をしている。eSenseには、加速度とジャイロ、マイク、スピーカー、LED、ボタンが実装されており、それらのセンサデータやイベントをBLE越しに取得できる。(詳しくは、eSenseのサイトへ)
オープンソースなので、センサやBLEの細かい仕様は、eSenseのサイト上で公開されている。AndroidやNode.js、Flutter版のライブラリは実装されていたが、iOS版は未実装だったので実装した。言語はSwiftで、iOS10以上のOSが必要。実装したライブラリは、CocoaPodsに公開しているので簡単にインストールできる。
- ソースコード:https://github.com/tetujin/ESense
- サンプルコード:https://github.com/tetujin/ESense/blob/master/Example/ESense/ViewController.swift
- CocoaPods:https://cocoapods.org/pods/ESense
CocoaPodsのインストールは、Podfile
に pod 'ESense'
を記述し、ターミナルからpod install
でインストールできる。import ESense
で指定のライブラリをインポートできる。デバイスとの接続は、ESenseManager
が担当ので、クラスもしくはグローバル変数として、ESenseManager
を宣言し、初期化に接続するデバイス名とイベントハンドラを設定する。接続が確立すると、設定したハンドラ(onConnected()
)が呼ばれるので、ESenseManagerを通してセンサ起動やボタンイベントのハンドルを開始する。