Browse Source

fixed mqtt

master
Domagoj Zecevic 2 years ago
parent
commit
d819907010
  1. 69
      tata_station/tata_station.ino

69
tata_station/tata_station.ino

@ -1,6 +1,6 @@
#include <DHT.h> #include <DHT.h>
#include <ESP8266WiFi.h> #include <ESP8266WiFi.h>
#include <PubSubClient.h> #include <ArduinoMqttClient.h>
#include <LiquidCrystal_I2C.h> #include <LiquidCrystal_I2C.h>
// set the LCD number of columns and rows // set the LCD number of columns and rows
@ -11,16 +11,14 @@ LiquidCrystal_I2C lcd(0x27, lcdColumns, lcdRows);
// WiFi Info // WiFi Info
const char* ssid = "IoT-Zecevic"; const char* ssid = "IoT-Zecevic";
const char* password = "IoTSifra123456!"; const char* password = "IoTSifra123456!";
WiFiClient espClient;
//MQTT data //MQTT data
const char* mqttServer = "192.168.1.11"; const char* mqttServer = "192.168.1.11";
const int mqttPort = 1883; const int mqttPort = 1883;
const char* mqttUser = "yourMQTTuser"; const char* mqttUser = "yourMQTTuser";
const char* mqttPassword = "yourMQTTpassword"; const char* mqttPassword = "yourMQTTpassword";
WiFiClient espClient; MqttClient MQTTclient(espClient);
PubSubClient MQTTclient(espClient);
// DHT setup // DHT setup
#define DHTPIN 2 #define DHTPIN 2
@ -59,7 +57,7 @@ void initWiFi() {
} }
void reconect() { void reconect() {
while (MQTTclient.connect("ESP32Client", mqttUser, mqttPassword )) { while (!MQTTclient.connect(mqttServer, mqttPort)) {
Serial.println("Connecting to MQTT..."); Serial.println("Connecting to MQTT...");
} }
} }
@ -77,12 +75,19 @@ String prepareHtmlPage()
"<!DOCTYPE HTML>" "<!DOCTYPE HTML>"
"<html>"); "<html>");
htmlPage += F("</p>" htmlPage += F("</p>"
"<p><b>Temperature:</b> "); "<p><b>Temperatura unutra:</b> ");
htmlPage += global_temp_indoor; htmlPage += global_temp_indoor;
htmlPage += F("</p>" htmlPage += F("</p>"
"<p><b>Humidity:</b> "); "<p><b>Vlaznost unutra:</b> ");
htmlPage += global_hym_indoor; htmlPage += global_hym_indoor;
htmlPage += F("</p>"
"<p><b>Temperatura vani:</b> ");
htmlPage += global_temp_outdoor;
htmlPage += F("</p>"
"<p><b>Vlaznost vani:</b> ");
htmlPage += global_hym_outdoor;
htmlPage += F("</html>" htmlPage += F("</html>"
"\r\n"); "\r\n");
return htmlPage; return htmlPage;
@ -104,20 +109,6 @@ void setup() {
server.begin(); server.begin();
Serial.printf("Web server started, open %s in a web browser\n", WiFi.localIP().toString().c_str()); 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);
}
}
//show 5 sec IP on display //show 5 sec IP on display
lcd.setCursor(0, 0); lcd.setCursor(0, 0);
lcd.print("IP Adresa:"); lcd.print("IP Adresa:");
@ -155,15 +146,31 @@ void loop() {
unsigned long currentMillis = millis(); unsigned long currentMillis = millis();
//if(currentMillis - previousMillis > interval) { if(currentMillis - previousMillis > interval) {
// previousMillis = currentMillis; previousMillis = currentMillis;
// if (!MQTTclient.connected()) { if (!MQTTclient.connected()) {
// WiFi.reconnect(); WiFi.reconnect();
// reconect(); reconect();
// } }
// MQTTclient.publish("my/BedRoom/Temperature", String(global_temp_indoor).c_str()); MQTTclient.beginMessage("my/Osijek/Indor-Temperature");
// MQTTclient.publish("my/BedRoom/Humidity", String(global_hym_indoor).c_str()); MQTTclient.print(String(global_temp_indoor).c_str());
// } MQTTclient.endMessage();
MQTTclient.beginMessage("my/Osijek/Indor-Humidity");
MQTTclient.print(String(global_hym_indoor).c_str());
MQTTclient.endMessage();
MQTTclient.beginMessage("my/Osijek/Outdoor-Temperature");
MQTTclient.print(String(global_temp_outdoor).c_str());
MQTTclient.endMessage();
MQTTclient.beginMessage("my/Osijek/Outdoor-Humidity");
MQTTclient.print(String(global_hym_outdoor).c_str());
MQTTclient.endMessage();
Serial.println("mqqt published");
}
WiFiClient serverClient = server.available(); WiFiClient serverClient = server.available();
if (serverClient) if (serverClient)

Loading…
Cancel
Save