今天要來介紹的是這個長的很像壓力表的顯示工具Widget Gauge。
這個工具跟Value Display可以說是非常的像,只是將數值以圓形圖的方式展示,這個很適合用在類似壓力、速度等等的資訊。在設定頁面中可以發現跟Value Display幾乎一樣。
在INPUT的選擇中它有Analog與Virtual的選項,一樣在Virtual中才有PUSH的模式,這個要注意到,如果不太清楚PUSH模式的可以參考這篇文章。
在設定部分我將工具名稱改為Temp,INPUT選擇V0虛擬引腳,並且將溫度設定在25~35的範圍內,設定的太寬反而看不出移動的效果,最後是LABEL的格式使用/pin.#/加上℃,限制它顯示在小數點後第一位就好。
程式碼的部分則如下所示,修改至Blynk的官方範例PUSH DATA,這個程式碼在每秒都會讀取DS18B20的溫度值,然後發送(PUSH)到Blynk的V0上面。
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 0
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
char auth[] = "*****************";
char ssid[] = "*******";
char pass[] = "*******";
BlynkTimer timer;
void myTimerEvent()
{
sensors.requestTemperatures();
float temp = sensors.getTempCByIndex(0);
Serial.println(temp);
Blynk.virtualWrite(V0, temp);
}
void setup()
{
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
sensors.begin();
timer.setInterval(1000L, myTimerEvent);
}
void loop()
{
Blynk.run();
timer.run(); // Initiates BlynkTimer
}
顯示的結果如下圖所示,我的程式中撰寫每一秒PUSH一個資訊到資料庫中,同時這個工具若設定PUSH模式也會在資料庫新增資料的同時,顯示在這上面。
這個工具的可視性很強,所以可以用在需要直觀的數據顯示上。