|
|
|
/*
|
|
|
|
* WetterStation
|
|
|
|
* Version: 0.0
|
|
|
|
* Author: Hendrik Langer <hendrik+dev@xd0.de>
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <Arduino.h>
|
|
|
|
#include <ESP8266WiFi.h>
|
|
|
|
|
|
|
|
#include <Wire.h>
|
|
|
|
#include <SPI.h>
|
|
|
|
#include <Adafruit_Sensor.h>
|
|
|
|
#include <Adafruit_BMP085_U.h>
|
|
|
|
#include <DHT.h>
|
|
|
|
|
|
|
|
const char* server = "ingress.opensensemap.org";
|
|
|
|
const char* ssid = "Freifunk";
|
|
|
|
const char* password = "";
|
|
|
|
|
|
|
|
constexpr unsigned int postingInterval = 60000; //Uploadintervall in Millisekunden
|
|
|
|
|
|
|
|
//senseBox ID
|
|
|
|
#define SENSEBOX_ID "5a9e9e38f55bff001a494877"
|
|
|
|
|
|
|
|
//Sensor IDs
|
|
|
|
// Temperature
|
|
|
|
#define SENSOR1_ID "5a9e9e38f55bff001a49487e"
|
|
|
|
// Humidity
|
|
|
|
#define SENSOR2_ID "5a9e9e38f55bff001a49487d"
|
|
|
|
// Pressure
|
|
|
|
#define SENSOR3_ID "5a9e9e38f55bff001a49487c"
|
|
|
|
// PM10
|
|
|
|
#define SENSOR4_ID "5a9e9e38f55bff001a49487b"
|
|
|
|
// PM2.5
|
|
|
|
#define SENSOR5_ID "5a9e9e38f55bff001a49487a"
|
|
|
|
// Radioactivity
|
|
|
|
#define SENSOR6_ID "5a9e9e38f55bff001a494879"
|
|
|
|
// Voltage
|
|
|
|
#define SENSOR7_ID "5a9e9e38f55bff001a494878"
|
|
|
|
|
|
|
|
|
|
|
|
static constexpr uint8_t BMP_SCL = D4;
|
|
|
|
static constexpr uint8_t BMP_SDA = D3;
|
|
|
|
|
|
|
|
static constexpr uint8_t DHT22_PIN = D7;
|
|
|
|
static constexpr uint8_t DHTTYPE = DHT22; // DHT 22 (AM2302)
|
|
|
|
|
|
|
|
Adafruit_BMP085_Unified bmp = Adafruit_BMP085_Unified(10085);
|
|
|
|
DHT dht(DHT22_PIN, DHTTYPE);
|
|
|
|
|
|
|
|
void sendValues() {
|
|
|
|
WiFi.forceSleepWake();
|
|
|
|
WiFi.begin(ssid, password);
|
|
|
|
Serial.print("Connecting to wifi");
|
|
|
|
while (WiFi.status() != WL_CONNECTED) {
|
|
|
|
Serial.print(".");
|
|
|
|
delay(500);
|
|
|
|
}
|
|
|
|
Serial.println(" [CONNECTED]");
|
|
|
|
Serial.print("IP address: ");
|
|
|
|
Serial.println(WiFi.localIP());
|
|
|
|
|
|
|
|
Wire.begin(BMP_SDA, BMP_SCL);
|
|
|
|
if (!bmp.begin()) {
|
|
|
|
Serial.println("No valid BMP085 sensor!");
|
|
|
|
}
|
|
|
|
|
|
|
|
dht.begin();
|
|
|
|
|
|
|
|
float temp = dht.readTemperature();
|
|
|
|
// float pressure = bme.readPressure() / 100.0F;
|
|
|
|
float humidity = dht.readHumidity();
|
|
|
|
|
|
|
|
Serial.println(temp);
|
|
|
|
Serial.println(humidity);
|
|
|
|
|
|
|
|
float pressure, temp2;
|
|
|
|
bmp.getPressure(&pressure);
|
|
|
|
pressure /= 100;
|
|
|
|
bmp.getTemperature(&temp2);
|
|
|
|
Serial.println(temp2);
|
|
|
|
Serial.println(pressure);
|
|
|
|
|
|
|
|
// float temperature = sensor.readTemperature();
|
|
|
|
// postFloatValue(temperature, 1, temperatureSensorID);
|
|
|
|
|
|
|
|
WiFi.mode(WIFI_OFF);
|
|
|
|
WiFi.forceSleepBegin();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void setup() {
|
|
|
|
Serial.begin(115200);
|
|
|
|
pinMode(LED_BUILTIN, OUTPUT);
|
|
|
|
}
|
|
|
|
|
|
|
|
void loop() {
|
|
|
|
sendValues();
|
|
|
|
delay(postingInterval);
|
|
|
|
}
|