JSON – Das universelle Datenformat für den Datenaustausch

In der heutigen digitalen Welt, in der Webanwendungen, APIs, Cloud-Plattformen und mobile Applikationen nahtlos miteinander kommunizieren, spielt der strukturierte Datenaustausch eine zentrale Rolle. Eines der am weitesten verbreiteten Formate für diesen Zweck ist JSON (JavaScript Object Notation). Dieses leichtgewichtige Datenformat hat sich als Standard für die Übertragung strukturierter Informationen zwischen Systemen etabliert.

Was ist JSON?

JSON (JavaScript Object Notation) ist ein textbasiertes Format zur Darstellung strukturierter Daten, das ursprünglich aus der JavaScript-Welt stammt, aber heute von nahezu jeder Programmiersprache unterstützt wird. Es wird insbesondere im Webumfeld verwendet, z. B. beim Austausch von Daten zwischen Client und Server.

JSON ist einfach lesbar, sowohl für Menschen als auch für Maschinen. Die Syntax basiert auf einer Untermenge der JavaScript-Objektnotation, jedoch ohne deren Funktionsumfang.

Aufbau und Struktur von JSON

JSON besteht aus zwei Hauptstrukturen:

  1. Objekte – eine ungeordnete Sammlung von Schlüssel-Wert-Paaren.
  2. Arrays – eine geordnete Liste von Werten.

1. JSON-Objekt

{
  "name": "Max Mustermann",
  "alter": 35,
  "verheiratet": false
}

2. JSON-Array

[
  "Apfel",
  "Banane",
  "Kirsche"
]

Gültige Datentypen in JSON

  • Zeichenkette (String) → „Beispiel“
  • Zahl (Number) → 123.45
  • Objekt → {…}
  • Array → […]
  • Boolean → true oder false
  • Null → null

Verschachtelte Strukturen

{
  "benutzer": {
    "id": 1001,
    "name": "Anna",
    "rollen": ["admin", "editor"]
  }
}

Rolle der Klammern in JSON

{ } definieren ein Objekt.
[ ] definieren ein Array.

Diese Klammern sorgen für die logische Strukturierung der Daten. JSON-Dateien müssen wohlgeformt sein – jeder öffnenden Klammer muss eine schließende gegenüberstehen, und die Syntax muss exakt eingehalten werden.

JSON im Einsatz – ein typisches Anwendungsbeispiel

{
  "id": 12345,
  "vorname": "Lisa",
  "nachname": "Müller",
  "email": "lisa.mueller@example.com",
  "newsletter": true
}

JSON in verschiedenen Programmier- und Scriptsprachen

JavaScript

const jsonString = '{"name":"Tom","alter":28}';
const obj = JSON.parse(jsonString);
console.log(obj.name);
const backToJson = JSON.stringify(obj);

Python

import json

json_str = '{"name": "Tom", "alter": 28}'
obj = json.loads(json_str)
print(obj['name'])
new_json = json.dumps(obj)

Java

import org.json.JSONObject;

String jsonString = "{\"name\":\"Tom\",\"alter\":28}";
JSONObject obj = new JSONObject(jsonString);
System.out.println(obj.getString("name"));

JSON im Vergleich zu XML

Kriterium JSON XML
Lesbarkeit Einfach Komplexer
Datenmenge Kompakter Umfangreicher
Parsing Schnell und nativ Aufwendiger
Unterstützung Sehr gut Weit verbreitet
Schemadefinition JSON Schema XSD

Sicherheit und JSON

Beim Umgang mit JSON-Daten ist besondere Vorsicht geboten, wenn diese von externen Quellen stammen. Mögliche Angriffsvektoren sind:

  • JSON Injection
  • Cross-Site Scripting (XSS)
  • Parsing-Fehler

Validierung von JSON

Zur Sicherstellung der Datenintegrität kann ein JSON Schema verwendet werden:

{
  "type": "object",
  "properties": {
    "name": { "type": "string" },
    "alter": { "type": "integer" }
  },
  "required": ["name", "alter"]
}

Beispiel mit der Konfiguration einer Anwendung mit JSON

{
  "server": {
    "port": 8080,
    "useSSL": true
  },
  "database": {
    "host": "localhost",
    "user": "root",
    "password": "geheim"
  }
}

JSON und Datenbanken

Moderne Datenbanken wie MongoDB oder PostgreSQL unterstützen JSON-Datentypen:

SELECT info->>'name' FROM benutzerWHERE info->>'rolle'='adm';

Vollständiges JSON-Beispiel

{
  "projekt": "Sensorüberwachung",
  "version": "1.0.3",
  "sensoren": [
    {
      "id": 101,
      "typ": "Temperatur",
      "einheit": "Celsius",
      "wert": 23.4
    },
    {
      "id": 102,
      "typ": "Luftfeuchtigkeit",
      "einheit": "%",
      "wert": 45.2
    }
  ],
  "status": "aktiv",
  "letzteAktualisierung": "2025-06-17T10:45:00Z"
}

Fazit

JSON hat sich als eines der wichtigsten Datenformate im Bereich der modernen Softwareentwicklung etabliert. Es bietet eine unkomplizierte Möglichkeit, strukturierte Informationen zu speichern, zu übertragen und zu verarbeiten. Ob bei der Kommunikation zwischen Frontend und Backend, dem Speichern von Konfigurationen oder beim Zugriff auf APIs – JSON ist universell einsetzbar.

Die klare Struktur, die breite Unterstützung durch nahezu alle Programmiersprachen und die hervorragende Lesbarkeit machen JSON sowohl für Entwickler als auch für Maschinen zur ersten Wahl. Es ersetzt in vielen Anwendungsfällen ältere Formate wie XML und überzeugt durch Einfachheit, Flexibilität und Effizienz.

Trotz aller Vorteile sollten Entwickler Sicherheitsaspekte wie Datenvalidierung, fehlerhafte Strukturierung und potenzielle Injection-Angriffe stets im Blick behalten. Mit gezieltem Einsatz von JSON-Schema und bewährten Bibliotheken lassen sich diese Risiken jedoch kontrollieren.

Insgesamt lässt sich sagen: JSON ist schlank, zuverlässig und unverzichtbar.

„JSON – Das universelle Datenformat für den Datenaustausch“ weiterlesen

UART – Serielle Kommunikation einfach erklärt mit dem Arduino

Was ist UART?

Die UART-Schnittstelle (Universal Asynchronous Receiver Transmitter) ist ein grundlegendes Kommunikationsprotokoll in der digitalen Elektronik. Sie wird genutzt, um Daten asynchron seriell zwischen zwei Geräten zu übertragen – z. B. zwischen einem Arduino und einem Sensor, Modul oder Computer.

Im Gegensatz zu synchronen Protokollen wie SPI oder I²C benötigt die UART Schnittstelle keine gemeinsame Taktleitung. Die Übertragung erfolgt über zwei Leitungen: TX (Transmit) und RX (Receive). Damit ist UART besonders einfach im Aufbau und vielseitig einsetzbar – ideal für Embedded-Systeme, Debugging und Modemkommunikation.

Techn. Spezifikationen der UART Schnittstelle des Arduino Uno

Merkmal Beschreibung
Signalpegel TTL 0 V (LOW) / 5 V (HIGH)
Pins TX (D1), RX (D0)
Baudrate Standard: 9600 bps (einstellbar)
Datenbits 8 (üblich)
Stoppbits 1 oder 2
Parität Keine (optional möglich)
Protokoll Asynchron, Vollduplex (2-Leiter)
Schnittstellen-Chip ATmega328P UART0 (interner USART)

Beispiel einer seriellen Kommunikation zwischen Arduino und PC

Wir senden über UART Textdaten vom Arduino an den seriellen Monitor eines PCs – nützlich zum Debuggen oder zur Protokollierung von Daten.

Benötigte Komponenten:

  • Arduino Uno
  • USB-Kabel
  • PC / Notebook mit Arduino IDE

Aufbau:

  • TX (D1) → USB-Seriell-Konverter (integriert)
  • RX (D0) ← USB-Seriell-Konverter

Hinweis: Beim Hochladen eines Programms über USB sind RX/TX bereits belegt. Währenddessen darf keine andere UART-Kommunikation aktiv sein.

Programmierung der UART-Datenübertragung mit dem Arduino

void setup() {
  Serial.begin(9600); // UART mit 9600 Baud starten
}

void loop() {
  Serial.println("Hallo, gesendet über UART!");
  delay(1000); // 1 Sekunde Pause
}

Erklärung:

  • Serial.begin(9600) >> Initialisiert UART mit 9600 Baud.
  • Serial.println(...) >> Sendet Text über TX an den PC.
  • Die Ausgabe erscheint im seriellen Monitor der Arduino IDE.

