以前,noble-device を使って,Genuino101 (Arduino101)からBluetooth Low Energy (BLE) 経由でデータを取得しました.今回は,BLEで受け取ったデータをテキストファイルに保存し,ロガーとして使ってみようと思います.
まず,以下のプログラムを Genuino 101 に書き込みます.
このプログラムでは, オリジナルサービスID “bf00″に変数用のキャラクタリスティックとして”ca01”, “ca02″を定義しています.ca01 はタイマ用のunsigned long intで 4 Byte, ca02 はアナログ値用で 2 Byte 確保しています.サンプリング周期は試験的に 1 msec としています.
PC側には, bleLoggerのレポジトリをコピーしてください.lib/my-service.js に”bf00″のサービス内容が保存されています.プログラム内のUUIDは必ず小文字にしてください.大文字では認識されませんでした.また,原因は不明ですが,uuidgen で生成したような128-bitのUUIDも認識されませんでした.
ターミナルで,bleLogger のディレクトリに移動し,
node ./examples/my-device.js myBle
と打って,my-device.js を実行してください.moment モジュールがないと言われた場合には,npm コマンドなどでインストールしてください.実行中は自動的に /log/ ディレクトリにテキストファイルが保存されます.
作成されたテキストファイルは,このようになります.原因は不明ですが,300 msec ごとにデータが保存されています.
この保存周期では,気温やGPSのデータの保存には有効ですが,加速度やジャイロなどのセンサのデータを保存するには不向きです.どのあたりに原因があるのか探ってみようと思います.
コメント