Compare commits

..

No commits in common. "64d6c4fab3e2e8fefded0898ecc07421dcf64dd7" and "6b67591cc18f51e7de03c2bec8ec2a80e9123359" have entirely different histories.

5 changed files with 5 additions and 85 deletions

1
.gitignore vendored
View File

@ -1,3 +1,2 @@
.DS_Store
/ESPMegaPRO-OS-SDK

View File

@ -1,3 +1,3 @@
#pragma once
#define SDK_VESRION "2.8.0"
#define SDK_VESRION "2.7.0"

View File

@ -56,22 +56,6 @@ 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();
}
}
return;
}
// Check for global summary request
if (!strcmp(topic_without_base,"requestinfo")) {
this->publishSystemSummary();
return;
}
// Call the respective card's mqtt callback
// Note that after the base topic, there should be the card id
// /base_topic/card_id/...
@ -395,18 +379,6 @@ void ESPMegaIoT::publish(const char *topic, const char *payload)
mqtt.publish(topic, payload);
}
/**
* @brief Publish a message to a topic
*
* @param topic The topic to publish to
* @param payload The payload to publish
* @param length The length of the payload
*/
void ESPMegaIoT::publish(const char *topic, const char *payload, unsigned int length)
{
mqtt.publish(topic, (const uint8_t *)payload, length);
}
/**
* @brief Register a callback for MQTT messages
*
@ -430,7 +402,7 @@ void ESPMegaIoT::unregisterMqttCallback(uint16_t handler)
}
/**
* @brief Subscribe to all components's topics and all other topics
* @brief Subscribe to all components's topics
*/
void ESPMegaIoT::mqttSubscribe()
{
@ -450,9 +422,6 @@ void ESPMegaIoT::mqttSubscribe()
mqtt.loop();
}
}
// Global topics
this->subscribeRelative("requeststate");
this->subscribeRelative("requestinfo");
}
/**
@ -548,21 +517,6 @@ void ESPMegaIoT::publishRelative(const char *topic, const char *payload)
mqtt.loop();
}
/**
* @brief Publish a message relative to the base topic
*
* @param topic The topic to publish to
* @param payload The payload to publish
* @param length The length of the payload
*/
void ESPMegaIoT::publishRelative(const char *topic, const char *payload, unsigned int length)
{
char absolute_topic[100];
sprintf(absolute_topic, "%s/%s", this->mqtt_config.base_topic, topic);
mqtt.publish(absolute_topic, (const uint8_t *)payload, length);
mqtt.loop();
}
/**
* @brief Subscribe to a topic relative to the base topic
*
@ -880,30 +834,3 @@ 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<JsonObject>();
root["ip"] = this->getIp().toString();
root["firmware"] = SW_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);
ESP_LOGD("ESPMegaIoT", "Publishing system summary: %s", payload);
mqtt.loop();
this->publishRelative("info", payload, strlen(payload));
}

View File

@ -16,8 +16,6 @@
#include <WiFi.h>
#include <FRAM.h>
#include <map>
#include <ArduinoJson.h>
#include <ESPMegaCommon.hpp>
// MQTT Connection Parameters
#define TCP_TIMEOUT_SEC 5
@ -83,7 +81,6 @@ public:
void publishCard(uint8_t card_id);
// Publish topic appended with base topic
void publishRelative(const char *topic, const char *payload);
void publishRelative(const char *topic, const char *payload, unsigned int length);
// Subscribe topic appended with base topic
void subscribeRelative(const char *topic);
void subscribe(const char *topic);
@ -108,7 +105,6 @@ public:
bool mqttConnected();
void disconnectFromMqtt();
void publish(const char *topic, const char *payload);
void publish(const char *topic, const char *payload, unsigned int length);
uint16_t registerMqttCallback(std::function<void(char *, char *)> callback);
void unregisterMqttCallback(uint16_t handler);
uint16_t registerRelativeMqttCallback(std::function<void(char *, char *)> callback);
@ -119,7 +115,6 @@ public:
void bindEthernetInterface(ETHClass *ethernetIface);
bool networkConnected();
void bindFRAM(FRAM *fram);
void publishSystemSummary();
IoTComponent* getComponent(uint8_t card_id);
IPAddress getETHIp();

View File

@ -15,13 +15,13 @@
// #define FRAM_DEBUG
// #define MQTT_DEBUG
#define WRITE_DEFAULT_NETCONF
#define CLIMATE_CARD_ENABLE
//#define CLIMATE_CARD_ENABLE
#define MQTT_CARD_REGISTER
#define DISPLAY_ENABLE
#define WEB_SERVER_ENABLE
#define LCD_OTA_ENABLE
// #define REMOTE_VARIABLE_ENABLE
// #define CT_ENABLE
//#define REMOTE_VARIABLE_ENABLE
//#define CT_ENABLE
#define SMART_VARIABLE_ENABLE
// Demo PLC firmware using the ESPMegaPRO OOP library
@ -236,7 +236,6 @@ void setup()
ct.bindFRAM(&espmega.fram, 7000);
ct.loadEnergy();
ct.setEnergyAutoSave(true);
espmega.iot->registerCard(3);
#endif
#ifdef SMART_VARIABLE_ENABLE
ESP_LOGI("Initializer", "Initializing smart variable");