Arduino UNO Q - GPS

Das NEO-6M-GPS-Modul bietet genaue Standort-, Geschwindigkeits-, Höhen- und Zeitdaten über NMEA-Serienausgabe. Der Arduino UNO Q MCU analysiert die GPS-Daten mit TinyGPS++, speichert die Ergebnisse und macht sie der Linux-Seite über Bridge verfügbar – wodurch die Standortfreigabe auf Google Maps über Telegram ermöglicht wird.

In diesem Tutorial lernen Sie:

Arduino UNO Q GPS Module

※ Notiz:

Das GPS-Modul benötigt einen freien Blick auf den Himmel, um einen Satellitensignal zu erfassen. Im Freien ist am besten; in der Nähe eines Fensters kann funktionieren. Das erste Signal kann mehrere Minuten dauern.

Hardware erforderlich

1×Arduino UNO Q
1×USB Cable for Arduino Uno Q
1×NEO-6M GPS Module
1×Verbindungskabel
1×(Empfohlen) Schraubklemmenblock-Shield für Arduino Uno
1×(Empfohlen) Sensors/Servo Expansion Shield for Arduino Uno
1×(Empfohlen) Breadboard-Shield für Arduino Uno
1×(Empfohlen) Gehäuse für Arduino Uno
1×(Empfohlen) Prototyping-Grundplatte & Breadboard-Kit für Arduino Uno

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über das NEO-6M-GPS-Modul

Das NEO-6M ist ein weit verbreitetes GPS-Empfängermodul, das NMEA-formatierte Daten über UART mit 9600 Baud ausgibt. Es kann bis zu 22 Satelliten über 50 Kanäle verfolgen und liefert eine Positionsgenauigkeit von etwa 2,5 Metern.

NEO-6M GPS Module Pinout

Pinbelegung

  • VCC-Pin: Mit VCC verbinden (5V oder 3,3V – die meisten Module unterstützen beide)
  • GND-Pin: Mit GND verbinden (0V)
  • TX-Pin: Serienausgabe – sendet GPS-NMEA-Daten an den MCU RX-Pin
  • RX-Pin: Serieneingabe – empfängt optionale Konfigurationsbefehle vom MCU TX-Pin

Funktionsweise

Das NEO-6M gibt kontinuierlich NMEA-Sätze aus (z.B. $GPGGA, $GPRMC) mit 9600 Baud. Der Arduino UNO Q MCU liest diese Sätze, übergibt sie an die TinyGPS++-Bibliothek, die sie in Breitengrad-, Längengrad-, Höhen-, Geschwindigkeits- und Datums-/Uhrzeitwerte analysiert.

  • Blaue LED am Modul: Blinkt einmal pro Sekunde, wenn ein Satellitensignal erfasst ist

Schaltschema

Arduino UNO Q GPS Module Wiring Diagram

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

NEO-6M GPS Modul Pin Arduino UNO Q MCU
VCC 3.3V
GND GND
TX D4 (MCU RX)
RX D3 (MCU TX)

※ Notiz:

Der MCU TX-Pin (D3) gibt 3,3V-Signale aus. Dies ist mit dem NEO-6M RX-Pin kompatibel, der 3,3V-Logik akzeptiert, daher ist kein Pegelwandler erforderlich.

Wie man für GPS programmiert

  • Fügen Sie die TinyGPS++-Bibliothek ein und richten Sie SoftwareSerial ein:
#include <TinyGPS++.h> #include <SoftwareSerial.h> TinyGPSPlus gps; SoftwareSerial gpsSerial(RX_PIN, TX_PIN);
  • Füttern Sie eingehende Bytes in den TinyGPS++-Parser:
while (gpsSerial.available() > 0) { gps.encode(gpsSerial.read()); }
  • Lesen Sie Koordinaten, wenn eine Lösung gültig ist:
if (gps.location.isValid()) { double lat = gps.location.lat(); double lng = gps.location.lng(); }

Arduino UNO Q Code

Der Arduino UNO Q hat zwei Prozessoren, die zusammenarbeiten:

  • Der STM32 MCU liest GPS-NMEA-Sätze kontinuierlich, analysiert sie mit TinyGPS++ und gibt Koordinaten, Geschwindigkeit, Höhe und Datum/Uhrzeit auf dem Serial Monitor aus
  • Die Qualcomm MPU läuft Debian Linux mit Wi-Fi – in diesem Abschnitt wird nur der MCU programmiert. Ein späterer Abschnitt zeigt, wie beide Prozessoren über Bridge zusammenarbeiten.
/* * Dieser Arduino UNO Q Code wurde von newbiely.de entwickelt * Dieser Arduino UNO Q Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-uno-q/arduino-uno-q-gps */ #include <TinyGPS++.h> #include <SoftwareSerial.h> #define RX_PIN 4 // The Arduino UNO Q MCU pin connected to TX of the GPS module #define TX_PIN 3 // The Arduino UNO Q MCU pin connected to RX of the GPS module TinyGPSPlus gps; SoftwareSerial gpsSerial(RX_PIN, TX_PIN); void setup() { Serial.begin(9600); gpsSerial.begin(9600); // NEO-6M default baud rate Serial.println("Arduino UNO Q - NEO-6M GPS Module"); } void loop() { while (gpsSerial.available() > 0) { if (gps.encode(gpsSerial.read())) { if (gps.location.isValid()) { Serial.print("- Latitude : "); Serial.println(gps.location.lat(), 6); Serial.print("- Longitude: "); Serial.println(gps.location.lng(), 6); Serial.print("- Altitude : "); if (gps.altitude.isValid()) Serial.println(gps.altitude.meters()); else Serial.println("INVALID"); } else { Serial.println("- Location: INVALID (waiting for fix...)"); } Serial.print("- Speed : "); if (gps.speed.isValid()) { Serial.print(gps.speed.kmph()); Serial.println(" km/h"); } else { Serial.println("INVALID"); } Serial.print("- Date/Time: "); if (gps.date.isValid() && gps.time.isValid()) { Serial.print(gps.date.year()); Serial.print("-"); Serial.print(gps.date.month()); Serial.print("-"); Serial.print(gps.date.day()); Serial.print(" "); Serial.print(gps.time.hour()); Serial.print(":"); Serial.print(gps.time.minute()); Serial.print(":"); Serial.println(gps.time.second()); } else { Serial.println("INVALID"); } Serial.println(); } } if (millis() > 5000 && gps.charsProcessed() < 10) Serial.println("No GPS data received: check wiring"); }

Schnelle Schritte

Erstmals mit Arduino UNO Q? Folgen Sie dem Getting Started with Arduino UNO Q Tutorial, bevor Sie fortfahren.

  • Verbinden: Verdrahten Sie das NEO-6M-GPS-Modul mit dem Arduino UNO Q MCU wie im Schaltschema gezeigt.
  • Nehmen Sie den Sensor nach draußen oder platzieren Sie ihn in der Nähe eines Fensters mit freiem Himmelblick.
  • Öffnen Sie Arduino App Lab: Starten Sie Arduino App Lab und warten Sie, bis es Ihren Arduino UNO Q erkennt.
  • Erstellen Sie eine neue App: Klicken Sie auf die Schaltfläche Create New App.
Create New App in Arduino App Lab on Arduino UNO Q
  • Geben Sie der App einen Namen, z.B.: GPSModule
  • Klicken Sie auf Create, um zu bestätigen.
Arduino App Lab App folders and files on Arduino UNO Q
  • Fügen Sie die Skizze ein: Kopieren Sie den MCU-Code von oben und fügen Sie ihn in sketch/sketch.ino ein.
  • Install the library: Click the Add sketch library button (the open book icon with a + sign) in the left sidebar.
Add sketch library in Arduino App Lab on Arduino UNO Q
  • Search for TinyGPSPlus created by Mikal Hart and click the Install button.
