|
|
@@ -14,6 +14,8 @@ IAQ2000 iaq; |
|
|
|
|
|
|
|
DHT dht(dht_apin, DHT11); |
|
|
|
|
|
|
|
unsigned long loopcnt=0; |
|
|
|
|
|
|
|
// DNS |
|
|
|
DNSClient dnClient; |
|
|
|
|
|
|
@@ -44,7 +46,7 @@ EthernetUDP Udp; |
|
|
|
|
|
|
|
//MQTT |
|
|
|
const char *MQTT_BROKER = "loxberry"; |
|
|
|
IPAddress mqttbroker(192, 168, 1, 127); |
|
|
|
IPAddress mqttbroker(192, 168, 1, 35 ); |
|
|
|
EthernetClient ethClient; |
|
|
|
PubSubClient MQTTclient(ethClient); |
|
|
|
|
|
|
@@ -53,7 +55,6 @@ PubSubClient MQTTclient(ethClient); |
|
|
|
// (port 80 is default for HTTP): |
|
|
|
EthernetServer server(80); |
|
|
|
|
|
|
|
|
|
|
|
void setup() { |
|
|
|
Wire.begin(); |
|
|
|
Serial.begin(9600); |
|
|
@@ -80,9 +81,7 @@ void setup() { |
|
|
|
iaq.initialize(); |
|
|
|
|
|
|
|
Serial.println( |
|
|
|
iaq.testConnection() ? |
|
|
|
"iAQ-2000 erfolgreich" : |
|
|
|
"iAQ-2000 Fehler"); |
|
|
|
iaq.testConnection() ? "iAQ-2000 erfolgreich" : "iAQ-2000 Fehler"); |
|
|
|
|
|
|
|
dht.begin(); //DHT11 Sensor starten |
|
|
|
|
|
|
@@ -108,6 +107,10 @@ void setup() { |
|
|
|
//MQTTclient.setCallback(MQTTcallback); |
|
|
|
|
|
|
|
//Serial.println("setup done"); |
|
|
|
dht.read(); |
|
|
|
airQuality = iaq.getIaqpred(); |
|
|
|
Temperatur = dht.readTemperature(); |
|
|
|
Humidity = dht.readHumidity(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
@@ -117,13 +120,11 @@ void loop() { |
|
|
|
String hum = String(Humidity, 2); |
|
|
|
char buff[20]; |
|
|
|
|
|
|
|
Serial.println("LOOP10"); |
|
|
|
|
|
|
|
dht.read(); //read data from pin 5 (DHT11) |
|
|
|
Serial.println("LOOP20"); |
|
|
|
airQuality = iaq.getIaqpred(); |
|
|
|
Temperatur = dht.readTemperature(); |
|
|
|
Humidity = dht.readHumidity(); |
|
|
|
Serial.println("LOOP30"); |
|
|
|
//MQTT |
|
|
|
if (!MQTTclient.connected()) { |
|
|
|
MQTTclient.connect("Arduino", "loxberry", "OSVL0AMqISFXgr5g"); |
|
|
@@ -133,21 +134,23 @@ void loop() { |
|
|
|
//MQTTclient.subscribe("/Stall/arduino1/#"); |
|
|
|
Serial.println("connected to MQTT"); |
|
|
|
} |
|
|
|
temp.toCharArray(buff, temp.length()); |
|
|
|
MQTTclient.publish("Arduino/Stall/Temperatur", buff); |
|
|
|
aq.toCharArray(buff, aq.length()+1); |
|
|
|
MQTTclient.publish("Arduino/Stall/CO2", buff); |
|
|
|
Serial.println("CO2 buff"); |
|
|
|
Serial.println(buff); |
|
|
|
Serial.println(aq); |
|
|
|
hum.toCharArray(buff, hum.length()); |
|
|
|
MQTTclient.publish("Arduino/Stall/Humidity", buff); |
|
|
|
snprintf(buff, 19, "%ld", millis()); |
|
|
|
Serial.println("Publish message: "); |
|
|
|
Serial.println(buff); |
|
|
|
MQTTclient.publish("Arduino/Stall/data/Alive", buff); |
|
|
|
Serial.println("MQTT done"); |
|
|
|
// MQTTclient.loop(); // Schleife für MQTT |
|
|
|
|
|
|
|
if (loopcnt++ % 1000 == 0) { |
|
|
|
temp.toCharArray(buff, temp.length()); |
|
|
|
MQTTclient.publish("Arduino/Stall/Temperatur", buff); |
|
|
|
aq.toCharArray(buff, aq.length() + 1); |
|
|
|
MQTTclient.publish("Arduino/Stall/CO2", buff); |
|
|
|
Serial.println("CO2 buff"); |
|
|
|
hum.toCharArray(buff, hum.length()); |
|
|
|
MQTTclient.publish("Arduino/Stall/Humidity", buff); |
|
|
|
snprintf(buff, 19, "%ld", millis()); |
|
|
|
Serial.println("Publish message: "); |
|
|
|
Serial.println(buff); |
|
|
|
MQTTclient.publish("Arduino/Stall/data/Alive", buff); |
|
|
|
Serial.println("MQTT done"); |
|
|
|
loopcnt = 1; |
|
|
|
} |
|
|
|
// MQTTclient.loop(); // Schleife für MQTT |
|
|
|
|
|
|
|
// schaut on ein UDP Befehl empfangen wurde |
|
|
|
checkUDP(); |
|
|
|