2 #include "Adafruit_BMP085.h"
11 // delta max = 0.6544 wrt dewPoint()
12 // 5x faster than dewPoint()
13 // reference: http://en.wikipedia.org/wiki/Dew_point
14 double dewPointFast(double celsius, double humidity)
18 double temp = (a * celsius) / (b + celsius) + log(humidity/100);
19 double Td = (b * temp) / (a - temp);
31 int chk = DHT.read11(DHT11PIN);
32 if(chk != DHTLIB_OK) Serial.println("DHTLIB ERROR!");
35 Serial.print("\"config\":{");
36 Serial.print("\"airquality\":{\"label\":\"Air Quality\",\"unit\":\"Relative\"},");
37 Serial.print("\"temp\":{\"label\":\"Temperature\",\"unit\":\"°C\"},");
38 Serial.print("\"pressure\":{\"label\":\"Pressure\",\"unit\":\"Pa\"},");
39 Serial.print("\"humidity\":{\"label\":\"Humidity\",\"unit\":\"% RH\"},");
40 Serial.print("\"analog\":{\"label\":\"ADC\",\"unit\":\"Relative\"}");
42 Serial.print("\"data\":{");
44 Serial.print("\"airquality\":[");
46 Serial.print("{\"label\":\"Air polution (MQ-2)\",\"value\":\"");
47 Serial.print(analogRead(A1));
54 Serial.print("\"analog\":[");
56 Serial.print("{\"label\":\"ADC A0 (antenna?)\",\"value\":\"");
57 Serial.print(analogRead(A0));
60 Serial.print(",{\"label\":\"ADC A2 (phototransistor?)\",\"value\":\"");
61 Serial.print(analogRead(A2));
67 Serial.print("\"temp\":[");
69 Serial.print("{\"label\":\"BMP085 Temperature\",\"value\":\"");
70 Serial.print(bmp.readTemperature());
73 Serial.print(",{\"label\":\"DHT11 Temperature\",\"value\":\"");
74 Serial.print((float)DHT.temperature);
80 Serial.print("\"pressure\":[");
82 Serial.print("{\"label\":\"BMP085 Pressure\",\"value\":\"");
83 Serial.print(bmp.readPressure());
89 Serial.print("\"humidity\":[");
91 Serial.print("{\"label\":\"DHT11 Humidity\",\"value\":\"");
92 Serial.print((float)DHT.humidity);