My Apps / DIYables Apps
Run
Bricks
No bricks added...
Sketch Libraries
No sketch libra...
Files
python
sketch
.gitignore
README.md
app.yaml
sketch.ino
Add sketch library
TinyGPSPlus Mikal Hart

NMEA is the standard format GPS devices use to report location, time, altitude, etc. TinyGPSPlus is a compact, resilient library that parses the most common NMEA 'sentences' used: GGA and RMC. It can also be customized to extract data from *any* compliant sentence.

1.0.3
Install
More Info
  • Hochladen: Klicken Sie auf die Run-Schaltfläche in Arduino App Lab.
Click Run button in Arduino App Lab on Arduino UNO Q
  • Warten Sie darauf, dass die blaue LED des GPS-Moduls zu blinken beginnt – dies signalisiert, dass ein Satellitensignal erfasst wurde.
  • Beobachten Sie die GPS-Daten auf dem Serial Monitor.

App Lab-Konsolenausgabe

DIYables_Apps
Stop
sketch.ino
1#include "Arduino_RouterBridge.h"
Serial Monitor
Python
Message (Enter to send a message to "Newbiely" on usb(2820070321))
New Line
9600 baud
[2026-04-29 09:00:01] Arduino UNO Q - NEO-6M GPS Module [2026-04-29 09:00:02] - Location: INVALID (waiting for fix...) [2026-04-29 09:04:15] - Latitude : 37.774900 [2026-04-29 09:04:15] - Longitude: -122.419400 [2026-04-29 09:04:15] - Altitude : 16.2 [2026-04-29 09:04:15] - Speed : 0.12 km/h [2026-04-29 09:04:15] - Date/Time: 2026-4-29 09:04:15

Bridge: Linux + MCU

Dieser Abschnitt zeigt, wie Sie beide Prozessoren des Arduino UNO Q programmieren, um GPS-Daten der Linux-Seite über Bridge verfügbar zu machen:

  • Das GPS-Modul ist mit dem MCU verbunden – der MCU analysiert kontinuierlich NMEA-Sätze und speichert Breitengrad, Längengrad, Höhe, Geschwindigkeit und Datum/Uhrzeit
  • Die MPU kann das GPS-UART nicht direkt lesen – sie ruft Bridge-Funktionen auf, um zwischengespeicherte GPS-Werte zu erhalten
  • Die MPU hat Wi-Fi – läuft volles Debian Linux und kann Ihren GPS-Standort mit einem Google Maps-Link über Telegram teilen
  • Arduino_RouterBridge ermöglicht RPC-Kommunikation zwischen den beiden Prozessoren
  • ⚠️ /dev/ttyHS1 (Linux) und Serial1 (MCU) sind RESERVIERT vom Router – öffnen Sie sie niemals in Benutzercode

MCU Code (Bridge)

