메뉴 건너뛰기

정보자료게시판

장비/디자인/구조

[아두이노] 정밀온습도센서 정보를 핸드폰(Blynk)으로 보내기

by 라키 posted Nov 24, 2018
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

[아두이노] 정밀온습도센서 정보를 핸드폰(Blynk)으로 보내기

목표

ESP32로 BME 280 제어 후 값을 핸드폰으로 보내기

제어 테스트 소스

/*************************************************************
  Download latest Blynk library here:
    https://github.com/blynkkk/blynk-library/releases/latest

  Blynk is a platform with iOS and Android apps to control
  Arduino, Raspberry Pi and the likes over the Internet.
  You can easily build graphic interfaces for all your
  projects by simply dragging and dropping widgets.

    Downloads, docs, tutorials: http://www.blynk.cc
    Sketch generator:           http://examples.blynk.cc
    Blynk community:            http://community.blynk.cc
    Follow us:                  http://www.fb.com/blynkapp
                                http://twitter.com/blynk_app

  Blynk library is licensed under MIT license
  This example code is in public domain.

 *************************************************************
  This example runs directly on ESP32 chip.

  Note: This requires ESP32 support package:
    https://github.com/espressif/arduino-esp32

  Please be sure to select the right ESP32 module
  in the Tools -> Board menu!

  Change WiFi ssid, pass, and Blynk auth token to run :)
  Feel free to apply it to any other example. It's simple!
 *************************************************************/

/* Comment this out to disable prints and save space */
#define BLYNK_PRINT Serial

#include <wifi.h>
#include <wificlient.h>
#include <blynksimpleesp32.h>

#include <wire.h>
#include <adafruit_sensor.h>
#include <adafruit_bme280.h>

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "";

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "";
char pass[] = "";

BlynkTimer timer;
int timerID01;

// BME280 Setting
/*
Mapping Pin D21 - SDA, D22 - SCL
*/

#define SEALEVELPRESSURE_HPA (1013.25)

Adafruit_BME280 bme; // I2C
//Adafruit_BME280 bme(BME_CS); // hardware SPI
//Adafruit_BME280 bme(BME_CS, BME_MOSI, BME_MISO, BME_SCK); // software SPI

unsigned long delayTime;

void setup()
{
  // Debug console
  Serial.begin(9600);
  Blynk.begin(auth, ssid, pass);

  Serial.println(F("BME280 test"));

  bool status;

  // default settings
  // (you can also pass in a Wire library object like &Wire2)
  status = bme.begin(0x76);  
  if (!status) {
      Serial.println("Could not find a valid BME280 sensor, check wiring!");
      while (1);
  }

  Serial.println("-- Default Test --");
  delayTime = 1000;

  Serial.println();

  timerID01=timer.setInterval(10000L, myTimerSensor01);
}

void loop()
{
  Blynk.run();
  timer.run();
}

void myTimerSensor01()
{
  printValues();
}

void printValues() 
{
  int Temper = bme.readTemperature();
  int Press = bme.readPressure() / 100.0F;
  int Altit = bme.readAltitude(SEALEVELPRESSURE_HPA);
  int Humid = bme.readHumidity();

  Serial.print("Temperature = ");
  Serial.print(Temper);
  Serial.println(" *C");

  Serial.print("Pressure = ");

  Serial.print(Press);
  Serial.println(" hPa");

  Serial.print("Approx. Altitude = ");
  Serial.print(Altit);
  Serial.println(" m");

  Serial.print("Humidity = ");
  Serial.print(Humid);
  Serial.println(" %");

  Serial.println();

  Blynk.virtualWrite(V4, Temper);
  Blynk.virtualWrite(V5, Press);
  Blynk.virtualWrite(V6, Altit);
  Blynk.virtualWrite(V7, Humid);

}

준비

참고한 자료

</adafruit_bme280.h></adafruit_sensor.h></wire.h></blynksimpleesp32.h></wificlient.h></wifi.h


위로