Tutorial de Sensor de Temperatura e Umidade para Sensor BME280

Nesta seção vamos criar um Sensor de Temperatura usando ESP32, ESP8266 e depois visualizar a temperatura via Alexa, Google Home ou SmartThings.

Pré-requisitos:

  1. ESP32, ESP8266 x 1.
  2. BME280 x 1.
  3. Cabos Jumper.

Introdução rápida ao Sensor de Temperatura BME280

O BME280 usa um sensor de temperatura baseado no princípio da resistência térmica. Conforme a temperatura muda, a resistência do sensor muda. O BME280 mede essa mudança na resistência e a usa para calcular a temperatura.

O BME280 se comunica com outros dispositivos usando o protocolo de comunicação I2C ou SPI para trocar dados com um microcontrolador.

Note que este tutorial é para BME280 e não BMP280. O BME280 pode medir pressão do ar, temperatura e umidade, enquanto o BMP280 pode medir apenas pressão do ar e temperatura.

Neste tutorial, vamos usar o protocolo de comunicação I2C

Fiação para BME280 com ESP8266

ESP8266 Pino BME280
3.3V Vin
GND GND
SCL 5 (D1)
SDA 4 (D2)

Note que você deve usar os pinos I2C no ESP8266.

Sinric Pro ESP8266 I2C Pins

Fiação para BME280 com ESP32

ESP32 Pino BME280
3.3V Vin
GND GND
SCL 22
SDA 21

Note que você deve usar os pinos I2C no ESP32.

Sinric Pro ESP32 I2C Pins

Sinric Pro ESP32 I2C BME280 Wiring

Vamos verificar se a temperatura está conectada corretamente e funcionando.

Passo 1: Instalar bibliotecas de suporte

  1. Instalar a biblioteca BME280
  2. Instalar a biblioteca Adafruit_Sensor
  3. Instalar a Biblioteca Sinric Pro

Sinric Pro Install the BME280 library

Passo 1: Criar um novo dispositivo no Sinric Pro

Sinric Pro create device alexa

Sinric Pro temperature sensor device notifications

Você pode definir o limite aqui para receber uma notificação push via aplicativo Sinric Pro quando a temperatura ficar abaixo ou acima de uma certa temperatura. Use o Tempo de Re-disparo para definir o atraso entre notificações.

Sinric Pro copy device id

Passo 2: Conectar ao Sinric Pro

Você pode gerar o código usando o recurso Zero Code ou escrevê-lo você mesmo. Se você não tem experiência em programação, recomendamos usar o recurso Zero Code no Portal para gerar o código, baixar e carregar.

2.1 Código Completo

Agora você deve conseguir visualizar a temperatura via App Sinric Pro

Sinric Pro App Temperature Sensor

Note que o aplicativo Google Home mostra o sensor de temperatura como um Termostato devido às limitações do Google Home.

Solução de Problemas

  1. Este tutorial é para BME280. Certifique-se de que não é um módulo BMP280.

  2. Erro: Could not find BME280 sensor!. É provável que você não tenha feito a fiação corretamente. Você pode executar o sketch I2C scanner para verificar se o sensor está conectado corretamente.

  3. O BME280 por padrão está em modo automático para fazer leituras contínuas. Isso aquecerá o chip e afetará a temperatura lida. Mude para o Cenário de Estação Meteorológica para leituras mais precisas quando executando por um longo período.

Serial.println("-- Weather Station Scenario --");
Serial.println("forced mode, 1x temperature / 1x humidity / 1x pressure oversampling,");
Serial.println("filter off");
bme.setSampling(Adafruit_BME280::MODE_FORCED,
                Adafruit_BME280::SAMPLING_X1, // temperature
                Adafruit_BME280::SAMPLING_X1, // pressure
                Adafruit_BME280::SAMPLING_X1, // humidity
                Adafruit_BME280::FILTER_OFF   );
                    
// suggested rate is 1/60Hz (1m)
delayTime = 60000; // in milliseconds

Consulte: https://github.com/adafruit/Adafruit_BME280_Library/blob/master/examples/advancedsettings/advancedsettings.ino

  1. Consulte nossa página comum de Solução de Problemas para mais detalhes.

Este documento é código aberto. Viu um erro de digitação? Por favor, crie uma issue