/* * Dieser Arduino UNO Q Code wurde von newbiely.de entwickelt * Dieser Arduino UNO Q Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-uno-q/arduino-uno-q-gps */ #include "Arduino_RouterBridge.h" #include <TinyGPS++.h> #include <SoftwareSerial.h> #define RX_PIN 4 // The Arduino UNO Q MCU pin connected to TX of the GPS module #define TX_PIN 3 // The Arduino UNO Q MCU pin connected to RX of the GPS module TinyGPSPlus gps; SoftwareSerial gpsSerial(RX_PIN, TX_PIN); // Cached GPS data bool cached_valid = false; double cached_lat = 0.0; double cached_lng = 0.0; double cached_alt = 0.0; double cached_speed = 0.0; char cached_datetime[32] = "INVALID"; String get_location(String arg) { if (!cached_valid) return "INVALID"; char buf[48]; dtostrf(cached_lat, 10, 6, buf); String result = "lat:"; result += buf; dtostrf(cached_lng, 11, 6, buf); result += " lng:"; result += buf; return result; } String get_latitude(String arg) { if (!cached_valid) return "INVALID"; char buf[16]; dtostrf(cached_lat, 10, 6, buf); return String(buf); } String get_longitude(String arg) { if (!cached_valid) return "INVALID"; char buf[16]; dtostrf(cached_lng, 11, 6, buf); return String(buf); } String get_altitude(String arg) { if (!cached_valid || cached_alt == 0.0) return "INVALID"; char buf[10]; dtostrf(cached_alt, 6, 1, buf); return String(buf); } String get_speed(String arg) { if (!cached_valid) return "INVALID"; char buf[10]; dtostrf(cached_speed, 6, 2, buf); return String(buf); } String get_datetime(String arg) { return String(cached_datetime); } void setup() { Bridge.begin(); Monitor.begin(); gpsSerial.begin(9600); Bridge.provide("get_location", get_location); Bridge.provide("get_latitude", get_latitude); Bridge.provide("get_longitude", get_longitude); Bridge.provide("get_altitude", get_altitude); Bridge.provide("get_speed", get_speed); Bridge.provide("get_datetime", get_datetime); Monitor.println("Arduino UNO Q GPS Bridge ready. Waiting for fix..."); } void loop() { while (gpsSerial.available() > 0) { if (gps.encode(gpsSerial.read())) { if (gps.location.isValid()) { cached_valid = true; cached_lat = gps.location.lat(); cached_lng = gps.location.lng(); if (gps.altitude.isValid()) cached_alt = gps.altitude.meters(); if (gps.speed.isValid()) cached_speed = gps.speed.kmph(); if (gps.date.isValid() && gps.time.isValid()) { snprintf(cached_datetime, sizeof(cached_datetime), "%04d-%02d-%02d %02d:%02d:%02d", gps.date.year(), gps.date.month(), gps.date.day(), gps.time.hour(), gps.time.minute(), gps.time.second()); } } } } if (millis() > 5000 && gps.charsProcessed() < 10) Monitor.println("No GPS data received: check wiring"); }

Python Code (Bridge)

/* * Dieser Arduino UNO Q Code wurde von newbiely.de entwickelt * Dieser Arduino UNO Q Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-uno-q/arduino-uno-q-gps */ from arduino.app_utils import * import time def loop(): location = Bridge.call("get_location") speed = Bridge.call("get_speed") datetime = Bridge.call("get_datetime") altitude = Bridge.call("get_altitude") print(f"Location : {location}") print(f"Speed : {speed} km/h") print(f"Altitude : {altitude} m") print(f"Date/Time: {datetime}") print() time.sleep(2) App.run(user_loop=loop)

Schnelle Schritte

  • Verbinden: Verdrahten Sie das NEO-6M-GPS-Modul mit dem Arduino UNO Q wie im Schaltschema gezeigt. Platzieren Sie das Gerät in der Nähe eines Fensters mit freiem Himmelblick.
  • Öffnen Sie Arduino App Lab und erstellen Sie eine neue App mit dem Namen GPSBridge.
  • Fügen Sie die MCU-Skizze in sketch/sketch.ino ein.
  • Fügen Sie den Python-Code in die Python-Datei ein.
  • Hochladen: Klicken Sie auf die Run-Schaltfläche. Warten Sie, bis die blaue LED des GPS-Moduls blinkt.
Click Run button in Arduino App Lab on Arduino UNO Q
  • Beobachten Sie, dass GPS-Daten in der Python-Konsole erscheinen, sobald ein Signal erfasst ist.

App Lab-Konsolenausgabe

DIYables_Apps
Stop
sketch.ino
1#include "Arduino_RouterBridge.h"
Serial Monitor
Python
Message (Enter to send a message to "Newbiely" on usb(2820070321))
New Line
9600 baud
[2026-04-29 09:00:01] Arduino UNO Q GPS Bridge ready. Waiting for fix...
DIYables_Apps
Stop
sketch.ino
1#include "Arduino_RouterBridge.h"
Serial Monitor
Python
[2026-04-29 09:00:02] Location : INVALID [2026-04-29 09:00:04] Location : INVALID [2026-04-29 09:04:15] Location : lat: 37.774900 lng:-122.419400 [2026-04-29 09:04:15] Speed : 0.12 km/h [2026-04-29 09:04:15] Altitude : 16.2 m [2026-04-29 09:04:15] Date/Time: 2026-04-29 09:04:15

