Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry Pi | Raspberry Pi Pico

Menu
  • Smarthome
  • Gartenautomation
  • Mikrocontroller
    • Arduino
    • ESP32 & Co.
    • Calliope Mini
    • Raspberry Pi & Pico
  • Solo Mining
  • Deutsch
  • English
Menu

JSON vs. Token: Was ist besser für IoT?

Veröffentlicht am 19. November 202519. November 2025 von Stefan Draeger

Wenn wir im Internet über Smart-Home oder IoT sprechen, denken viele zuerst an WLAN, Sensoren, ESP32-Boards oder an schicke Apps. Was jedoch fast niemand bedenkt: Wie die Daten übertragen werden, entscheidet am Ende darüber, wie stabil, sparsam und zuverlässig ein Projekt wirklich läuft.

JSON vs. Token: Was ist besser für IoT?
JSON vs. Token: Was ist besser für IoT?

Und genau hier liegt eine der größten Überraschungen für Einsteiger:

👉 Je kleiner das Datenpaket, desto länger hält die Batterie
und desto stabiler läuft dein Mikrocontroller.

Das klingt banal – doch es ist einer der wichtigsten Grundsätze in der IoT-Welt. Besonders bei kleinen Mikrocontrollern wie dem Arduino UNO, ESP8266 oder sogar energieoptimierten ESP32-C3 Modellen zählt jedes Byte. Größere Datenstrukturen bedeuten:

  • mehr Rechenzeit
  • mehr Energieverbrauch
  • höheres Risiko für Abstürze
  • längere Übertragungszeiten (z. B. bei ESP-NOW, LoRa, BLE)

Viele Maker verwenden ganz selbstverständlich JSON, weil es überall bekannt ist – vom Web über REST-APIs bis hin zu MQTT-Brokern. JSON ist lesbar, flexibel und beliebt – aber:
Für kleine Mikrocontroller ist JSON oft viel zu schwer.

JSON erzeugt unnötig große Datenpakete, beansprucht wertvollen RAM und führt bei Ultraspar- oder Batteriegeräten schnell zu Problemen. In meinem Fall zeigten viele Tests auf Arduino- und ESP32-Geräten:
JSON ist bequem – aber ineffizient.

Inhaltsverzeichnis

  • TOON – Token-Oriented Object Notation
    • JSON vs. TOON – ein konkretes Beispiel
      • 1. Werte für TOON komprimieren
      • 2. Tokens für die Werte definieren
      • 3. TOON-Frame aufbauen
      • 4. Finaler TOON-Frame
      • JSON vs. TOON im Klartext
  • ESP-NOW: JSON vs. TOON im Geschwindigkeitstest
  • Quellcode für die Mikrocontroller
    • Aufbau der Schaltung
  • Fazit
  • Ausblick: TOON im echten Einsatz – Daten auf einem ePaper-Display

TOON – Token-Oriented Object Notation

Ein extrem leichtgewichtiges Datenformat, das komplett ohne Strings oder Klammern auskommt. Stattdessen werden Informationen als kompakte Token übertragen – perfekt für IoT, Sensoren und energiearme Systeme.

TOON erzeugt ultrakleine Datenpakete, die:

  • weniger Speicher brauchen
  • schneller übertragen werden
  • stabiler laufen
  • ideale Batterielaufzeiten ermöglichen

In diesem Beitrag zeige ich dir, wie extrem groß der Unterschied zwischen JSON und TOON ist – und warum ein simples 10-Byte-Tokenformat deine IoT-Projekte spürbar verbessert.

JSON vs. TOON – ein konkretes Beispiel

Damit wir besser verstehen, wie TOON funktioniert, schauen wir uns ein einfaches JSON-Beispiel an, das viele aus dem IoT-Umfeld kennen:

{"temp":24.4, "humidity":45}

Dieses JSON enthält zwei Werte:

  • Temperatur: 24.4 °C
  • Relative Luftfeuchtigkeit: 45 %

JSON ist leicht lesbar – aber es ist groß, benötigt Strings, benötigt Parser und erzeugt unerwartet viel Overhead.
TOON geht einen ganz anderen Weg: Token statt Text, und Integer statt Float.

1. Werte für TOON komprimieren

Um ein ultrakompaktes, maschinenfreundliches Format zu erhalten, werden die Messwerte in einfache Integer umgerechnet:

24.4 °C → 244  (INT16, 0.1°C Schritte)
45 %    → 450  (UINT16, 0.1% Schritte)

Damit bleiben sie präzise, aber deutlich leichter zu übertragen und zu verarbeiten.

