Bricknetics Guide

Multi-Node Netzwerk

Vernetze mehrere smarte Bausteine zu einem Mesh-Netzwerk und orchestriere sie über den Flow-Editor.

Dauer90 minLevelExperteAutorBricknetics Team

Mesh-Architektur verstehen

In diesem fortgeschrittenen Kurs verbinden wir mehrere Bricknetics-Bausteine zu einem ESP-MESH Netzwerk. Ein Gateway-Node kommuniziert per BLE mit dem iPad, die anderen Nodes kommunizieren untereinander per ESP-NOW.

Netzwerk-Topologie

Das Mesh besteht aus drei Rollen:

So funktioniert’s: Die Domain-Schicht definiert ein HardwareBlock-Interface, das unabhängig vom konkreten Kommunikationsprotokoll arbeitet. Ob ein Node per BLE oder ESP-NOW angebunden ist, wird erst in der Infrastruktur-Schicht entschieden.

Gateway-Node konfigurieren

Der Gateway-Node ist das Herzstück des Netzwerks. Er empfängt den kompilierten JSON-Flow vom iPad und verteilt die Teilaufgaben an die passenden Nodes.

Firmware-Konfiguration

#include <esp_now.h>
#include <WiFi.h>
#include <BLEDevice.h>

// Gateway-spezifische Konfiguration
#define MAX_PEERS 6
#define GATEWAY_CHANNEL 1

struct NodeInfo {
  uint8_t mac[6];
  char role[16];
  bool active;
};

NodeInfo peers[MAX_PEERS];
int peerCount = 0;

Peer-Discovery

Der Gateway führt automatisch eine Discovery durch, um verfügbare Nodes im Netzwerk zu finden:

void onDataRecv(const uint8_t *mac, const uint8_t *data, int len) {
  // Registriere neuen Peer
  if (peerCount < MAX_PEERS) {
    memcpy(peers[peerCount].mac, mac, 6);
    peers[peerCount].active = true;
    peerCount++;
    Serial.printf("Neuer Node entdeckt: %d aktive Peers\n", peerCount);
  }
}

Flow-Orchestrierung

Im Flow-Editor können wir nun Logik erstellen, die sich über mehrere physische Bausteine erstreckt.

Multi-Node Flow

Erstelle einen Flow mit folgender Logik:

  1. Sensor Node A misst die Temperatur
  2. Gateway empfängt den Wert und prüft eine Schwelle
  3. Aktor Node B schaltet einen Ventilator ein, wenn > 28°C

JSON-Payload-Verteilung

Der kompilierte JSON-Flow wird vom Gateway in Teil-Payloads aufgeteilt und an die zuständigen Nodes gesendet:

{
  "nodes": [
    { "id": "sensor-a", "target": "AA:BB:CC:DD:EE:01", "action": "read_temp" },
    { "id": "gateway", "action": "threshold", "value": 28 },
    { "id": "aktor-b", "target": "AA:BB:CC:DD:EE:02", "action": "fan_on" }
  ],
  "edges": [
    { "from": "sensor-a", "to": "gateway" },
    { "from": "gateway", "to": "aktor-b" }
  ]
}

Monitoring & Debugging

Nutze das Dashboard im Flow-Editor, um den Status aller Nodes in Echtzeit zu überwachen.

Node-Status-Anzeige

Jeder Node sendet periodisch seinen Status (Batterie, Signalstärke, letzte Nachricht) an den Gateway. Der Flow-Editor stellt dies als Node-Health-Map dar.

Tipp: Platziere die Bausteine nicht weiter als 10 Meter voneinander entfernt. ESP-NOW hat eine theoretische Reichweite von 200m, aber in Innenräumen mit Wänden reduziert sich diese erheblich.

← Alle Kurse