Arduinoで作ろう(50) 温度・湿度・気圧データをBlynkで見てみる
ESP32に温度・湿度・気圧センサBME280をつないで,データをBLEでスマホへ送り,Blynkで見てみました。
Blynkの画面は,なかなかカッコ良くて「ナウなヤングにバカウケ」ですなあ。
設定はこんな感じ ↓
//ESP32 + BME280 -> Blynk
#define BLYNK_PRINT Serial
#define BLYNK_USE_DIRECT_CONNECT
#include <BlynkSimpleEsp32_BLE.h>
#include <BLEDevice.h>
#include <BLEServer.h>
#include <Wire.h>
#include "SparkFunBME280.h"
char auth[] = " あなたのAuth Token ";
BME280 sensor;
float temp,humidity,pressure;
char buff[50];void setup(){
Wire.begin();
sensor.beginI2C();
Serial.begin(9600);
Serial.println("Waiting for connections...");
Blynk.setDeviceName("BME280");
Blynk.begin(auth);
}void loop(){
getdata();
Blynk.run();
}void getdata() {
temp = sensor.readTempC() ;
humidity = sensor.readFloatHumidity() ;
pressure = sensor.readFloatPressure()/100 ;
}BLYNK_READ(V0) {
formattedFloat(temp, 1, buff);
Blynk.virtualWrite(V0, buff);
}
BLYNK_READ(V1) {
formattedFloat(humidity, 1, buff);
Blynk.virtualWrite(V1, buff);
}
BLYNK_READ(V2) {
formattedFloat(pressure, 0, buff);
Blynk.virtualWrite(V2, buff);
}void formattedFloat(float x, uint8_t precision, char *buff) {
dtostrf(x, 7, precision, buff);
}
でも,ちょっと問題があって,「SuperChart」が「Live」のグラフは描いてくれるんだけど,「1h」(1時間のグラフ)を描いてくれないんですよね。いつまでたっても「No data yet」って表示されてるんですよ。アプリの不具合だと思うんだけどなあ?