commit a2cc4eade5570ea21c24e86e70ceb467cd1cb2bc
Author: Domagoj Zecevic
Temperature: "); + htmlPage += global_temp; + htmlPage += F("
" + "Humidity: "); + htmlPage += global_hym; + + htmlPage += F("" + "\r\n"); + return htmlPage; +} + +void setup() { + Serial.begin(115200); + initWiFi(); + dht.begin(); // Start DHT + + server.begin(); + Serial.printf("Web server started, open %s in a web browser\n", WiFi.localIP().toString().c_str()); + + //connect to MQTT + MQTTclient.setServer(mqttServer, mqttPort); + //MQTTclient.setCallback(callback); + + while (!MQTTclient.connected()) { + + if (MQTTclient.connect("ESP32Client", mqttUser, mqttPassword )) { + Serial.println("Connected to mqtt!"); + } else { + Serial.print("failed with state "); + Serial.print(MQTTclient.state()); + delay(2000); + } + } +} + +void loop() { + global_temp = dht.readTemperature(); + global_hym = dht.readHumidity(); + + Serial.print("Temperatrure: "); + Serial.println(global_temp); + Serial.print("Humidity: "); + Serial.println(global_hym); + + unsigned long currentMillis = millis(); + if(currentMillis - previousMillis > interval) { + previousMillis = currentMillis; + if (!MQTTclient.connected()) { + WiFi.reconnect(); + reconect(); + } + MQTTclient.publish("my/BedRoom/Temperature", String(global_temp).c_str()); + MQTTclient.publish("my/BedRoom/Humidity", String(global_hym).c_str()); + } + + WiFiClient serverClient = server.available(); + if (serverClient) + { + while (serverClient.connected()) + { + // read line by line what the client (web browser) is requesting + if (serverClient.available()) + { + String line = serverClient.readStringUntil('\r'); + if (line.length() == 1 && line[0] == '\n') + { + serverClient.println(prepareHtmlPage()); + break; + } + } + } + + while (serverClient.available()) { + serverClient.read(); + } + // close the connection: + serverClient.stop(); + } + + delay(2000); +}