2016年1月19日火曜日

Arudino+carriotsでIoT-センサー・データの収集

 IoTプラットフォーム(クラウドサービス)のcarriotsを使って、Arudinoで計測したセンサー・データ(温度)を取集してみます。

carriotsの準備
①アカウント作成
 carriotsのアカウントを作成します。

②デバイスの設定
1.「CARRIOTS CONTROL PANEL」の左サイドメニューの「Device」をクリックします。


2.「defaultDevice」の「Action」列の[Action]→[edit]をクリックします。
 ※「defaultDevice」は規定で用意されるデバイスです。新しくデバイスを作成することもできますが、今回はこの「defaultDevice」を使用します。


3.「Time zone」を「Tokyo」に設定し、[Save]をクリックします。その他の項目は、必要に応じて設定してください。


③Apikeyの確認
1.上部メニューの[MY SETTING]→[MY ACCOUNT]をクリックします。


2,表示されたFull Privileges Apikeyを確認します。


③Id developer(device Id)の確認
1.左サイドメニューの「Device」をクリックします。
2.「Name」列のデバイス名(ここでは「defaultDevice」)をクリックします。


3.表示された情報の「Id developer」の内容を確認します。
 ※Id developerは、「<デバイス名@ユーザ名.ユーザー名>」の形式になります。これは、ページ上部にも表示されています。




■回路とプログラム

①Arudino開発環境の構築
1.「ArduinoをJavaScriptで制御する」の手順で開発環境を構築します。
2.コマンドプロンプトから「npm install request」と入力し、node.jsのrequestモジュールをインストールします。


②回路の配線
 次のように回路を配線します。

















③プログラムの作成と実行
1.次のJavaScriptコードを入力し、「rest_carriots.js」と名前を付けて、作業用フォルダに保存します。

var request = require('request');
var key = '<your Full Privileges Apikey>';
var deviceId = '<your Id developer>';
var url = 'http://api.carriots.com/streams/';
var options = {
uri: url,
body: {
"protocol": "v1",
"checksum": "",
"device" : deviceId,
"at" : "now",
"data" : { "temperature":0 }
},
json: true,
headers: {
"carriots.apikey": key
}
};
var five = require("johnny-five");
five.Board().on("ready", function() {
var temperature = new five.Thermometer({
controller: "LM35",
pin: "A0",
freq: 10000 // サンプリング間隔(ms)
});
temperature.on("data", function() {
options.body.data.temperature = this.celsius;
console.log(this.celsius + "°C");
// データをPOSTメソッドで送信
request.post(options, function(error, response, body){
if (!error && response.statusCode == 200) {
console.log(body);
} else {
console.log('error: '+ response.statusCode);
}
});
});
});
<your Full Privileges Apikey>には、「Full Privileges Apikey」を、<your Id developer>には「Id developer」を入力します

2.コマンドプロンプトを起動し、作業用フォルダに移動し、「node rest_carriots.js」と入力します。

④データの確認
 「CARRIOTS CONTROL PANEL」の左サイドメニューの「Data streams」をクリックします。



0 件のコメント:

コメントを投稿