#目的
Iot入門として温度・湿度をサーバーにて可視化できるようにします。
#使う機材・サービス
マイコン:ESP32
温度・湿度測定:DHT11
可視化サービス:Ambient
ESP32-DevKitC - プログラミング入門
Arduino ESP8266で温度・湿度を測定し、Ambientに送ってグラフ化する
#コード
※DHTなどのライブラリはインストールしておいてください※
#include <WiFi.h>
#include <Ambient.h>
#include <DHT.h>
#define channelId XXXX // 生成したAmbientチャネルID
#define writeKey "XXXXXXXX" // Ambient のライトキーをセット
WiFiClient client;
const int PIN_DHT = 4;
DHT dht(PIN_DHT,DHT11);
Ambient ambient;
//WiFiのIDとPASS
const char *ssid = "XXXXXX"; //wifiのssid
const char *password = "XXXXXXX"; //wifiのパスワード
void setup() {
Serial.begin(115200);
// WiFiに接続
Serial.println(ssid);
Serial.print("Waiting for Wi-Fi connection");
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
ambient.begin(channelId, writeKey, &client); // チャネルIDとライトキーを指定してAmbientの初期化
dht.begin();
}
void loop() {
// put your main code here, to run repeatedly:
// DHT11から読み込み
float t = dht.readTemperature();
float h = dht.readHumidity();
delay(200);
if (isnan(t) || isnan(h)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
//シリアルモニターに温度・湿度の表示
Serial.println("Temperature: " + String(t) + "C Humidity: " + String(h) + "%");
//Ambientに温度と湿度を送る
ambient.set(1, t); //データセット
ambient.set(2, h);
ambient.send(); // Ambientにデータを送信
//データ取得頻度
delay(1000*20); //1000ミリ秒=1
}