----------------遠隔版------------------------------------------------------
https://zenn.dev/protoout/articles/28-firebase-realtimedb-nodejs
をもとにしているがref.onceでは一回処理になるのでref.onに変更している
var admin = require("firebase-admin");
const { Board, Led } = require("johnny-five");
const board = new Board();
board.on("ready", () => { // この枠内でのみled制御可能
const led = new Led(12);
// よって以下のfirebase要素を組み込む
// 1. サービスアカウント鍵を生成しserviceAccountKey.jsonで
// リネームしてfirebaseフォルダ直下に配置
var serviceAccount = require("./serviceAccountKey.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
// 2. Realtime DatabaseのページでdatabaseURLを確認して反映
databaseURL: "https://my-nodejs-e9414-default-rtdb.firebaseio.com"
});
var db = admin.database();
var refSensor = db.ref("protoout/studio/sensor");
refSensor.on('value', function(snapshot){ // このonでデータ変更をリアルタイムに反映
console.log('value', snapshot.val());
//console.log(typeof snapshot.child("humidity").val());//return number
if (snapshot.child("humidity").val()>=50)
{
led.on();
}
else
{
led.off();
}
});
});
0 件のコメント:
コメントを投稿