Telegram

Erstellen Sie einen GPS-Tracker auf Arduino UNO Q – senden Sie Ihren Standort mit einem Google Maps-Link, Geschwindigkeit, Höhe und Uhrzeit über Telegram-Befehle.

MCU-Skizze: Behalten Sie die gleiche MCU-Skizze aus dem vorherigen Bridge-Abschnitt.

Python Code (Telegram)

/* * Dieser Arduino UNO Q Code wurde von newbiely.de entwickelt * Dieser Arduino UNO Q Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-uno-q/arduino-uno-q-gps */ from arduino.app_utils import * import requests import time TELEGRAM_BOT_TOKEN = "YOUR_TELEGRAM_BOT_TOKEN" CHAT_ID = "YOUR_CHAT_ID" last_update_id = 0 def get_updates(): global last_update_id url = f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/getUpdates" params = {"offset": last_update_id + 1, "timeout": 5} try: response = requests.get(url, params=params, timeout=10) data = response.json() if data["ok"]: return data["result"] except Exception as e: print(f"Error getting updates: {e}") return [] def send_message(chat_id, text): url = f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/sendMessage" payload = {"chat_id": chat_id, "text": text} try: requests.post(url, data=payload, timeout=10) except Exception as e: print(f"Error sending message: {e}") def loop(): updates = get_updates() for update in updates: last_update_id = update["update_id"] if "message" not in update: continue message = update["message"] chat_id = message["chat"]["id"] text = message.get("text", "").strip() print(f"Received: {text}") if text == "/start": send_message(chat_id, "Arduino UNO Q GPS Bot\n" "/location - Current GPS coordinates + Google Maps link\n" "/speed - Current speed (km/h)\n" "/altitude - Current altitude (meters)\n" "/time - Current GPS date and time") elif text == "/location": lat = Bridge.call("get_latitude") lng = Bridge.call("get_longitude") if lat == "INVALID" or lng == "INVALID": send_message(chat_id, "GPS location not yet available. Waiting for fix...") else: maps_url = f"https://maps.google.com/?q={lat.strip()},{lng.strip()}" send_message(chat_id, f"📍 Location:\nLatitude : {lat.strip()}\nLongitude: {lng.strip()}\n{maps_url}") elif text == "/speed": result = Bridge.call("get_speed") if result == "INVALID": send_message(chat_id, "Speed not yet available.") else: send_message(chat_id, f"🚀 Speed: {result.strip()} km/h") elif text == "/altitude": result = Bridge.call("get_altitude") if result == "INVALID": send_message(chat_id, "Altitude not yet available.") else: send_message(chat_id, f"⛰️ Altitude: {result.strip()} m") elif text == "/time": result = Bridge.call("get_datetime") send_message(chat_id, f"🕐 GPS Date/Time: {result}") else: send_message(chat_id, "Unknown command. Send /start for help.") time.sleep(0.3) App.run(user_loop=loop)

Schnelle Schritte

  • Ersetzen Sie YOUR_TELEGRAM_BOT_TOKEN durch Ihren tatsächlichen Bot-Token von BotFather.
  • Ersetzen Sie YOUR_CHAT_ID durch Ihre Telegram-Chat-ID.
  • Fügen Sie diesen Python-Code in die Python-Datei Ihrer App ein (behalten Sie die gleiche MCU-Skizze).
  • Klicken Sie auf die Run-Schaltfläche – warten Sie auf einen GPS-Signal (blaue LED blinkt), dann senden Sie /location in Telegram.

App Lab-Konsolenausgabe

