#include #include #include "Globals.h" #include "NodeContext.h" #include "NetworkManager.h" #include "ClusterManager.h" #include "ApiServer.h" #include "TaskManager.h" // Services #include "services/NodeService.h" #include "services/NetworkService.h" #include "services/ClusterService.h" #include "services/TaskService.h" using namespace std; NodeContext ctx({ {"app", "base"}, {"role", "demo"} }); NetworkManager network(ctx); TaskManager taskManager(ctx); ClusterManager cluster(ctx, taskManager); ApiServer apiServer(ctx, taskManager, ctx.config.api_server_port); // Create services NodeService nodeService(ctx, apiServer); NetworkService networkService(network); ClusterService clusterService(ctx); TaskService taskService(taskManager); void setup() { Serial.begin(115200); // Setup WiFi first network.setupWiFi(); // Initialize and start all tasks taskManager.initialize(); // Register services and start API server apiServer.addService(nodeService); apiServer.addService(networkService); apiServer.addService(clusterService); apiServer.addService(taskService); apiServer.begin(); // Print initial task status taskManager.printTaskStatus(); } void loop() { taskManager.execute(); yield(); }