Auto Discovery
-
UDP-based node discovery with automatic cluster membership on port 4210
+
UDP-based node discovery with automatic cluster membership
Health Monitoring
@@ -86,17 +86,17 @@ class HelloService : public Service {
public:
HelloService() {}
- const char* getName() const override { return "hello"; }
+ const char* getName() const override { return "HelloService"; }
void registerEndpoints(ApiServer& api) override {
- api.addEndpoint("/api/hello", HTTP_GET, [](AsyncWebServerRequest* req) {
+ api.registerEndpoint("/api/hello", HTTP_GET, [](AsyncWebServerRequest* req) {
req->send(200, "application/json", "{\"message\":\"hello\"}");
});
}
void registerTasks(TaskManager& taskManager) override {
taskManager.registerTask("heartbeat", 1000, [this]() { this->heartbeat(); });
- }
+ }
private:
void heartbeat() {
@@ -111,7 +111,7 @@ Spore spore({
void setup() {
spore.setup();
- spore.addService(new HelloService());
+ spore.registerService(new HelloService());
spore.begin();
}
@@ -124,8 +124,8 @@ void loop() {
Technical Specifications
- Supported Hardware: ESP-01/ESP-01S (1MB Flash), Wemos D1 (4MB Flash)
- - Discovery Protocol: UDP broadcast on port 4210
- - API Interface: RESTful HTTP + WebSocket streaming
+ - Discovery Protocol: Discovery and heartbeat via UDP broadcast
+ - API Interface: RESTful HTTP + WebSocket and UDP streaming
- Dependencies: ESPAsyncWebServer, ArduinoJson
- Framework: Arduino with PlatformIO build system
@@ -178,7 +178,7 @@ void loop() {
Frontend: Vanilla JavaScript, CSS3, HTML5
Architecture: Custom component-based framework
-