
Adafruit IOはMQTTをサポートしているので、デバイスとの通信には、Nodo.jsのモジュール「MQTT.js」を使用します。
①Arduinoのセットアップ
1.「ArduinoをJavaScriptで制御する」の手順でArduinoを開発環境をセットアップします。
2.次のように回路を配線します。
②「MQTT.js」のインストール
1.コマンドプロンプトを起動し、作業用フォルダに移動します。
2.「npm install mqtt」と入力します。
③Adafruit IOの準備
1.Adafruit IOのアカウントを作成します。
2.アカウントを作成すると、「Welcome Dashboard」が表示されるので、右上の鍵アイコン(Your secret AIO KEY)をクリックし、AIO KEYを確認します。

ダッシュボードは、カスタマイズすることも、新しく作成することもできますが、今回は、この「Welcome Dashboard」をそのまま使用します。
④プログラムの作成と実行
1.次のJavaScriptコードを入力し、「publisher.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 five = require("johnny-five"); | |
var mqtt = require('mqtt'); | |
var client = mqtt.connect('mqtt://io.adafruit.com', { | |
port:1883, | |
username:'[USER NAME]', | |
password:'[YOUR AIO KEY]' | |
}); | |
client.on('connect', function () { | |
five.Board().on("ready", function() { | |
var temperature = new five.Thermometer( | |
controller: "LM35", | |
pin: "A0", | |
freq: 10000 | |
}); | |
temperature.on("data", function() { | |
var temp = this.celsius.toFixed(2); | |
console.log(temp+ "°C"); | |
// Topic Name(トピック名)は「<user name>/feeds/<feed name>」の形式で指定 | |
client.publish('[Topic Name]',String(temp)); | |
}); | |
}) | |
}); |
[Topic name]には、トピック名を「<ユーザー名>/feeds/<フィード名>」の形式で指定します。「Welcome Dashboard」の各ブロックは、「Welcome Feed」フィードに紐づけされているので、たとえば、ユーザー名が「taro」なら、トピック名は「taro/feeds/Welcome Feed」になります。
Adafruit IOのFeed(フィード)は、いわゆるデータを管理するオブジェクトです。このFeedを使用して、データの送受信を行います。
2.コマンドプロンプトから「node publisher.js」と入力します。
0 件のコメント:
コメントを投稿