
関連記事:Arduino+ubidotsでセンサー・データをリアルタイムで可視(グラフ)化する
①ubidotsの準備
1.ubidotsに登録し、ログインします。
2.「Source」をクリックし、「Add Data Sources」をクリックします。
3.「Raspberry Pi」を選択し、[Continue]ボタンをクリックします。
※Nameは任意に変更可能です。DescriptionやTagsは必要に応じて入力してください。

4.[Create]ボタンをクリックします。
5.作成したData Sourcesをクリックします。

6.「Add Variable」をクリックします。

7.Name(Variableの名前)を入力し、[Create]ボタンをクリックします。

8.作成されたVariableのパネルの右上の


9.右上のユーザー名をクリックし、「My Profile」を選択します。
10.「API Key」をクリックし、API Keyを確認します。
②Raspberry Piのセットアップと回路の配線
「Raspberry Pi 2のGPIOをJavaScriptで制御する」の手順でセットアップし、「Raspberry Pi+Johnny-Fiveでアナログデータを計測する」の回路を配線します。
③ubidotsライブラリ(Node.jsのモジュール)のインストール
1.ターミナルを起動し、作業用フォルダに移動します。
2.「npm install ubidots」と入力します。
④プログラムの作成
次のJavaScriptコードを入力し、「brightness.js」と名前を付けて作業用のフォルダに保存します。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var raspi = require('raspi-io'); | |
var five = require('johnny-five'); | |
var board = new five.Board({ | |
io: new raspi() | |
}); | |
board.on('ready', function(){ | |
var virtual = new five.Board.Virtual( | |
new five.Expander("PCF8591") | |
); | |
var a = new five.Sensor({ | |
// PCF8591 module YL-40 | |
// A0:LDR(Light Dependent Resistor) | |
// A1:NC | |
// A2 Thermistor | |
// A3:Potentiometer | |
pin:"A0", | |
board:virtual | |
}); | |
var ubidots = require('ubidots'); | |
var client = ubidots.createClient('<Your API Key>'); | |
client.auth(function () { | |
this.getDatasources(function (err, data) { | |
console.log(data.results); | |
}); | |
// データ保存先のVariableを取得 | |
var v = this.getVariable('<Variable ID>') | |
a.on("change", function(){ | |
v.saveValue(this.value); // Variableにデータを保存 | |
console.log(this.value); | |
}); | |
}); | |
}); |
⑤動作の確認
1.ターミナルを起動し、作業用フォルダに移動します。
2.「sudo node brightness.js」と入力します。
3.ubidotsの管理画面で「Brightness」Variableを開きます。
データを監視・通知する方法は、「Arduino+ubidotsでセンサー・データを監視、通知する」を参照してください。
0 件のコメント:
コメントを投稿