(10분 IoT) ESP32를 wifi 접속하여 온도·습도를 그래프화(Ambient)

목적



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
}

결과



좋은 웹페이지 즐겨찾기