|
|
@ -44,38 +44,14 @@ float temperature; |
|
|
WiFiClient espClient; |
|
|
WiFiClient espClient; |
|
|
MqttClient MQTTclient(espClient); |
|
|
MqttClient MQTTclient(espClient); |
|
|
|
|
|
|
|
|
// void callback(char* topic, byte* payload, unsigned int length) {
|
|
|
|
|
|
|
|
|
|
|
|
// Serial.print("Message arrived in topic: ");
|
|
|
|
|
|
// Serial.println(topic);
|
|
|
|
|
|
|
|
|
|
|
|
// Serial.print("Message:");
|
|
|
|
|
|
// global_power = "";
|
|
|
|
|
|
// for (int i = 0; i < length; i++) {
|
|
|
|
|
|
// Serial.print((char)payload[i]);
|
|
|
|
|
|
// global_power += char(payload[i]);
|
|
|
|
|
|
// }
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
void onMqttMessage(int messageSize) { |
|
|
void onMqttMessage(int messageSize) { |
|
|
// Serial.println("Received a message with topic '");
|
|
|
|
|
|
// Serial.print(MQTTclient.messageTopic());
|
|
|
|
|
|
// Serial.print("', length ");
|
|
|
|
|
|
// Serial.print(messageSize);
|
|
|
|
|
|
// Serial.println(" bytes:");
|
|
|
|
|
|
|
|
|
|
|
|
global_power = ""; |
|
|
global_power = ""; |
|
|
while (MQTTclient.available()) { |
|
|
while (MQTTclient.available()) { |
|
|
//Serial.print((char)MQTTclient.read());
|
|
|
|
|
|
global_power += char(MQTTclient.read()); |
|
|
global_power += char(MQTTclient.read()); |
|
|
} |
|
|
} |
|
|
// Serial.println(global_power);
|
|
|
|
|
|
// Serial.println();
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void showDisplay() { |
|
|
void showDisplay() { |
|
|
//int length = global_power.length();
|
|
|
|
|
|
//Serial.println(lenght);
|
|
|
|
|
|
if (global_power.length() > 5) { |
|
|
if (global_power.length() > 5) { |
|
|
global_power = global_power.substring(0,global_power.length()-1); |
|
|
global_power = global_power.substring(0,global_power.length()-1); |
|
|
} |
|
|
} |
|
|
@ -128,14 +104,6 @@ String prepareHtmlPage() |
|
|
void reconect() { |
|
|
void reconect() { |
|
|
while (!MQTTclient.connect(mqttServer, mqttPort)) { |
|
|
while (!MQTTclient.connect(mqttServer, mqttPort)) { |
|
|
Serial.println("Connecting to MQTT..."); |
|
|
Serial.println("Connecting to MQTT..."); |
|
|
|
|
|
|
|
|
// if (MQTTclient.connect()) {
|
|
|
|
|
|
// Serial.println("Connected to mqtt!");
|
|
|
|
|
|
// } else {
|
|
|
|
|
|
// Serial.print("failed with state ");
|
|
|
|
|
|
// Serial.print(MQTTclient.connectError());
|
|
|
|
|
|
// delay(2000);
|
|
|
|
|
|
// }
|
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -156,14 +124,9 @@ void setup() { |
|
|
} |
|
|
} |
|
|
Serial.println("Connected to WiFi"); |
|
|
Serial.println("Connected to WiFi"); |
|
|
|
|
|
|
|
|
//MQTTclient.setServer(mqttServer, mqttPort);
|
|
|
|
|
|
//MQTTclient.setCallback(callback);
|
|
|
|
|
|
MQTTclient.onMessage(onMqttMessage); |
|
|
MQTTclient.onMessage(onMqttMessage); |
|
|
MQTTclient.subscribe(topic); |
|
|
MQTTclient.subscribe(topic); |
|
|
|
|
|
|
|
|
//Get info from Solar
|
|
|
|
|
|
//MQTTclient.subscribe("solar/114182126368/0/power");
|
|
|
|
|
|
|
|
|
|
|
|
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()); |
|
|
|
|
|
|
|
|
@ -181,16 +144,12 @@ void setup() { |
|
|
void loop() { |
|
|
void loop() { |
|
|
if (!MQTTclient.connected()) { |
|
|
if (!MQTTclient.connected()) { |
|
|
reconect(); |
|
|
reconect(); |
|
|
//Serial.print("loop ");
|
|
|
|
|
|
//Serial.println(MQTTclient.connected());
|
|
|
|
|
|
MQTTclient.poll(); |
|
|
MQTTclient.poll(); |
|
|
MQTTclient.available(); |
|
|
MQTTclient.available(); |
|
|
//Serial.println((char)MQTTclient.read());
|
|
|
|
|
|
} |
|
|
} |
|
|
MQTTclient.poll(); |
|
|
MQTTclient.poll(); |
|
|
MQTTclient.available(); |
|
|
MQTTclient.available(); |
|
|
MQTTclient.subscribe(topic); |
|
|
MQTTclient.subscribe(topic); |
|
|
//Serial.println((char)MQTTclient.read());
|
|
|
|
|
|
|
|
|
|
|
|
WiFiClient serverClient = server.available(); |
|
|
WiFiClient serverClient = server.available(); |
|
|
if (serverClient) |
|
|
if (serverClient) |
|
|
@ -227,7 +186,6 @@ void loop() { |
|
|
if (!MQTTclient.connected()) { |
|
|
if (!MQTTclient.connected()) { |
|
|
reconect(); |
|
|
reconect(); |
|
|
} |
|
|
} |
|
|
//Serial.println(MQTTclient.connected());
|
|
|
|
|
|
|
|
|
|
|
|
MQTTclient.beginMessage("my/office/Temperature"); |
|
|
MQTTclient.beginMessage("my/office/Temperature"); |
|
|
MQTTclient.print(String(temperature).c_str()); |
|
|
MQTTclient.print(String(temperature).c_str()); |
|
|
@ -236,10 +194,5 @@ void loop() { |
|
|
MQTTclient.beginMessage("my/office/Humidity"); |
|
|
MQTTclient.beginMessage("my/office/Humidity"); |
|
|
MQTTclient.print(String(humidity).c_str()); |
|
|
MQTTclient.print(String(humidity).c_str()); |
|
|
MQTTclient.endMessage(); |
|
|
MQTTclient.endMessage(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// MQTTclient.publish("my/office/Temperature", String(temperature).c_str());
|
|
|
|
|
|
// MQTTclient.publish("my/office/Humidity", String(humidity).c_str());
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |