Skip to content

Instantly share code, notes, and snippets.

@sui77
Created March 27, 2020 19:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sui77/7190eeb60dc69760e93807569637afff to your computer and use it in GitHub Desktop.
Save sui77/7190eeb60dc69760e93807569637afff to your computer and use it in GitHub Desktop.
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
#include <ESP8266WiFiMulti.h>
#include <ESP8266HTTPClient.h>
#include <WiFiClient.h>
#define SEALEVELPRESSURE_HPA (1013.25)
Adafruit_BME280 bme1;
Adafruit_BME280 bme2;
Adafruit_BME280 bme3;
#define HS_SSID "Salz"
#define HS_PASS "xxx"
#define WIFI_HOSTNAME "BME280"
unsigned long delayTime = 5000;
ESP8266WiFiMulti WiFiMulti;
void setup() {
Serial.begin(9600);
Serial.println(F("BME280 test"));
unsigned status;
Wire.begin(D1, D2);
status = bme1.begin();
if (!status) {
Serial.println("Could not find a valid BME280 sensor 1, check wiring, address, sensor ID!");
while (1);
}
Wire.pins(D3, D4);
status = bme2.begin();
if (!status) {
Serial.println("Could not find a valid BME280 sensor 2, check wiring, address, sensor ID!");
while (1);
}
Wire.pins(D6, D7);
status = bme3.begin();
if (!status) {
Serial.println("Could not find a valid BME280 sensor 3, check wiring, address, sensor ID!");
while (1);
}
setupWifi();
}
void loop() {
Serial.println("Wire1");
printValues(D1, D2, bme1, '1');
delay(delayTime);
Serial.println("Wire2");
printValues(D3, D4, bme2, '2');
delay(delayTime);
Serial.println("Wire3");
printValues(D6, D7, bme3, '3');
delay(delayTime);
}
void printValues(int p1, int p2, Adafruit_BME280 bme, char n) {
String q = "http://home.sui.li/sensor.php?"; // http://192.168.178.57:81
q = q + "s=" + n;
Wire.begin(p1, p2);
q = q + "&t=" + bme.readTemperature();
q = q + "&p=" + bme.readPressure() / 100.0F;
q = q + "&h=" + bme.readHumidity();
Serial.println(q);
WiFiClient client;
HTTPClient http;
if (http.begin("192.168.178.57", 81, q)) {
int httpCode = http.GET();
http.end();
} else {
Serial.printf("[HTTP} Unable to connect\n");
}
}
void setupWifi() {
WiFi.hostname(WIFI_HOSTNAME);
WiFiMulti.addAP(HS_SSID, HS_PASS);
while(WiFiMulti.run() != WL_CONNECTED) {
Serial.println("Connecting...");
delay(1000);
}
Serial.println("Connected");
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment