Some ESP experiments; Raspi: Only write into the average table if avg values not zero

This commit is contained in:
2017-09-07 22:10:13 +02:00
parent 05415b98ff
commit fc8661a68b
3 changed files with 15 additions and 16 deletions

View File

@@ -3,6 +3,11 @@
#include "aREST.h"
#include <climits>
//If the debug macro is enabled, there's a freeMemory routine
//Check if this resolves the crashes...
#define DEBUG_MODE 1
//DHT settings:
#define DHTPIN 14 // what digital pin we're connected to
@@ -13,12 +18,6 @@
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
// Connect pin 1 (on the left) of the sensor to +5V
// NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1
// to 3.3V instead of 5V!
// Connect pin 2 of the sensor to whatever your DHTPIN is
// Connect pin 4 (on the right) of the sensor to GROUND
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor
// Initialize DHT sensor.
// Note that older versions of this library took an optional third parameter to
@@ -43,9 +42,12 @@ float temperature;
float humidity;
//milli counter
unsigned long millitotal = 0;
float millicounter = 0;
//Temp variables
float h, t;
//First measurement
bool firstmeasurement = true;
@@ -86,14 +88,14 @@ void setup() {
void loop() {
// Wait a few seconds between measurements.
float millicounter = millis();
millicounter = millis();
if (millicounter >= millitotal) {
// Reading temperature or humidity takes about 250 milliseconds!
// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
float h = dht.readHumidity();
h = dht.readHumidity();
// Read temperature as Celsius (the default)
float t = dht.readTemperature();
t = dht.readTemperature();
// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t)) {

View File

@@ -27,10 +27,7 @@ and
CREATE TABLE average_stats (id MEDIUMINT NOT NULL AUTO_INCREMENT, humidity FLOAT NOT NULL, temperature FLOAT NOT NULL, gm3 float not null, isoutside int not null, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id) );
```
Show all entries in table: `select * from stats;`
Show all entries in table: `select * from stats;` or `select * from average_stats;`
### Compile & Install

View File

@@ -116,10 +116,10 @@ int main(void) {
float avgOutsideHumidity = avhum_in / outCount;
//Insert the results into the database
if (isfinite(avgInsideHumidity) && isfinite(avgInsideTemperature)) {
if (isfinite(avgInsideHumidity) && isfinite(avgInsideTemperature) && avgInsideHumidity != 0 && avgInsideTemperature != 0) {
insertDataAverages(avgInsideTemperature, avgInsideHumidity, absoluteHumidityFloat(avgInsideTemperature, avgInsideHumidity), 0);
}
if (isfinite(avgOutsideHumidity) && isfinite(avgOutsideTemperature)) {
if (isfinite(avgOutsideHumidity) && isfinite(avgOutsideTemperature) && avgOutsideHumidity != 0 && avgOutsideTemperature != 0) {
insertDataAverages(avgOutsideTemperature, avgOutsideHumidity, absoluteHumidityFloat(avgOutsideTemperature, avgOutsideHumidity), 1);
}