https://qiita.com/ekzemplaro/items/3a982b259db4b1cf19ad :: onoff lib for raspi
------------------------------------------------------------------------------------------
https://zenn.dev/protoout/articles/28-firebase-realtimedb-nodejs :: data_once仕様
リアルタイムサーバ的にうごかすに以下のようにする
var admin = require("firebase-admin");
// 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(dataSnapshot) {
console.log('refSensor');
console.log(dataSnapshot.toJSON());
console.log(dataSnapshot.child("humidity").val());
});
ーーーーーーーーーーmqtt.jsーーーーーーーーーーーーーーーーーー
https://qiita.com/emqx_japan/items/d1b9708d7f7f6a2d7284 にあるコードで成功
mqttxでtopicsを/nodejs/mqttとして"on"などを送れる
const mqtt = require('mqtt') const host = 'broker.emqx.io' const port = '1883' const clientId = `mqtt_${Math.random().toString(16).slice(3)}` const connectUrl = `mqtt://${host}:${port}` const client = mqtt.connect(connectUrl, { clientId, clean: true, connectTimeout: 4000, username: 'emqx', password: 'public', reconnectPeriod: 1000, }) const topic = '/nodejs/mqtt' client.on('connect', () => { console.log('Connected') client.subscribe([topic], () => { console.log(`Subscribe to topic '${topic}'`) client.publish(topic, 'nodejs mqtt test', { qos: 0, retain: false }, (error) => { if (error) { console.error(error) } }) }) })
0 件のコメント:
コメントを投稿