大家好, 今天來和大家分享 “一起來學樹莓派”,
本週的主題為: “#7 動態查詢InfluxDB 資料庫 以及 用MQTT來遠端開/關繼電器”.
上期的資料庫查詢的方式是固定時間軸的, 每次要查詢資料時, 可能都要重新下 SQL 指令.
本期要介紹的是使用 Slider 滑桿的方式來調整時間的區間, 並用 Interval 滑桿來調整時間的平均值, 使查詢資料的方法更便利.
另外, 本次也介紹如何使用 MQTT out 來從遠端來開/關繼電器.
(如果你要接上 110V or 220V 電器, 請自行小心高壓電的危險! 本人無法負責您的風險)
一起來學樹莓派吧!
這影片主要內容有:
如何用 Slider 建立動態查詢 InfluxDB 的界面
用 MQTT out 來遠端開/關繼電器 (可以接上電器開/關)
如何把 SQL 讀出的資料解析送到 Dashboard Chart
使用 Layout 工具來佈置 dashboard 排列位置
使用 CSS template 來改變 dashboard 外觀
如果時間不夠的朋友, 也可以從以下的時間軸挑選想看的部份即可!
影片時間軸:
Create query 程式碼(A):
msg.query = "select mean(temp) as temp, mean(humd) as humd from studioTemp where location='studio' and time > now() - "; msg.query += flow.get("hours") + "h GROUP by time(" + flow.get("interval") + "m) FILL(0)"; return msg;
Format DB data 程式碼(B):
var My_series = ["Temperature °C", "Humidity %"]; var My_labels = ["temp", "Humd"]; var data = msg.payload; // var data = msg.payload; // Not sure the same query produced differnet results...? temp = data.map(point=> {return {x:point.time , y:point.temp.toFixed(2)}}); humd = data.map(point=> {return {x:point.time , y:point.humd.toFixed(2)}}); var My_data = [temp, humd]; msg.payload = [{ series: My_series, data: My_data, labels: My_labels}] return msg;
NodeRED source code is available here: Download it here.
Stonez56 一起來學樹莓派系列影片:
- #1 無鍵盤 無滑鼠 快速上手
https://youtu.be/BCkdSQNtVB0 - #2 改用 USB3/SSD 來開機, 畫面好流暢!
https://youtu.be/uI01GFmfH1k - #3 一行指令安裝 Node RED & 外加密碼保護
https://youtu.be/Mk8-xn_fHOA - #4 安裝 Mosquitto broker (MQTT) & 並在Node-RED & Google MQTTLens 進行測試 https://youtu.be/cK_LJPgR4mQ
- #5 溫溼度感測器DHT11由 ESP32 經 MQTT 送到 Node-RED
https://youtu.be/Vv1JRNYIZKc - #6 監測資料寫入InfluxDB資料庫, 長期保存並在NodeRED資訊看板裡顯示 https://youtu.be/UOoDolPVge0
- #7 2021 一起來學樹莓派 - 動態查詢InfluxDB 資料庫 & MQTT來遠端開/關繼電器 https://youtu.be/EpY_jl4wXtM
參考資料:
- Function notd to format the data for “Influxdb Out” node URL: https://github.com/node-red/node-red-dashboard/blob/master/Charts.md
- ESPMQTTClient source code https://github.com/plapointe6/EspMQTTClient/blob/master/examples/SimpleMQTTClient/SimpleMQTTClient.ino
- Customize dashboard CSS https://discourse.nodered.org/t/customize-dashboard-css/23139
No comments:
Post a Comment