Ihr eigener „smarter“ Werkzeugschrank – ohne Lagerlift: Bei jeder Ausgabe leuchtet die LED an der Schublade des Werkzeugs und ein elektrisches Schloss gibt das Fach frei, bei der Rückgabe zeigt die LED, wohin das Werkzeug gehört. Dafür sitzt eine kleine Steuerung (ESP32, Bauteile für etwa 40–120 € je Schrank) im Schrank. Tulz und der Schrank verständigen sich über einen MQTT-Broker – einen kleinen Nachrichtendienst im Internet.

In 8 Schritten zum leuchtenden Schrank
- Lagerplätze für Schrank und Schubladen anlegen
- MQTT-Broker wählen – beim Tulz-Broker ist nichts einzurichten
- Broker in Tulz eintragen
- Schrank anlegen
- Fächer den Schubladen zuordnen
- Bauteile besorgen und verdrahten
- Firmware herunterladen und auf den ESP32 laden
- Verbindung testen
Der Teil in Tulz dauert etwa 10 Minuten, die Firmware beim ersten Mal etwa 30 Minuten (ein eigener Broker noch einmal so viel), die Verdrahtung je nach Schrank ein bis zwei Stunden.
Schritt 1: Lagerplätze für Schrank und Schubladen
Unter Verwaltung → Lagerplätze den Schrank als Lagerplatz anlegen (z. B. „Schrank 1 Halle 2“) und darunter je Schublade einen Unterplatz („Schublade 1“ bis „Schublade 8“). Jedes Werkzeug bekommt als Lagerplatz seine Schublade – oder einen Platz darunter wie „Schublade 3 › links“, der zählt automatisch mit. Wer seine Lagerplätze schon so eingerichtet hat, ist hier fertig.
Schritt 2: Broker wählen
Mit dem Tulz-Broker ist hier nichts zu tun. Tulz stellt den Broker bereit: Beim Speichern der Schrank-Steuerung legt Tulz einen Zugang für Ihren Betrieb an, beim Anlegen jedes Schranks einen eigenen Zugang für den Schrank – sein Passwort steht später schon in der heruntergeladenen Firmware. Jeder Betrieb und jeder Schrank sieht nur seine eigenen Nachrichten. Weiter mit Schritt 3.
Eigener Broker – nur, wenn Sie bewusst einen eigenen betreiben wollen (oder das Auswahlfeld Broker unter Einstellungen → Schrank-Steuerung bei Ihnen fehlt): Tulz läuft im Internet, der Schrank in Ihrer Werkstatt – beide verbinden sich von sich aus mit dem Broker. Deshalb muss der Broker aus dem Internet erreichbar sein (keine Adresse im internen Netz wie 192.168.…), im Werkstatt-Router ist dagegen nichts freizugeben. Es passt jeder MQTT-Broker mit TLS auf Port 8883 und einem Benutzer, der auf das Themen-Präfix tulz/<Betriebsnummer> lesen und schreiben darf – zum Beispiel ein Cloud-Dienst wie EMQX Cloud (Tarif Serverless mit kostenlosem Kontingent; Spend Limit auf 0 lassen) oder ein eigener Mosquitto auf einem Server (listener 8883, Let's-Encrypt-Zertifikat als certfile/keyfile, allow_anonymous false, password_file; Port 8883 in der Firewall öffnen). Für Schritt 3 brauchen Sie dann Adresse, Port, Benutzername und Passwort des Brokers.
Schritt 3: Broker in Tulz eintragen
Mit dem Tulz-Broker:
- Einstellungen öffnen und im Abschnitt Schnittstellen & Geräte auf Schrank-Steuerung klicken.
- Häkchen Schrank-Steuerung einschalten setzen, bei Broker „Tulz-Broker“ wählen und Fach freigeben (Sekunden) einstellen (0 = kein Schloss, nur Licht).
- Speichern – Tulz legt den Zugang an und zeigt ihn mit Adresse und Themen-Präfix an. Fertig, weiter mit Schritt 4.

Mit eigenem Broker:
- Einstellungen öffnen und im Abschnitt Schnittstellen & Geräte auf Schrank-Steuerung klicken.
- Häkchen Schrank-Steuerung einschalten setzen (gibt es das Feld Broker, dort „Eigener Broker“ wählen) und eintragen: Broker-Adresse (nur der Name, ohne
mqtt://und ohne Port), Port 8883, Verschlüsselung „TLS (empfohlen)“, Benutzername und Passwort vom Broker. - Themen-Präfix leer lassen – dann gilt
tulz/<Betriebsnummer>. Fach freigeben (Sekunden): so lange bleibt ein Schloss nach der Ausgabe offen; 0 = kein Schloss, nur Licht. - Speichern. Tulz fragt einmal nach Ihrem eigenen Passwort, weil hier Zugangsdaten gespeichert werden. Das Broker-Passwort liegt danach verschlüsselt in Tulz; das Feld bleibt leer („gespeichert, leer lassen = behalten“).



Schritt 4: Schrank anlegen
Rechts unter Schrank anlegen:
- Name – frei wählbar, z. B. „Schrank 1 Halle 2“
- Geräte-Kennung – z. B.
schrank-1(Kleinbuchstaben, Ziffern, - und _). Sie steht später in der Firmware; nach dem Aufspielen nicht mehr ändern, sonst findet Tulz den Schrank nicht. - Lagerplatz des Schranks – der Platz aus Schritt 1
- Fächer – Zahl der Schubladen bzw. LEDs (bis 64; Schlösser und Kontakte bis 8 je ESP32)
Mit Anlegen öffnet sich die Seite des Schranks. Beim Tulz-Broker bekommt der Schrank dabei automatisch seinen eigenen Zugang.

Schritt 5: Fächer den Schubladen zuordnen
Auf der Schrankseite für jedes Fach die passende Schublade wählen und Fächer speichern. Fach 1 ist die erste LED an der Leiste, Fach 2 die zweite und so weiter. Werkzeuge in der Schublade oder in einem Platz darunter lösen das Fach aus – an den Werkzeugen selbst ändern Sie nichts. Die Beschriftung ist optional (sonst gilt der Name der Schublade).

Schritt 6: Bauteile und Verdrahtung


- Strom: 5-V-Netzteil an den ESP32 (5V bzw. VIN und GND) und an die LED-Leiste (+5V, GND). Den Kondensator 1000 µF direkt an der Leiste zwischen +5V und GND setzen (Minus-Seite an GND).
- LEDs: GPIO 13 über den Widerstand 330 Ω an DIN der Leiste. Pfeilrichtung auf der Leiste beachten. Die erste LED gehört zu Fach 1 – die Leiste in Fachreihenfolge verlegen.
- Schubladenkontakte (optional): je Schublade einen Reed-Kontakt zwischen den Pin aus der Tabelle und GND, den Magneten an die Schublade – bei geschlossener Schublade ist der Kontakt geschlossen.
- Schlösser (optional): je Schloss ein MOSFET-Modul: SIG an den Pin aus der Tabelle, GND an GND, V+ an +12 V. Das Schloss kommt zwischen +12 V und OUT, dazu eine Freilaufdiode 1N4007 parallel zum Schloss (Ring an +12 V). Fail-Secure-Schlösser wählen: stromlos bleiben sie zu.
- Masse: alle GND verbinden – 5-V-Netzteil, 12-V-Netzteil und ESP32.
Nicht verwenden: GPIO 0, 2 und 12 (Start-Pins), 6–11 (Speicher); 34–39 sind reine Eingänge ohne Pull-up. Der ESP32 kennt nur 2,4-GHz-WLAN.
Schritt 7: Firmware aufspielen
- Auf der Schrankseite Firmware und Anleitung herunterladen (ZIP) klicken. Das ZIP enthält das Programm
tulz-schrank.ino, die AnleitungLIESMICH.txtund die PinbelegungVerdrahtung.txt. - Die Arduino-Software (Arduino IDE 2) von arduino.cc installieren. Unter Datei → Einstellungen → Zusätzliche Boardverwalter-URLs eintragen:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json, dann unter Werkzeuge → Board → Boardverwalter „esp32“ (Espressif Systems) installieren. - Unter Werkzeuge → Bibliotheken verwalten installieren: PubSubClient (Nick O'Leary), ArduinoJson (Benoît Blanchon, Version 7) und Adafruit NeoPixel.
tulz-schrank.inoöffnen. Die orange markierten Zeilen hat Tulz schon ausgefüllt – nicht ändern. Die grünen tragen Sie selbst ein: WLAN-Name, WLAN-Passwort und das Passwort des Brokers – beim Tulz-Broker steht das Passwort schon drin, dann nur das WLAN.- ESP32 per USB anschließen, unter Werkzeuge → Board „ESP32 Dev Module“ und den Port wählen, auf Hochladen (Pfeil) klicken. Bleibt das Hochladen bei „Connecting…“ stehen, die Taste BOOT am ESP32 kurz gedrückt halten.
- Werkzeuge → Serieller Monitor öffnen (115200 Baud): Dort erscheint „MQTT verbunden“. Beim Start läuft ein kurzes Lauflicht über alle Fächer.


Ohne eingetragenes Stammzertifikat (MQTT_CA_CERT) verbindet sich der Schrank verschlüsselt, prüft aber das Zertifikat des Brokers nicht. Für volle Sicherheit das Stammzertifikat einfügen – bei Let's-Encrypt-Zertifikaten „ISRG Root X1“ (letsencrypt.org/certificates), bei EMQX Cloud das CA-Zertifikat aus den Verbindungsinformationen.
Beim Tulz-Broker enthält die Firmware das Passwort des Schranks. Deshalb fragt Tulz vor dem Download einmal nach Ihrem eigenen Passwort – die Datei nicht weitergeben. Ging ein Schrank verloren oder ist die Datei in falsche Hände geraten: auf der Schrankseite unter Status auf Neues Passwort erzeugen klicken, die Firmware neu herunterladen und aufspielen. Das alte Passwort gilt sofort nicht mehr.
Schritt 8: Verbindung testen
Zurück in Tulz: Einstellungen → Schrank-Steuerung → Verbindung testen und Testlicht senden. Tulz verbindet sich mit dem Broker, alle Fächer leuchten nacheinander, und jeder Schrank meldet sich zurück. Auf der Schrankseite steht unter Status, wann er sich zuletzt gemeldet hat, mit Firmware, WLAN-Stärke und IP-Adresse; die Tabelle zeigt je Fach, ob die Schublade offen oder zu ist. Mit Zeigen leuchtet ein einzelnes Fach 15 Sekunden – so prüfen Sie, ob jede LED an der richtigen Schublade sitzt.


Im Alltag
- Ausgabe – egal ob im Ausgabeformular, per Begleitschein, am Kiosk oder am Handy: Das Fach leuchtet blau und ist für die eingestellte Zeit freigegeben. Die Meldung in Tulz nennt Schrank und Fach.
- Rückgabe – auch per Scan oder am Kiosk: Das Fach leuchtet grün – dort zurücklegen. Zusätzlich steht „Zurücklegen nach“ da.
- Werkzeugseite → Im Schrank zeigen – das Fach leuchtet 15 Sekunden gelb. Der Knopf erscheint nur bei Werkzeugen, deren Lagerplatz einem Fach zugeordnet ist.
- Schubladen offen – mit Kontakten zeigt die Schrankseite, welche Schubladen gerade offen stehen.



Die Befehle gehen nach der Buchung im Hintergrund hinaus – die Ausgabe wartet nie auf den Schrank. Ist der Broker nicht erreichbar, bleibt die Buchung trotzdem gültig; der Fehler steht in der Schrankliste und oben unter Letzter Fehler. Mehrere Schränke je Standort sind möglich, jeder mit eigener Geräte-Kennung.
Wenn etwas nicht klappt
| Meldung oder Beobachtung | Was tun |
|---|---|
| „Broker-Adresse nicht auflösbar“ | Adresse prüfen – nur der Name, z. B. mqtt.autohaus-muster.de, ohne mqtt:// und Port. |
| „Keine Verbindung zum Broker …“ | Port und Verschlüsselung passen zusammen? (8883 mit TLS, 1883 ohne). Ist Port 8883 am Broker offen – und am Webserver ausgehend erlaubt? |
| „Benutzername oder Passwort falsch“ / „Nicht autorisiert …“ | Zugang am Broker prüfen; der Benutzer braucht Rechte auf das Themen-Präfix. |
| „Ziele im internen Netz sind nicht erlaubt“ | Der Broker muss aus dem Internet erreichbar sein (öffentliche Adresse). |
| „noch keine Zustandsmeldung eines Schranks“ | Seriellen Monitor ansehen: „MQTT-Fehler -2“ = keine Verbindung (WLAN, Adresse, Port), „MQTT-Fehler 4“ oder „5“ = Benutzer oder Passwort. Geräte-Kennung und Themen-Präfix in Firmware und Tulz gleich? Nach einer Änderung des Präfixes die Firmware neu herunterladen. |
| Kein WLAN | Nur 2,4 GHz; WLAN-Name und Passwort genau so wie im Router. |
| Falsche Schublade leuchtet | Mit Zeigen jedes Fach durchgehen; LED-Reihenfolge oder Fach-Zuordnung anpassen. Mehrere LEDs je Schublade: LEDS_PER_SLOT in der Firmware. |
| Bei der Ausgabe leuchtet nichts | Hat das Werkzeug einen Lagerplatz in einer zugeordneten Schublade? Ist der Schrank aktiv und die Schrank-Steuerung eingeschaltet? |
| „Zugang am Tulz-Broker konnte nicht angelegt werden“ | Der Broker ist gerade nicht erreichbar – später noch einmal speichern. Bleibt die Meldung, den Support ansprechen. |
| Nach neuer Geräte-Kennung meldet sich der Schrank nicht | Beim Tulz-Broker gehört der Zugang zur Geräte-Kennung: Firmware neu herunterladen und aufspielen. |
| Schloss öffnet nicht | 12-V-Netzteil, gemeinsame Masse, MOSFET-Modul prüfen; Fach freigeben (Sekunden) nicht 0. |
Sicherheit
Der Schrank nimmt nur Befehle auf seinem eigenen Thema an; der Broker verlangt Benutzername, Passwort und TLS. Ein Schloss öffnet höchstens 300 Sekunden und fällt stromlos zu (Fail-Secure) – mit dem Schlüssel geht der Schrank immer auf. Wer etwas entnommen hat, steht wie gewohnt in Tulz, nicht am Schrank: Die Ausgabe bucht der Mitarbeiter am Kiosk oder am eigenen Gerät. Beim Tulz-Broker hat jeder Schrank einen eigenen Zugang, der nur seine eigenen Themen lesen und schreiben darf; kein Betrieb sieht die Nachrichten eines anderen. Im Demo-Betrieb ist die Schrank-Steuerung gesperrt.