ESP01 ThingSpeak Channel: BME280 Sensor Data Update

                      http://arduino.esp8266.com/stable/package_esp8266com_index.json

#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
// Use ESP-01 available pins for I2C
#define SDA_PIN 0          // GPIO0 for SDA
#define SCL_PIN 2          // GPIO2 for SCL
// BME280 sensor
Adafruit_BME280 bme;
// Set I2C to use GPIO0 (SDA) and GPIO2 (SCL)
Wire.begin(SDA_PIN, SCL_PIN);
// Init BME280 SDO connected to GND
if (!bme.begin(0x76)) { 
    display.println("BME280 error");
    display.display();
    while (1);
  }
// the parameters 
float temperature = bme.readTemperature();
float humidity = bme.readHumidity();
float pressure = bme.readPressure() / 100.0F;
float altitude = bme.readAltitude(1013.25);
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
// Use ESP-01 available pins for I2C
#define SDA_PIN 0          // GPIO0 for SDA
#define SCL_PIN 2          // GPIO2 for SCL
// OLED display
#define SCREEN_WIDTH 128   // Adjust Width
#define SCREEN_HEIGHT 64   // Adjust Height
#define OLED_RESET -1      // Since No Reset Pin
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
// Set I2C to use GPIO0 (SDA) and GPIO2 (SCL)
  Wire.begin(SDA_PIN, SCL_PIN);
  // Initialize OLED
  if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
    Serial.println("OLED init failed");
    delay(10000);
    while (1);
  }
const char* host = "api.thingspeak.com";      
const char* writeAPIKey = "Your_API_Key"; // provide your Write API Key
WiFiClient client;
// ThingSpeak
  if (client.connect(host, 80)) {
    String url = String("/update?api_key=") + writeAPIKey +
                 "&field1=" + tStr +
                 "&field2=" + hStr +
                 "&field3=" + pStr +
                 "&field4=" + aStr +
                 "&field5=" + hiStr;

    client.print(String("GET ") + url + " HTTP/1.1\r\n" +
                 "Host: " + host + "\r\n" +
                 "Connection: close\r\n\r\n");

    Serial.println("Sent to ThingSpeak");
    display.setCursor(0, 56);
    display.println("Sent to ThingSpeak");
    display.display();
  } else {
    Serial.println("Send failed");
    display.setCursor(0, 56);
    display.println("Send failed");
    display.display();
  }
float computeHeatIndex(float tempC, float humidity) 
{
  // Convert Celsius to Fahrenheit
  float tempF = tempC * 9.0 / 5.0 + 32.0;
  float hiF = -42.379 + 2.04901523 * tempF + 10.14333127 * humidity
              - 0.22475541 * tempF * humidity - 0.00683783 * tempF * tempF
              - 0.05481717 * humidity * humidity + 0.00122874 * tempF * tempF * humidity
              + 0.00085282 * tempF * humidity * humidity
              - 0.00000199 * tempF * tempF * humidity * humidity;

  // Convert back to Celsius
  return (hiF - 32) * 5.0 / 9.0;
}