Arduinoで作ろう(43) WeMos D1とAmbientの連携
WeMos D1(ESP8266)につないだ気温・湿度・気圧センサBME280で取得したデータをAmbientに送信して,グラフを作ってみました。
Ambientというのは,『マイコンなどから送られるセンサデータを受信し,蓄積し,可視化(グラフ化)』してくれる無料サービスです。
チュートリアルも親切に書かれてるので,とってもカンタンでした。こんなすごいサービスが無料だなんて信じられん。
ユーザ登録して「チャネルID」と「ライトキー」を取得し,スケッチに書き込めばOK。ライブラリはココでダウンロードします。
// WeMos D1(ESP8266) + BME280 で気温・湿度・気圧測定 → Ambientに送信
#include <ESP8266WiFi.h>
#include "SparkFunBME280.h"
#include "Ambient.h"
const char* ssid = "あなたの無線LANのSSID";
const char* password = "あなたのパスワード";
WiFiClient client;
unsigned int channelId = 12345; //あなたのチャネルID
const char* writeKey = "123456789abcde";//あなたのライトキー
Ambient ambient;
float temp,humidity,pressure;
String webString="";
BME280 sensor;void setup(void){
Serial.begin(9600);
Wire.begin();
sensor.beginI2C();
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
ambient.begin(channelId, writeKey, &client);
}void loop(void){
getdata();
ambient.set(1, temp);
ambient.set(2, humidity);
ambient.set(3, pressure);
ambient.send();
delay(300000); //5分待つ
}void getdata() {
temp = sensor.readTempC() ;
humidity = sensor.readFloatHumidity() ;
pressure = sensor.readFloatPressure()/100 ;
}
データを5分間隔で24時間送信して,できたグラフがこれ↓ です。
ってか,Webブラウザで「Myチャネル」のページを開いてると,リアルタイムでどんどんグラフが作られていくのです。これは面白い。
| 固定リンク | 0
「Arduino」カテゴリの記事
- 大型7セグLEDを4個使った表示装置(2022.01.23)
- Arduinoで作ろう(61) Digisparkで7セグLED温度計(2022.01.16)
- Arduinoで作ろう(60) Digisparkでデジタル時計(2022.01.10)
- Arduinoで作ろう(59) DigisparkのP5を使えるようにした(2022.01.08)
- Arduinoで作ろう(58) DigisparkとLM35で温度計(2022.01.02)
「ESP8266 , ESP32」カテゴリの記事
- Arduinoで作ろう(51) パルスオキシメータ(2020.05.01)
- Arduinoで作ろう(50) 温度・湿度・気圧データをBlynkで見てみる(2020.04.27)
- Arduinoで作ろう(49) BLEでリモートLチカ(2020.04.25)
- Arduinoで作ろう(48) GPSのデータをAmbientに投げる(2020.04.22)
- Arduinoで作ろう(47) GPSモジュールで現在地の緯度・経度を取得(2020.04.18)