diff --git a/RaspberryPi/configreader.c b/RaspberryPi/configreader.c index 1a19fb6..c15d314 100644 --- a/RaspberryPi/configreader.c +++ b/RaspberryPi/configreader.c @@ -92,18 +92,18 @@ int cfgreadcompareidvalue(int element) { } } -char *cfgreadDatabaseUser(void) { - const char *databseuser; - if (!config_setting_lookup_string(cfg, "databaseuser", databaseuser)) { - continue; +const char *cfgreadDatabaseUser(void) { + const char *databaseuser; + if (!config_lookup_string(&cfg, "databaseuser", &databaseuser)) { + databaseuser = "dhtuser"; } return databaseuser; } int cfgreadNodeRefreshRate(void) { - int refreshRate = 60; //Default value - if (!config_setting_lookup_int(cfg, "refreshRate", &refreshRate)) { - continue; + int refreshRate; + if (!config_lookup_int(&cfg, "refreshRate", &refreshRate)) { + refreshRate = 60; //Default value } return refreshRate; } diff --git a/RaspberryPi/configreader.h b/RaspberryPi/configreader.h index dd14c39..ff72b99 100644 --- a/RaspberryPi/configreader.h +++ b/RaspberryPi/configreader.h @@ -18,7 +18,7 @@ int cfgreadpinamount(void); int cfgreadsensornodes(sensornode *nodes, int nodecount); int cfgreadcompareidamount(void); //currently unused but will be necessary if there'll be any node filters int cfgreadcompareidvalue(int element); //same -char *cfgreadDatabaseUser(void); +const char *cfgreadDatabaseUser(void); int cfgreadNodeRefreshRate(void); #endif diff --git a/RaspberryPi/main.c b/RaspberryPi/main.c index 83c125e..530bab2 100644 --- a/RaspberryPi/main.c +++ b/RaspberryPi/main.c @@ -96,12 +96,12 @@ int main(void) { for (j = 0; j < nodecount; j++) { if (nodedata[j].isoutside == 0) { //This node is a indoor node - avtemp_in += nodedate[j].temperature; + avtemp_in += nodedata[j].temperature; avhum_in += nodedata[j].humidity; inCount++; } else { //This node is a outdoor node - avtemp_out += nodedate[j].temperature; + avtemp_out += nodedata[j].temperature; avhum_out += nodedata[j].humidity; outCount++; } @@ -115,8 +115,8 @@ int main(void) { float avgOutsideHumidity = avhum_in / outCount; //Insert the results into the database - insertDataAverages(avgInsideTemperature, avgInsideHumidity, absoluteHumidityFloat(avgInsideTemperature, avgInsideHumidity)); - insertDataAverages(avgOutsideTemperature, avgOutsideHumidity, absoluteHumidityFloat(avgOutsideTemperature, avgOutsideHumidity)); + //insertDataAverages(avgInsideTemperature, avgInsideHumidity, absoluteHumidityFloat(avgInsideTemperature, avgInsideHumidity)); + //insertDataAverages(avgOutsideTemperature, avgOutsideHumidity, absoluteHumidityFloat(avgOutsideTemperature, avgOutsideHumidity)); //free diff --git a/RaspberryPi/sendmysql.c b/RaspberryPi/sendmysql.c index 403f397..301ee27 100644 --- a/RaspberryPi/sendmysql.c +++ b/RaspberryPi/sendmysql.c @@ -66,7 +66,7 @@ void insertData(sensor *s) { -void insertDataAverages(float temperature, float humidity, float gm3) { +void insertDataAverages(float temperature, float humidity, float gm3, int isoutside) { MYSQL *conn; //MYSQL_RES *res; //MYSQL_ROW row; @@ -101,9 +101,8 @@ void insertDataAverages(float temperature, float humidity, float gm3) { */ char *pquerystring = NULL; - //TODO adjust query string if (-1 == asprintf(&pquerystring, - "INSERT INTO stats (node_id, pin, humidity, temperature, isoutside, gm3) VALUES (%i, %i, %f, %f, %i, %f)", s->node_id, s->pin, s->humidity, s->temperature, s->isoutside, absoluteHumidity(s))) { + "INSERT INTO stats (humidity, temperature, gm3, isoutside) VALUES (%f, %f, %f, %i)", humidity, temperature, absoluteHumidityFloat(temperature, humidity), isoutside)) { perror("asprintf() failed"); } else { if (mysql_query(conn, pquerystring)) { diff --git a/RaspberryPi/sendmysql.h b/RaspberryPi/sendmysql.h index d00e85e..e74b7bb 100644 --- a/RaspberryPi/sendmysql.h +++ b/RaspberryPi/sendmysql.h @@ -1,4 +1,4 @@ #include "dht22.h" void insertData(sensor *s); -void insertDataAverages(float temperature, float humidity, float gm3; +void insertDataAverages(float temperature, float humidity, float gm3, int isoutside);