DIYables_Apps
Stop
sketch.ino
1#include "Arduino_RouterBridge.h"
Serial Monitor
Python
[2026-04-29 09:10:01] Waiting for Telegram messages... [2026-04-29 09:10:05] Received: /location [2026-04-29 09:10:08] Received: /speed [2026-04-29 09:10:12] Received: /altitude [2026-04-29 09:10:15] Received: /time
Telegram
Telegram 12:45
Welcome to Telegram!
ArduinoBot 10:19
Chatting with Arduino...
telegram-botfather
BotFather Yesterday
Your bot has been created.

ArduinoBot

bot
Today
/location
10:15 AM ✓✓
📍 Location: Latitude : 37.774900 Longitude: -122.419400 https://maps.google.com/?q=37.774900,-122.419400
10:16 AM
/speed
10:17 AM ✓✓
🚀 Speed: 0.12 km/h
10:18 AM
/altitude
10:19 AM ✓✓
⛰️ Altitude: 16.2 m
10:20 AM
/time
10:21 AM ✓✓
🕐 GPS Date/Time: 2026-04-29 09:10:15
10:22 AM

OpenClaw

You can adapt the OpenClaw to this tutorial by refering the instruction on Arduino Uno Q - OpenClaw Tutorial

Projektideen

Sie können viele nützliche Projekte mit dem GPS-Modul und Arduino UNO Q erstellen:

  • Persönlicher GPS-Tracker: Senden Sie /location jederzeit über Telegram, um sofort Ihre aktuellen GPS-Koordinaten und einen anklickbaren Google Maps-Link zu erhalten – perfekt für die Verfolgung eines Fahrzeugs oder Haustiers
  • Geo-Zaun-Alarmsystem: Definieren Sie einen Heimatstandort (Breitengrad/Längengrad) in Python; wenn sich das GPS mehr als eine festgelegte Entfernung entfernt, senden Sie automatisch eine Telegram-Warnung mit dem aktuellen Standort und Google Maps-Link
  • Geschwindigkeitsmonitor: Prüfen Sie kontinuierlich den GPS-Geschwindigkeitswert in Python – wenn er einen festgelegten Schwellenwert überschreitet (z.B. 120 km/h), senden Sie eine Telegram-Warnung mit der aktuellen Geschwindigkeit und dem Standort
  • Trip-Logger: Protokollieren Sie GPS-Koordinaten, Geschwindigkeit und Höhe in eine CSV-Datei auf der Linux-Seite alle 10 Sekunden; senden Sie einen /summary Telegram-Befehl, um die Gesamtfahrstrecke, Maximalgeschwindigkeit und Dauer zu erhalten
  • Automatische Standortübertragung: Senden Sie Ihren GPS-Standort automatisch alle 5 Minuten über Telegram mit einem Python-Timer – nützlich zur Überwachung eines sich bewegenden Vermögenswerts oder Fahrzeugs in Echtzeit

Fordern Sie sich selbst heraus

Bereit, weiter mit GPS auf Arduino UNO Q zu gehen? Versuchen Sie diese Herausforderungen:

  • Einfach: Fügen Sie einen /satellites Telegram-Befehl hinzu, der die Anzahl der derzeit für das GPS-Modul sichtbaren Satelliten zurückgibt, indem Sie gps.satellites.value() auf dem MCU verwenden und es über eine get_satellites Bridge-Funktion verfügbar machen.
  • Mittel: Implementieren Sie einen Geo-Zaun in Python: Wenn sich das GPS mehr als 500 Meter von einem gespeicherten Heimatstandort entfernt, senden Sie automatisch eine Telegram-Warnung. Verwenden Sie TinyGPSPlus::distanceBetween() auf dem MCU oder berechnen Sie die Haversine-Distanz in Python.
  • Fortgeschritten: Erstellen Sie einen Live-Trip-Tracker: Protokollieren Sie GPS-Koordinaten mit Zeitstempeln in eine JSON-Datei auf Linux alle 30 Sekunden während der Bewegung (Geschwindigkeit > 2 km/h). Implementieren Sie einen /track Telegram-Befehl, der die letzten 5 protokollierten Punkte als formatierte Routenzusammenfassung mit geschätzter Gesamtentfernung zurückgibt.

Verwandte Tutorials

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!