Es ist auch eine Erweiterung von UART zu UART möglich, wie zum Beispiel zwischen Microcontrollern Arduino ↔ ESP8266

Die Mikrocontroller werden direkt über UART verbunden

  • Arduino TX → ESP8266 RX
  • Arduino RX ← ESP8266 TX (mit Spannungsteiler!)

Da der ESP8266 nur 3,3 V verträgt, muss ein Spannungsteiler oder ein Pegelwandler verwendet werden.

Anwendungsbereiche von UART

  • Debugging und Logging über seriellen Monitor
  • Kommunikation mit GSM-, GPS-, RFID- oder Bluetooth-Modulen
  • Datenübertragung zwischen Mikrocontrollern
  • Firmware-Uploads bei Embedded-Systemen

Fazit

Die UART Schnittstelle ist eine der einfachsten und zugleich zuverlässigsten Methoden zur seriellen Kommunikation zwischen elektronischen Geräten. Der geringe Pinbedarf, die gute Unterstützung in Mikrocontroller-Entwicklungsumgebungen  sind ein Vorteil bei Aufbauten. Die breite Anwendungspalette macht die UART-Schnittstelle unverzichtbar im IoT-, Sensorik- und Embedded-Bereich.

Mit einem Arduino lassen sich erste Anwendungen spielend einfach umsetzen – ob zur Protokollierung, Fernsteuerung oder zur Kommunikation mit anderen Modulen. Wer die UART Schnittstelle beherrscht, öffnet die Tür zu vielen professionellen Elektronikprojekten.

GPIO bei IoT – Die universelle Schnittstelle zur Steuerung und Erfassung von Signalen

GPIO – Die universelle Schnittstelle zur Steuerung und Erfassung von Signalen

Was ist eine GPIO-Schnittstelle?

Die GPIO-Schnittstelle steht für General Purpose Input/Output. Dabei handelt es sich um eine universelle digitale Schnittstelle, die auf vielen Mikrocontrollern wie dem Arduino, ESP32, Raspberry Pi oder anderen eingebetteten Systemen zu finden ist. GPIO-Pins können per Programm als Eingänge oder Ausgänge konfiguriert werden. Sie dienen zum Lesen digitaler Signale oder zum Ansteuern externer Komponenten.

Technische Spezifikationen (am Beispiel des Arduino Uno)

Merkmal Beschreibung
Anzahl GPIO-Pins 14 digitale I/O Pins (D0–D13)
Spannung 5V (Logik HIGH), 0V (Logik LOW)
Maximaler Ausgangsstrom ca. 40 mA pro Pin
Interne Pullup-Widerstände Softwareaktivierbar (INPUT_PULLUP)
PWM-fähige Pins D3, D5, D6, D9, D10, D11
Schutz Kein Überspannungsschutz integriert

Anwendungsbeispiel: LED über GPIO steuern

Das Projekt wird eine LED über einen GPIO-Pin ein- und ausschalten.

Bauteile:

  • 1× Arduino Uno
  • 1× LED (z. B. 5 mm, rot)
  • 1× 220 Ω Widerstand
  • Jumper-Kabel
  • Steckbrett

Schaltung:

Die LED-Anode (+) an Digitalpin 13 und die Kathode (–) über 220 Ω Widerstand an GND anschließen.


Arduino D13 ─────┬────>│──┬─── GND  
                 │   LED  │  
                 │        R  
                 └────────┘  

Programmierung der Arduino IDE


// Pin-Definition
const int ledPin = 13;

void setup() {
  // Setze Pin 13 als Ausgang
  pinMode(ledPin, OUTPUT);
}

void loop() {
  digitalWrite(ledPin, HIGH); // LED ein
  delay(1000);                // 1 Sekunde warten
  digitalWrite(ledPin, LOW);  // LED aus
  delay(1000);                // 1 Sekunde warten
}

Erklärung des Codes

  • pinMode(ledPin, OUTPUT): Konfiguriert Pin 13 als Ausgang
  • digitalWrite(ledPin, HIGH): Schaltet die LED ein
  • delay(1000): Wartet 1 Sekunde
  • loop(): Wiederholt den Vorgang in einer Endlosschleife

Weitere Anwendungsmöglichkeiten von GPIO

  • Taster abfragen (Input)
  • Relais ansteuern (Output)
  • Sensoren auslesen
  • Servomotoren steuern
  • Datenkommunikation über I²C oder SPI

