Unter Leitung der profibus Organisation wurde omlox ins Leben gerufen. Omlox ist ein offener und interoperabler Standard, der die Echtzeit-Ortung revolutioniert. Das Ergebnis ist ein Ökosystem von Anbietern und Lösungen, mit dem die industrielle Ortung nun endlich breit verfügbar ist. Mit omlox können Produkte verschiedener Hersteller in einer Kernzone miteinander vernetzt und verschiedene Ortungstechnologien (z. B. UWB, Wi-Fi, GPS, 5G, RFID und BLE) erstmals einfach miteinander verbunden werden. Was braucht es auf dem Weg zu Omlox? Diese zentralen Leitfragen wollen wir in einer achtteiligen Serie näher beleuchten.

omlox Air interface v2 konforme Firmware

Die omlox Hardware allein macht noch kein Echtzeit-Lokalisierungs-System. Erst durch die Firmware wird die Hardware zum Leben erweckt. Als Firmware bezeichnet man Software, die auf eingebetteten Systemen (Microcontrollern) läuft und der Hardware Funktionsabläufe anweist. Der omlox Standard definiert verschiedenste Zustände der Hardware und Kommunikation in verschiedenen Frequenzbändern (Out-of-Band und In-Band). Diese müssen von der Firmware umgesetzt werden.

Nach dem Einschalten bzw. Aktivieren der Hardware durchläuft sie einen typischen Zyklus: Sie wird von der Firmware angewiesen über das omlox Air Interface im IEEE 802.15.4 Out-of-Band (OoB) Spektrum nach einem bereits bestehenden omlox System zu suchen. Diesem versucht sich die Hardware durch ein Sync und Join anzuschließen. Durch die Standardisierung können alle omlox Air interface kompatiblen Geräte verschiedener Hersteller zusammen arbeiten.

Zeitsynchronisation auf Mikrosekunden

Echtzeit-Lokalisierungs-Systeme (RTLS) die omlox air interface v2 konform sind, arbeiten mit zugeteilten Funk-Slots für jedes Gerät (so genannte garantierte Timeslots, kurz GTSW) und müssen daher präzise synchronisiert sein. Eine Synchronisierung läuft beispielhaft so ab:

Enable receiver
Wait until reception of XOCMs
Deactivate receiver
Select best parent
Save "address" and "rxTimestamp" of best parent in "currentParent"
Start timer "next_xocm" until next parents XOCM is ecpected based on "rxTimestamp" + round duration
Start ranging in current round and assigend slot defined in "currentParent" information base
End

Der Vorteil dieses zeitsynchronen Netzwerkes ist, dass es deterministisch arbeitet. Es ist garantiert, dass ein UWB-Paket auch eine freie Luftschnittstelle hat und ausgewertet werden kann. Werden die Installationen größer und sind sehr viele mobile Geräte im Einsatz, kann zusätzlich die im omlox standard spezifizierte long time window (LTW) ranging round genutzt werden.

Ranging im omlox Air Interface

Das Bestimmen einer Position eines mobilen Geräts erfolgt durch das Messen der Laufzeit von UWB-Funksignalen. Durch die ermittelte Laufzeit der Signale und bekannter Position der Satelliten, bestimmt die CorivaEngine die Position des mobilen Geräts.

Impulsantwort im UWB Spektrum ist präzise Impulsantwort im UWB Spektrum ist präzise

Ein Ranging Block im omlox Standard ist auf eine Dauer von einer Sekunde definiert. Dieser besteht aus 8 Ranging Rounds, welche wiederum in 150 Ranging Slots aufgeteilt sind. Somit ergibt sich eine Slot Dauer von ~0.833 Millisekunden. Innerhalb dieses Zeitraums muss das UWB Signal vom mobilen Gerät zum Satelliten gelangen und dort die Laufzeit ausgewertet werden. Um Zeitstempel vergleichen zu können, wird ein Round-Trip mit jedem Gerät ausgewertet.

// Calculate the corrected reply time using reply_time_rctu and cfo (carrier frequency offset)
Set reply_time_corrected to reply_time_rctu + (reply_time_rctu * cfo)

// Calculate the time of flight (tof) in RCTU (Ranging Counter Timer Unit) units by subtracting reply_time_corrected from round_trip_time_rctu
Set tof_rctu to round_trip_time_rctu - reply_time_corrected

Die ermittelten Time of Flight Zeistempel werden von der Firmware zur CorivaEngine gesendet.

Übertragen der ermittelten Zeitstempel an die CorivaEngine

Die CorivaSats erfassen die Zeitstempel von den mobilen Geräten (z.B. CorivaTag) und packen die ermittelten Daten in protobuf-Nachrichten. Diese protobuf-Nachrichten werden dann über das MQTT-Protokoll an die CorivaEngine gesendet. Dort werden von der Locating Engine aus den Laufzeiten Positionen bestimmt.

Die Firmware der CorivaSats unterstützt LAN und WLAN, einschließlich gängiger Sicherheitsprotokolle wie WPA2 und WPA Enterprise. Diese Unterstützung gewährleistet, dass die CorivaSats nahtlos in Unternehmensumgebungen eingesetzt werden können. Durch die Integration von LAN und WLAN in die Firmware wird eine einfache Installation und Konnektivität ermöglicht, was wiederum die Implementierung und Nutzung der CorivaSats in Corporate-Umgebungen erleichtert.

Weitere Aufgaben der Firmware

Die Firmware der CorivaSats umfasst eine Vielzahl weiterer Aufgaben, die wesentlich zur Funktionalität und Leistungsfähigkeit des Systems beitragen:

  • Over the Air Firmware Update: Diese Funktion ermöglicht es, Firmware-Updates drahtlos über das Netzwerk an die CorivaTags sowie an Tags von Drittanbietern zu übertragen und zu installieren. Dadurch wird eine einfache und effiziente Methode für die Aktualisierung der Geräte gewährleistet, ohne dass diese physisch angeschlossen werden müssen.

  • Identify Messages: Die Firmware ist in der Lage, Identifizierungsnachrichten zu verarbeiten, die es ermöglichen, einzelne CorivaSats und CorivaTags im Netzwerk zu identifizieren und zu lokalisieren. Dies ist entscheidend für die Verwaltung und Wartung des Systems sowie für die Fehlerbehebung.

  • RPC vom omlox Hub: Die Firmware kann omlox Remote Procedure Calls (RPCs) vom omlox Hub empfangen, verarbeiten und entsprechend weiterleiten. Dies ermöglicht die nahtlose Integration mit dem omlox-konformen Hub und anderen Komponenten des Systems.

  • LED-Ansteuerung: Die Firmware steuert die LEDs an den CorivaSats, um visuelle Rückmeldungen über den Betriebszustand und andere wichtige Informationen zu geben. Dies erleichtert die Überwachung und Diagnose des Systems vor Ort.

  • Statusseite: Die Firmware ist in der Lage, eine Statusseite über das HTTP-Protokoll auszuliefern, die über den Webbrowser abgerufen werden kann. Diese Seite bietet einen Überblick über den aktuellen Zustand der CorivaSats, einschließlich Verbindungsstatus und anderen relevanten Informationen. Dadurch erhalten Benutzer einen einfachen Zugriff auf wichtige Systemdaten und können bei Bedarf entsprechende Maßnahmen ergreifen.

Interessiert an Embedded Entwicklung? ☛ Aktuelle Jobs bei ZIPGOS

Road to omlox: Alle Inhalte in der Übersicht