noble-device でGenuino101から値を取得し,ログをとる

以前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/ ディレクトリにテキストファイルが保存されます.
%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-11-20-54-05

作成されたテキストファイルは,このようになります.原因は不明ですが,300 msec ごとにデータが保存されています.
%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-11-20-54-30

この保存周期では,気温やGPSのデータの保存には有効ですが,加速度やジャイロなどのセンサのデータを保存するには不向きです.どのあたりに原因があるのか探ってみようと思います.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です