2. Tokens für die Werte definieren

Jeder Wert bekommt einen Token, also ein einzelnes Byte, das aussagt, welcher Datentyp folgt:

TokenBedeutung
0x01Temperatur (0.1 °C)
0x02Luftfeuchtigkeit (0.1 % rF)

Zusätzlich erhält der gesamte Datenblock einen Frame-Typ:

ByteBedeutung
0x10Frame-Typ „Environmental Data“

3. TOON-Frame aufbauen

Ein TOON-Frame hat eine kompakte feste Struktur:

ByteBedeutung
0STX (Start, hier 0xAA)
1Länge des Inhalts
2Frame-Typ (0x10)
3Token Temperatur
4–5Temperaturwert (INT16, Big Endian)
6Token Luftfeuchte
7–8Feuchtewert (UINT16)
9XOR-Checksumme

4. Finaler TOON-Frame

Wir setzen alles zusammen:

  • Temperatur 244 → 00 F4
  • Luftfeuchte 450 → 01 C2
  • Checksumme berechnet sich über alle Bytes 0–8 → 0x89

TOON-Frame:

AA 07 10 01 00 F4 02 01 C2 89

JSON vs. TOON im Klartext

FormatLängeBeispiel
JSON~30 Bytes{"temp":24.4,"humidity":45}
TOON10 BytesAA 07 10 01 00 F4 02 01 C2 89
  • TOON ist über 3× kleiner
  • Keine Strings, keine Parser, kein Overhead
  • Perfekt für IoT, Batteriegeräte und kleine Mikrocontroller

ESP-NOW: JSON vs. TOON im Geschwindigkeitstest

Nachdem wir uns angesehen haben, wie unterschiedlich JSON und TOON aufgebaut sind, wird es Zeit für einen praktischen Vergleich.
Dazu habe ich zwei ESP32 miteinander kommunizieren lassen und die Daten eines DHT11-Sensors übertragen:

  • einmal als JSON
  • einmal als TOON-Tokenformat

Ziel war es herauszufinden:

  • Wie groß sind die Datenpakete?
  • Wie lange dauert das Erstellen des Pakets?
  • Wie lange dauert der Sendebefehl über ESP-NOW?

Um faire Werte zu erhalten, wurde jede Variante mehrfach gemessen und anschließend gemittelt.

Vergleich - bauen und senden von JSON und TOON
Vergleich – bauen und senden von JSON und TOON

Der Output auf im seriellen Monitor der Arduino IDE sieht nach der Messung wiefolgt aus:

Neue Messreihe:
  Temperatur: 20.0 °C, Luftfeuchte: 49.0 % rF
--------------------------------------------------
Encoder: JSON
  Iterationen: 10
  Payload-Größe: 29 Bytes
  Build-Zeit (Ø): 225 µs
  Send-Zeit (Ø): 268 µs
--------------------------------------------------
Encoder: TOON
  Iterationen: 10
  Payload-Größe: 10 Bytes
  Build-Zeit (Ø): 6 µs
  Send-Zeit (Ø): 109 µs

Quellcode für die Mikrocontroller

Auf dem GitHub Repository https://github.com/StefanDraeger/esp_toon_sample findest du den Code für den Empfänger / Sender und für das Benchmark.

Aufbau der Schaltung

Für die Schaltung verwende ich einen ESP32-C3 Super Mini* als Sender und einen ESP32-S3 Zero* von Waveshare. Zusätzlich noch einen DHT11 Sensor* und eine blaue 5mm LED* mit 220 Ohm Vorwiderstand*.

Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!

Testaufbau für Vergleich JSON und TOON
Testaufbau für Vergleich JSON und TOON

Fazit

Der direkte Vergleich zeigt sehr deutlich:
JSON ist komfortabel – aber für IoT nicht effizient genug.

Gerade bei kleinen Mikrocontrollern, batteriebetriebenen Sensoren und schnellen Funktechnologien wie ESP-NOW zählt jedes einzelne Byte. Und genau hier spielt TOON seine größten Stärken aus. Das Token-Format erzeugt ultrakleine Datenpakete, benötigt kaum Rechenzeit und reduziert die gesamte Airtime spürbar.

Im praktischen Test war TOON:

  • 3× kleiner als JSON
  • über 37× schneller beim Erzeugen des Datenpakets
  • 2,5× schneller beim Verschicken über ESP-NOW

Diese Werte machen in realen Projekten einen messbaren Unterschied.
Weniger CPU-Zeit bedeutet weniger Energieverbrauch.
Kleinere Pakete bedeuten stabilere Übertragung.
Und ein einfaches Binärformat macht den Mikrocontroller insgesamt robuster.