Fazit

Die GPIO-Schnittstelle ist das zentrale Bindeglied zwischen Mikrocontroller und realer Welt. Durch einfaches Umschalten zwischen Input und Output kann ein Arduino vielseitige Aufgaben übernehmen – von der simplen LED-Steuerung bis hin zur komplexen Sensorüberwachung. Wer die Funktionsweise der GPIO-Pins verstanden hat, besitzt das Fundament für nahezu jedes Elektronikprojekt.

Chinas praktischer Einsatz von IoT zeigt innovative Vorteile dieser Technologie

Das Video „Safe journeys with China’s intelligent transportation system“ zeigt eindrucksvoll, wie das Internet der Dinge (IoT) zur Modernisierung und Optimierung urbaner Verkehrssysteme beiträgt. Anhand aktueller Entwicklungen in verschiedenen chinesischen Regionen wird deutlich, wie durch die intelligente Vernetzung von Sensoren, Kameras, Ampelsystemen und Fahrzeugdaten eine neue Ära der urbanen Mobilität entsteht.

Intelligente Verkehrssysteme und -steuerung

Im Kern des Konzepts steht die Echtzeitkommunikation zwischen physischen Objekten – das zentrale Prinzip des Internet of Things (IoT). Verkehrssensoren am Straßenrand, smarte Ampeln, Kameras, Fahrzeuge, sowie Maschinen sind miteinander vernetzt und liefern kontinuierlich Daten. Diese Daten werden mit Hilfe von Big Data von leistungsfähigen Algorithmen analysiert. Die Ergebnisse werden unmittelbar genutzt, um Verkehrsflüsse dynamisch zu steuern. So können Staus zu reduziert und Unfälle vermieden werden.

Ein wichtiger Aspekt ist die Integration von Künstlicher Intelligenz (KI) in die Echtzeit IoT-Infrastruktur. KI-gestützte Vorhersagemodelle analysieren das Verkehrsverhalten. Ampelschaltungen lassen sich optimieren und Notfallfahrzeugen wird Vorrang gewährt. Daraus resultieren kürzere Fahrtzeiten, eine höhere Verkehrsdichte. Weitere Resultate sind ein geringerer Kraftstoffverbrauch und ein messbarer Beitrag zum Umweltschutz.

Brückenüberwachung in Echtzeit

Besonders bemerkenswert ist der Einsatz von Sensortechnik zur Brückenüberwachung. Mit Hilfe von IoT-fähigen Sensoren werden strukturelle Parameter überwacht. Dazu werden Vibrationen, Temperatur, Materialspannungen und Bewegungen in Echtzeit gemessen und übertragen. Diese Sensoren erkennen frühzeitig Anzeichen von Materialermüdung, Schäden oder Instabilität – noch bevor sichtbare Risse entstehen. Durch die kontinuierliche Datenübertragung in zentrale Analyseplattformen kann der Zustand von Bauwerken präzise beurteilt werden.  Die Instandhaltung lässt sich effizient durchführen. Das erhöht die Sicherheit erheblich und minimiert ungeplante Ausfälle oder Katastrophenrisiken.

Das ist etwas, was in Deutschland versäumt wird und intensiven Brückenausbau langfristig in Frage stellt, weil zu wenig Daten erfasst und überwacht werden. So ist es kein Wunder, dass die Elbbrücke in Dresden durch mangelnde Kontrolle zusammengebrochen ist und viele weitere Brücken heute aufwendig und teuer saniert werden müssen.

Fazit

Das Video macht klar, dass das Internet der Dinge mehr ist als nur eine technologische Spielerei – es ist ein entscheidender Baustein für die smarte Infrastruktur der Zukunft. Bürger profitieren von sichereren Straßen, weniger Verkehrsbelastung und einer insgesamt verbesserten Lebensqualität.

Wer sich für die praktische Anwendung von IoT-Technologien im Bereich der Mobilität interessiert, erhält durch dieses Video einen fundierten Einblick in die gegenwärtigen Möglichkeiten und zukünftigen Potenziale.

Datenaustausch mit dem JSON Format

