milkcocoaにセンサーデータを登録
Backend as a services(BaaS)のサービスであるmilkcocoaにセンサーデータを登録して自動で生成されるグラフを作成してみます。
始めにmilkcocoaのアカウントを作成します。アカウントは無料で作成できます。
milkcocoaのnode moduleをインストールします。
npm install milkcocoa
前回実行したsensortagのサンプルを少し修正して、milkcocoaにデータを登録するように変更します。
sensortagAccelerometer.jsと同じフォルダにあるsensortagIRTemperature.jsを使います。
最初に以下のコードを追加します。milkcocoaでアプリを作成するとapp-idが発行されます。your-app-idの箇所は発行されたapp-idに置き換えて下さい。
var SensorTag = require('sensortag'); var milkcocoa = new MilkCocoa('your-app-id.mlkcca.com'); var ds = milkcocoa.dataStore('sensortag');
function listenForTempReading()にds.push({data: objectTemp})の行を以下のように追加します。登録データオブジェクトのkeyのdataは固定、valueは数値を指定します。
function listenForTempReading() { tag.on('irTemperatureChange', function(objectTemp, ambientTemp) { ds.push({data : objectTemp}); console.log('\tObject Temp = %d deg. C', objectTemp.toFixed(1)); console.log('\tAmbient Temp = %d deg. C', ambientTemp.toFixed(1)); }); }
Macでセンサー情報を取得
CC2650STKはBluetooth Low Energy (BLE)で通信してセンサー情報を取得できます。新しいMacはBLEに対応しているので、MacからCC2650STKにアクセスしてみます。
CC2650STKにアクセスするNode moduleとしてsensortagというのがありました。
npmが入っていれば、以下でsensortagをインストール。
npm install sensortag
sensortagを使ってデータを取得するサンプルもこちらで提供されてます。
加速度センサーを取得するサンプルを動かしてみると、以下のように表示されました。
$ node sensortagAccelerometer.js connectAndSetUp enableAccelerometer x = 0 G y = 0 G z = 0.3 G x = -0.1 G y = 0 G z = 0.2 G x = -0.2 G ...
CC2650STK
加速度、温度、湿度などのセンサーを簡単に扱えるセンサータグ CC2650STKを購入したので、メモをここに残そうと思います。CC2650STKの解説はRSのサイトを御覧ください。
CC2650STKを入手したら、Getting Started に従ってiPhoneまたはAndroidアプリをインストールすればアプリ上でセンサーの情報を参照できます。
入手直後は9軸センサーの情報が表示されなかったのですが、CC2650STKのファームウェアをアップデートすることで、9軸センサーの情報も参照できるようになりました。ファームウェアのアップデートはiPhoneまたはAndroidアプリから実行できます。アプリでセンサータグを選択した後、一番下の「TI OAD Service」を選んでアップデートするファームを指定します。Factoryで最新のBLEを選びました。
アプリから参照するだけでなく、iPhoneまたはAndroid経由でクラウドにデータを上げることもできるようになってます。Cloud ViewでPush to CloudをONに変更して、「Open in browser」の文字を選択してみて下さい。ブラウザが開いてセンサー情報を参照できます。iPhone/Androidのブラウザ以外でも同じURLで表示されます。