Mein Fazit:
Wer Sensorwerte effizient, stabil und energiesparend übertragen möchte, kommt an TOON nicht vorbei. JSON bleibt sinnvoll für APIs, Serverkommunikation oder Debugging – aber im Low-Power-IoT-Bereich ist TOON klar die bessere Wahl.

Mit nur 10 Byte pro Nachricht zeigt dieses Mini-Format eindrucksvoll, wie viel Potenzial in optimierten Datenstrukturen steckt – und wie stark davon gerade kleine Mikrocontroller profitieren.

Ausblick: TOON im echten Einsatz – Daten auf einem ePaper-Display

In diesem Beitrag haben wir uns vor allem auf die Theorie und die Benchmarks konzentriert. Doch TOON zeigt sein wahres Potenzial erst dann, wenn man es in einem realen IoT-Projekt einsetzt. Genau das steht als Nächstes auf meiner Liste.

Ich plane ein kleines, aber spannendes Folgeprojekt, bei dem:

  • zwei ESP32 miteinander kommunizieren
  • Sensorwerte im TOON-Format übertragen werden
  • die empfangenen Daten anschließend auf einem ePaper-Display visualisiert werden

Warum ePaper?
Weil es – genau wie TOON – extrem energieeffizient ist und sich perfekt für batteriebetriebene Anwendungen eignet. Ein Display, das nur beim Aktualisieren Strom verbraucht, passt ideal zu einem Datenformat, das Mikrocontroller und Funkverbindungen maximal entlastet.

Wetterdashboard auf dem reTerminal E1001 von seeed studio
Wetterdashboard auf dem reTerminal E1001 von seeed studio

Das Ziel des Projekts wird sein:

  • ultrakleine TOON-Frames senden
  • echte Sensordaten live darstellen
  • Akkulaufzeit optimieren
  • eine Grundlage schaffen, um später komplette TOON-basierte Sensor-Netzwerke aufzubauen

Im nächsten Beitrag zeige ich dir den Aufbau, den Schaltplan, den vollständigen Code für Sender und Empfänger – und natürlich das fertige Ergebnis auf dem ePaper-Display.

Bleib dran – es wird richtig spannend!

Letzte Aktualisierung am: 19. November 2025

Foto von Stefan Draeger
Über den Autor

Stefan Draeger — Entwickler & Tech-Blogger

Ich zeige praxisnah, wie du Projekte mit Arduino, ESP32 und Smarthome-Komponenten umsetzt – Schritt für Schritt, mit Code und Schaltplänen.

Mehr Artikel von Stefan →

Schreibe einen Kommentar Antwort abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Fragen oder Feedback?

Du hast eine Idee, brauchst Hilfe oder möchtest Feedback loswerden?
Support-Ticket erstellen

Newsletter abonnieren

Bleib auf dem Laufenden: Erhalte regelmäßig Updates zu neuen Projekten, Tutorials und Tipps rund um Arduino, ESP32 und mehr – direkt in dein Postfach.

Jetzt Newsletter abonnieren

Unterstütze meinen Blog

Wenn dir meine Inhalte gefallen, freue ich mich über deine Unterstützung auf Tipeee.
So hilfst du mit, den Blog am Leben zu halten und neue Beiträge zu ermöglichen.

draeger-it.blog auf Tipeee unterstützen

Vielen Dank für deinen Support!
– Stefan Draeger

Kategorien

Tools

  • Unix-Zeitstempel-Rechner
  • ASCII Tabelle
  • Spannung, Strom, Widerstand und Leistung berechnen
  • Widerstandsrechner
  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator

Links

Blogverzeichnis Bloggerei.de TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com

Stefan Draeger
Königsberger Str. 13
38364 Schöningen
Tel.: 015565432686
E-Mail: info@draeger-it.blog

Folge mir auf

link zu Fabook
link zu LinkedIn
link zu YouTube
link zu TikTok
link zu Pinterest
link zu Instagram
  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Cookie-Richtlinie (EU)
©2025 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb
Cookie-Zustimmung verwalten
Wir verwenden Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wir tun dies, um das Surferlebnis zu verbessern und um personalisierte Werbung anzuzeigen. Wenn Sie diesen Technologien zustimmen, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn Sie Ihre Zustimmung nicht erteilen oder zurückziehen, können bestimmte Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
  • Optionen verwalten
  • Dienste verwalten
  • Verwalten von {vendor_count}-Lieferanten
  • Lese mehr über diese Zwecke
Einstellungen anzeigen
  • {title}
  • {title}
  • {title}