In der modernen Welt der IT und Softwareentwicklung spielt der effiziente Austausch von Daten eine zentrale Rolle. Besonders mit dem Siegeszug des Internets und vernetzter Systeme wurde ein standardisiertes Format erforderlich, das leicht lesbar, einfach zu erstellen und von Maschinen schnell verarbeitbar ist. In diesem Zusammenhang hat sich JSON (JavaScript Object Notation) als eines der beliebtesten Datenaustauschformate etabliert.

JSON ist ein leichtgewichtiges, textbasiertes Format, das auf einer Teilmenge der JavaScript-Programmiersprache basiert, sich jedoch längst von dieser emanzipiert hat. Ursprünglich im Jahr 2001 von Douglas Crockford entwickelt, verfolgt JSON das Ziel, eine menschenlesbare und maschinenverarbeitbare Struktur für den Austausch von Daten zwischen Systemen bereitzustellen. Heute ist JSON ein offener Standard und wird von nahezu allen modernen Programmiersprachen unterstützt.

Wie funktioniertJSON?

„Datenaustausch mit dem JSON Format“ weiterlesen

Online-Vortrag: Internet of Things (IoT) entdecken – VHS Regensburger Land

Internet of Things Online Vortrag am 03.05.2025 um 16:00

Die Volkshochschule Regensburger Land lädt am Samstag, den 3. Mai 2025, von 16:00 bis 16:45 Uhr zu einem spannenden und kostenlosen Online-Vortrag über das Internet of Things (IoT) ein.

Die Veranstaltung richtet sich an Technikbegeisterte, Bastler, Programmierer, sowie alle die erste Schritte mit Mikrocontrollern wie dem ESP32 oder Arduino UNO wagen möchten. Besonders für Einsteiger bietet dieser Vortrag einen leicht verständlichen und praxisnahen Einstieg in die Welt der IoT-Technologien.

Der erfahrene Referent Karl Högerl präsentiert live den Einsatz von drei Arduino-Geräten, sowie einem ESP32-Modul mit Kamerafunktion. Die Teilnehmer erhalten einen Einblick, wie IoT-Komponenten kommunizieren, Daten austauschen und sich sinnvoll für kreative Lösungen im Alltag einsetzen lassen – vom Smart Home bis zur Umwelterfassung.

Die Veranstaltung findet online über Zoom statt. Der Zugangslink wird allen angemeldeten Teilnehmer spätestens am Veranstaltungstag per E-Mail zugeschickt. Eine vorherige Anmeldung über die Website der VHS ist erforderlich – die Teilnahme ist kostenfrei.

Jetzt kostenlos teilnehmen und die Welt des IoT entdecken!

🔗 Zur Anmeldung auf der Website der VHS Regensburger Land

Das Internet der Dinge – Die Schlüsseltechnologie der Zukunft

Internet Der Dinge

Einleitung: Was ist das Internet der Dinge?

Das „Internet der Dinge“ (englisch: Internet of Things, kurz IoT) beschreibt die zunehmende Vernetzung physischer Objekte mit dem Internet. Dabei handelt es sich nicht nur um klassische Computer oder Smartphones, sondern auch um Alltagsgegenstände wie Kühlschränke, Heizungen, Uhren, Autos, Produktionsmaschinen oder medizinische Geräte. Diese Objekte sind mit Sensoren, Software und anderen Technologien ausgestattet, die es ihnen ermöglichen, Daten zu sammeln, zu übertragen und in vielen Fällen eigenständig zu analysieren oder auf bestimmte Umgebungsreize zu reagieren.

Der zentrale Gedanke des IoT ist, dass Geräte miteinander und mit zentralen Systemen kommunizieren, um Prozesse zu optimieren, Ressourcen effizienter zu nutzen und neue Dienstleistungen zu ermöglichen. Dabei verschmilzt die physische mit der digitalen Welt – eine Entwicklung, die tiefgreifende Auswirkungen auf unser tägliches Leben, unsere Arbeit und unsere Wirtschaft hat.

Warum ist das Internet der Dinge eine Schlüsseltechnologie?

In den kommenden Jahren wird das IoT zur zentralen Infrastruktur für digitale Innovationen werden. Schon heute ist erkennbar, dass das IoT in zahlreichen Bereichen
– von der Industrie über den Haushalt bis zur Gesundheitsversorgung – grundlegende Veränderungen anstößt. Die Gründe, warum diese Technologie eine Schlüsselrolle einnehmen wird, sind vielfältig. „Das Internet der Dinge – Die Schlüsseltechnologie der Zukunft“ weiterlesen

Barrierefreiheit