#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, [](){ sprocket->publish("local/topic", "heap=" + String(ESP.getFreeHeap())); }); sprocket = new Sprocket( {STARTUP_DELAY, SERIAL_BAUD_RATE}); sprocket->subscribe("local/topic", [](String msg){ PRINT_MSG(Serial, "LOCAL", msg.c_str()); }); sprocket->addTask(publishHeap); sprocket->addPlugin( new MqttPlugin({"sprocket", "192.168.1.2", 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(); }