From 6b67591cc18f51e7de03c2bec8ec2a80e9123359 Mon Sep 17 00:00:00 2001
From: Siwat Sirichai
Date: Mon, 20 May 2024 00:13:43 +0700
Subject: [PATCH 01/22] Update ESPMegaCommon.hpp
---
ESPMegaPRO-OS-SDK/lib/ESPMegaPRO/ESPMegaCommon.hpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ESPMegaPRO-OS-SDK/lib/ESPMegaPRO/ESPMegaCommon.hpp b/ESPMegaPRO-OS-SDK/lib/ESPMegaPRO/ESPMegaCommon.hpp
index a724426..377ba10 100644
--- a/ESPMegaPRO-OS-SDK/lib/ESPMegaPRO/ESPMegaCommon.hpp
+++ b/ESPMegaPRO-OS-SDK/lib/ESPMegaPRO/ESPMegaCommon.hpp
@@ -1,3 +1,3 @@
#pragma once
-#define SDK_VESRION "2.6.1"
\ No newline at end of file
+#define SDK_VESRION "2.7.0"
\ No newline at end of file
From ea49576b206582d2a8bab9fab3fcb22239c33e6a Mon Sep 17 00:00:00 2001
From: Siwat Sirichai
Date: Mon, 20 May 2024 00:44:18 +0700
Subject: [PATCH 02/22] global state request
---
.gitignore | 1 +
ESPMegaPRO-OS-SDK/lib/ESPMegaPRO/ESPMegaIoT.cpp | 10 ++++++++++
2 files changed, 11 insertions(+)
diff --git a/.gitignore b/.gitignore
index 9bea433..a965236 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
.DS_Store
+/ESPMegaPRO-OS-SDK
diff --git a/ESPMegaPRO-OS-SDK/lib/ESPMegaPRO/ESPMegaIoT.cpp b/ESPMegaPRO-OS-SDK/lib/ESPMegaPRO/ESPMegaIoT.cpp
index 80fd0d3..2b9c877 100644
--- a/ESPMegaPRO-OS-SDK/lib/ESPMegaPRO/ESPMegaIoT.cpp
+++ b/ESPMegaPRO-OS-SDK/lib/ESPMegaPRO/ESPMegaIoT.cpp
@@ -56,6 +56,16 @@ void ESPMegaIoT::mqttCallback(char *topic, byte *payload, unsigned int length)
{
callback.second(topic_without_base, payload_buffer);
}
+ // Check for global state request
+ if (!strcmp(topic_without_base,"requeststate")) {
+ for (int i = 0; i < 255; i++)
+ {
+ if (components[i] != NULL)
+ {
+ components[i]->publishReport();
+ }
+ }
+ }
// Call the respective card's mqtt callback
// Note that after the base topic, there should be the card id
// /base_topic/card_id/...
From 3e7d3041f2ac8fce10f5bb6f1cc4af6288c845e2 Mon Sep 17 00:00:00 2001
From: Siwat Sirichai
Date: Mon, 20 May 2024 00:53:09 +0700
Subject: [PATCH 03/22] mqtt summary request
---
.../lib/ESPMegaPRO/ESPMegaIoT.cpp | 36 +++++++++++++++++++
.../lib/ESPMegaPRO/ESPMegaIoT.hpp | 3 ++
2 files changed, 39 insertions(+)
diff --git a/ESPMegaPRO-OS-SDK/lib/ESPMegaPRO/ESPMegaIoT.cpp b/ESPMegaPRO-OS-SDK/lib/ESPMegaPRO/ESPMegaIoT.cpp
index 2b9c877..b11e46b 100644
--- a/ESPMegaPRO-OS-SDK/lib/ESPMegaPRO/ESPMegaIoT.cpp
+++ b/ESPMegaPRO-OS-SDK/lib/ESPMegaPRO/ESPMegaIoT.cpp
@@ -66,6 +66,10 @@ void ESPMegaIoT::mqttCallback(char *topic, byte *payload, unsigned int length)
}
}
}
+ // Check for global summary request
+ if (!strcmp(topic_without_base,"requestinfo")) {
+ this->publishSystemSummary();
+ }
// Call the respective card's mqtt callback
// Note that after the base topic, there should be the card id
// /base_topic/card_id/...
@@ -844,3 +848,35 @@ String ESPMegaIoT::getMac()
else
return this->getETHMac();
}
+
+/**
+ * @brief Publish a json object containing the system summary
+ */
+void ESPMegaIoT::publishSystemSummary() {
+ char payload[1024];
+ StaticJsonDocument<1024> doc;
+ JsonObject root = doc.to();
+ root["ip"] = this->getIp().toString();
+ root["mac"] = this->getMac();
+ root["mqtt_connected"] = this->mqttConnected();
+ root["network_connected"] = this->networkConnected();
+ root["mqtt_server"] = this->mqtt_config.mqtt_server;
+ root["mqtt_port"] = this->mqtt_config.mqtt_port;
+ root["hostname"] = this->network_config.hostname;
+ root["firmware"] = SW_VERSION;
+ root["idf_version"] = esp_get_idf_version();
+ root["sdk_version"] = SDK_VESRION;
+ root["board_model"] = BOARD_MODEL;
+ JsonArray cards = root.createNestedArray("cards");
+ for (int i = 0; i < 255; i++)
+ {
+ if (components[i] != NULL)
+ {
+ JsonObject card = cards.createNestedObject();
+ card["id"] = i;
+ card["type"] = components[i]->getType();
+ }
+ }
+ serializeJson(doc, payload);
+ this->publishRelative("info", payload);
+}
\ No newline at end of file
diff --git a/ESPMegaPRO-OS-SDK/lib/ESPMegaPRO/ESPMegaIoT.hpp b/ESPMegaPRO-OS-SDK/lib/ESPMegaPRO/ESPMegaIoT.hpp
index c5467b2..d47f723 100644
--- a/ESPMegaPRO-OS-SDK/lib/ESPMegaPRO/ESPMegaIoT.hpp
+++ b/ESPMegaPRO-OS-SDK/lib/ESPMegaPRO/ESPMegaIoT.hpp
@@ -16,6 +16,8 @@
#include
#include
#include
+
+ Uptime
+ Loading ...
+
Model
Loading ...
@@ -60,7 +64,7 @@
SIWAT SYSTEM 2023