mirror of
https://gitlab.com/wirelos/sprocket-plugin-mqtt.git
synced 2025-12-14 13:51:27 +01:00
48 lines
1.1 KiB
C++
48 lines
1.1 KiB
C++
#include "config.h"
|
|
#include "WiFiNet.h"
|
|
#include "Sprocket.h"
|
|
#include "MqttPlugin.h"
|
|
|
|
WiFiNet *network;
|
|
Sprocket *sprocket;
|
|
|
|
Task publishHeap;
|
|
|
|
void setup()
|
|
{
|
|
publishHeap.set(TASK_SECOND * 5, TASK_FOREVER, [](){
|
|
// publish locally to local/topic
|
|
// and remotely to wirelos/mqttSprocket-out/local/topic
|
|
sprocket->publish("local/topic", "heap=" + String(ESP.getFreeHeap()));
|
|
});
|
|
|
|
sprocket = new Sprocket(
|
|
{STARTUP_DELAY, SERIAL_BAUD_RATE});
|
|
|
|
// subscribe locally to local/topic
|
|
// and remotely to wirelos/mqttSprocket-in/local/topic
|
|
sprocket->subscribe("local/topic", [](String msg){
|
|
PRINT_MSG(Serial, "LOCAL", msg.c_str());
|
|
});
|
|
sprocket->addTask(publishHeap);
|
|
sprocket->addPlugin(
|
|
new MqttPlugin({"sprocket", "broker.lan", 1883, "wirelos/mqttSprocket-in/", "wirelos/mqttSprocket-out/"}));
|
|
|
|
network = new WiFiNet(
|
|
SPROCKET_MODE,
|
|
STATION_SSID,
|
|
STATION_PASSWORD,
|
|
AP_SSID,
|
|
AP_PASSWORD,
|
|
HOSTNAME,
|
|
CONNECT_TIMEOUT);
|
|
network->connect();
|
|
|
|
sprocket->activate();
|
|
}
|
|
|
|
void loop()
|
|
{
|
|
sprocket->loop();
|
|
yield();
|
|
} |