回路は、「Arduino 温度測定」を使用します。

■ThingSpeakの準備
①アカウントの作成
ThingSpeakのアカウントを作成します。
②チェンネルの作成
1.[New Channel]をクリックします。

2.[Name]にチャンネルの名前を入力します。
3.[Field1]~[Field8]に送信するデータの名前を入力します。最大8つまで設定できます。今回はField1とField2の2つを使用します。

※他の項目は、必要に応じて入力します。
4.[Save Channel]をクリックし、チェンネルを保存します。
5.作成したチャンネルのID(Channel ID)を確認します。

6.[API Keys]をクリックし、Write API KeyとRead API Keyを確認します。

■プログラムの作成
①Arduino開発環境の構築
1.「ArduinoをJavaScriptで制御する」の手順で開発環境を構築します。
2.コマンドプロンプトから「npm install thingspeakclient」と入力し、node.jsのthingspeakclientモジュールをインストールします
②プログラムの作成
1.次のJavaScriptコードを入力し、「temp_thingspeak.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 ThingSpeakClient = require('thingspeakclient'); | |
var client = new ThingSpeakClient(); | |
var channelId = '<Channel ID>'; | |
var writekey = '<your Write API Key>'; | |
var readkey = '<your Read API Key>'; | |
var five = require("johnny-five"); | |
var board = new five.Board(); | |
board.on("ready", function() { | |
var temperature = new five.Thermometer({ | |
controller: "LM35", | |
pin: "A0", | |
freq: 10000 // サンプリング間隔(ms) | |
}); | |
client.attachChannel( | |
channelId, | |
{writeKey : writekey, readKey : readkey} | |
); | |
temperature.on("data", function() { | |
console.log(this.celsius + "°C", this.fahrenheit + "°F"); | |
var fields = {field1 : this.celsius, field2 : this.fahrenheit} | |
client.updateChannel(channelId, fields, function(err, resp) { | |
if (!err && resp > 0) { | |
console.log('update successfully. Entry number was: ' + resp); | |
} | |
}); | |
}); | |
}); |
③プログラムの実行
1.コマンドプロンプトを起動し、作業用フォルダに移動します。
2.「node 「temp_thingspeak.js」と入力します。