ESP32でBME280から取得したデータをAmbientに送信する | Wak-tech
bme280をi2cで使う際は注意が必要(秋月パンフみること,GNDに2個おとす!)
Arduino ESP8266で温度・湿度を測定し、Ambientに送ってグラフ化する – Ambient (ambidata.io) これを改変するがサイトにグラフ化の手順も書いている 便利
#include <WiFi.h>
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
#include "Ambient.h"
#define PERIOD 300
#define SEALEVELPRESSURE_HPA (1013.25)
Adafruit_BME280 bme;
WiFiClient client;
Ambient ambient;
unsigned long delayTime;
float temp;
float pressure;
float humid;
const char* ssid = "";
const char* password = "";
unsigned int channelId = 78037;
// AmbientのチャネルID
const char* writeKey = "1cee9795917843b8"; // ライトキー
void setup() {
Serial.begin(115200);
bool status;
status = bme.begin(0x76);
while (!status) {
Serial.println("BME280 sensorが使えません");
delay(1000);
}
delayTime = 1000;
WiFi.begin(ssid, password); // Wi-Fi APに接続
while (WiFi.status() != WL_CONNECTED) { // Wi-Fi AP接続待ち
delay(100);
}
Serial.print("WiFi connected\r\nIP address: ");
Serial.println(WiFi.localIP());
ambient.begin(channelId, writeKey, &client); // チャネルIDとライトキーを指定してAmbientの初期化
}
void loop() {
temp=bme.readTemperature();
pressure=bme.readPressure() / 100.0F;
humid=bme.readHumidity();
Serial.print("温度 ;");
Serial.print(temp);
Serial.println(" °C");
Serial.print("気圧 ;");
Serial.print(pressure);
Serial.println(" hPa");
Serial.print("湿度 ;");
Serial.print(humid);
Serial.println(" %");
Serial.println();
delay(delayTime);
ambient.set(1, temp); // 温度をデータ1にセット
ambient.set(2, humid); // 湿度をデータ2にセット
ambient.set(3, pressure); // 気圧をデータ3にセット
ambient.send(); // データをAmbientに送信
delay(PERIOD * 1000);
}
0 件のコメント:
コメントを投稿