Articles

Zigbee

Es gibt drei Klassen von Zigbee-Geräten:

  • Zigbee Coordinator (ZC): Das fähigste Gerät, der Koordinator, bildet die Wurzel des Netzwerkbaums und kann eine Brücke zu anderen Netzwerken schlagen. Es gibt genau einen Zigbee-Koordinator in jedem Netzwerk, da es sich um das Gerät handelt, mit dem das Netzwerk ursprünglich gestartet wurde (die Zigbee LightLink-Spezifikation ermöglicht auch den Betrieb ohne einen Zigbee-Koordinator, wodurch er besser für handelsübliche Heimprodukte verwendet werden kann). Es speichert Informationen über das Netzwerk, einschließlich der Rolle als Trust Center und Repository für Sicherheitsschlüssel.
  • Zigbee Router (ZR): Ein Router kann nicht nur eine Anwendungsfunktion ausführen, sondern auch als Zwischenrouter fungieren und Daten von anderen Geräten weitergeben.
  • Zigbee-Endgerät (ZED): Enthält gerade genug Funktionalität, um mit dem übergeordneten Knoten (entweder dem Koordinator oder einem Router) zu kommunizieren. Diese Beziehung ermöglicht es dem Knoten, einen erheblichen Teil der Zeit zu schlafen, wodurch eine lange Akkulaufzeit gegeben wird. Ein ZED benötigt die geringste Menge an Speicher und kann daher kostengünstiger herzustellen sein als ein ZR oder ZC.

Die aktuellen Zigbee-Protokolle unterstützen Beacon-fähige und nicht Beacon-fähige Netzwerke. In nicht Beacon-fähigen Netzwerken wird ein nicht zugewiesener CSMA / CA-Kanalzugriffsmechanismus verwendet. In dieser Art von Netzwerk sind die Empfänger von Zigbee-Routern normalerweise kontinuierlich aktiv, was zusätzliche Leistung erfordert. Dies ermöglicht jedoch heterogene Netzwerke, in denen einige Geräte kontinuierlich empfangen, während andere bei Bedarf senden. Das typische Beispiel für ein heterogenes Netzwerk ist ein drahtloser Lichtschalter: Der Zigbee-Knoten an der Lampe kann ständig empfangen, da er zuverlässig von der Netzversorgung der Lampe mit Strom versorgt wird, während ein batteriebetriebener Lichtschalter so lange schläft, bis der Schalter geworfen wird. In diesem Fall wacht der Schalter auf, sendet einen Befehl an die Lampe, erhält eine Bestätigung und kehrt in den Ruhezustand zurück. In einem solchen Netzwerk ist der Lampenknoten mindestens ein Zigbee-Router, wenn nicht der Zigbee-Koordinator; Der Switch-Knoten ist typischerweise ein Zigbee-Endgerät. In Beacon-fähigen Netzwerken senden Zigbee-Router periodische Beacons, um ihre Anwesenheit an andere Netzwerkknoten zu bestätigen. Knoten können zwischen Beacons schlafen und so ihre Akkulaufzeit verlängern. Sie können zwischen 15,36 Millisekunden und 251,65824 Sekunden bei 250 kbit / s, zwischen 24 Millisekunden und 393,216 Sekunden bei 40 kbit / s und zwischen 48 Millisekunden und 786,432 Sekunden bei 20 kbit / s liegen.

Im Allgemeinen minimieren die Zigbee-Protokolle die Einschaltzeit des Funkgeräts, um den Stromverbrauch zu reduzieren. In Beaconing-Netzwerken müssen Knoten nur aktiv sein, während ein Beacon gesendet wird. In nicht Beacon-fähigen Netzwerken ist der Stromverbrauch entschieden asymmetrisch: Einige Geräte sind immer aktiv, während andere die meiste Zeit im Schlaf verbringen.Mit Ausnahme von Smart Energy Profile 2.0 müssen Zigbee-Geräte dem IEEE 802.15.4-2003 Low-Rate Wireless Personal Area Network (LR-WPAN) -Standard entsprechen. Der Standard spezifiziert die unteren Protokollschichten – die physikalische Schicht (PHY) und den Medienzugriffskontrollabschnitt der Datenverbindungsschicht. Der grundlegende Kanalzugriffsmodus ist der Carrier-Sense-Mehrfachzugriff mit Kollisionsvermeidung (CSMA / CA). Das heißt, die Knoten kommunizieren ähnlich wie Menschen: Ein Knoten überprüft kurz, ob andere Knoten nicht sprechen, bevor er beginnt. CSMA/CA wird in drei bemerkenswerten Ausnahmen nicht verwendet:

  • Nachrichtenbestätigungen
  • Beacons werden nach einem festen Zeitplan gesendet.
  • Geräte in Beacon-fähigen Netzwerken mit Echtzeitanforderungen mit geringer Latenz können auch garantierte Zeitschlitze verwenden.

Network layerEdit

Die Hauptfunktionen der Netzwerkschicht bestehen darin, die korrekte Verwendung der MAC-Unterschicht zu ermöglichen und eine geeignete Schnittstelle für die Verwendung durch die nächsthöhere Schicht, nämlich die Anwendungsschicht, bereitzustellen. Seine Fähigkeiten und Struktur sind diejenigen, die typischerweise solchen Netzwerkschichten zugeordnet sind, einschließlich Routing. Die Funktion der Netzwerkschicht ist genau so, wie sie sich anhört; Sie befasst sich mit Netzwerkfunktionen wie dem Verbinden, Trennen und Einrichten von Netzwerken. Es fügt ein Netzwerk hinzu, weist Adressen zu und fügt bestimmte Geräte hinzu und entfernt sie. Diese Ebene verwendet Stern-, Netz- und Baumtopologien. Es fügt der Anwendungsebene eine Schnittstelle hinzu.

Einerseits erstellt und verwaltet die Datenentität Dateneinheiten der Netzwerkschicht aus der Nutzlast der Anwendungsschicht und führt das Routing gemäß der aktuellen Topologie durch. Auf der anderen Seite gibt es die Layer Control, mit der die Konfiguration neuer Geräte und der Aufbau neuer Netzwerke abgewickelt werden: Sie kann feststellen, ob ein Nachbargerät zum Netzwerk gehört, und neue Nachbarn und Router entdecken. Die Steuerung kann auch das Vorhandensein eines Empfängers erkennen, was eine direkte Kommunikation und MAC-Synchronisation ermöglicht.

Das von der Netzwerkschicht verwendete Routingprotokoll ist AODV. Um das Zielgerät zu finden, sendet AODV in AODV eine Routenanforderung an alle Nachbarn. Die Nachbarn senden dann die Anfrage an ihre Nachbarn und weiter, bis das Ziel erreicht ist. Sobald das Ziel erreicht ist, sendet es seine Routenantwort über Unicast-Übertragung auf dem kostengünstigsten Pfad zurück zur Quelle. Sobald die Quelle die Antwort erhält, aktualisiert sie ihre Routingtabelle für die Zieladresse des nächsten Hops im Pfad und die Pfadkosten.

Application layerEdit

Die Anwendungsschicht ist die in der Spezifikation definierte oberste Ebene und die effektive Schnittstelle des Zigbee-Systems zu seinen Endbenutzern. Es umfasst die Mehrheit der durch die Zigbee-Spezifikation hinzugefügten Komponenten: Sowohl ZDO als auch seine Verwaltungsverfahren sowie vom Hersteller definierte Anwendungsobjekte werden als Teil dieser Schicht betrachtet. Diese Schicht bindet Tabellen, sendet Nachrichten zwischen gebundenen Geräten, verwaltet Gruppenadressen, setzt Pakete wieder zusammen und transportiert auch Daten. Es ist für die Bereitstellung von Diensten für Zigbee-Geräteprofile verantwortlich.

Hauptkomponentenbearbeiten

Das ZDO (Zigbee Device Object), ein Protokoll im Zigbee-Protokollstapel, ist für die allgemeine Geräteverwaltung, Sicherheitsschlüssel und Richtlinien verantwortlich. Es ist verantwortlich für die Definition der Rolle eines Geräts als Koordinator oder Endgerät, wie oben erwähnt, aber auch für die Entdeckung neuer (One-Hop-) Geräte im Netzwerk und die Identifizierung ihrer angebotenen Dienste. Es kann dann sichere Verbindungen zu externen Geräten herstellen und auf verbindliche Anfragen entsprechend antworten.

Der Application Support Sublayer (APS) ist die andere Hauptstandardkomponente des Layers und bietet als solcher eine klar definierte Schnittstelle und Steuerdienste. Es fungiert als Brücke zwischen der Netzwerkschicht und den anderen Elementen der Anwendungsschicht: es hält aktuelle Verbindungstabellen in Form einer Datenbank bereit, mit denen je nach den benötigten Diensten und den von den verschiedenen Geräten angebotenen Diensten geeignete Geräte gefunden werden können. Als Vereinigung zwischen beiden angegebenen Schichten werden auch Nachrichten über die Schichten des Protokollstapels geleitet.

Kommunikationsmodelledit

Zigbee High-Level-Kommunikationsmodell

Eine Anwendung kann aus kommunizierenden Objekten bestehen, die zusammenarbeiten, um die gewünschten Aufgaben auszuführen. Der Fokus von Zigbee liegt darauf, die Arbeit auf viele verschiedene Geräte zu verteilen, die sich innerhalb einzelner Zigbee-Knoten befinden, die wiederum ein Netzwerk bilden (diese Arbeit wird typischerweise weitgehend lokal für jedes Gerät sein, zum Beispiel die Steuerung jedes Haushaltsgeräts).

Die Sammlung von Objekten, die das Netzwerk bilden, kommuniziert über die von APS bereitgestellten Einrichtungen, die von ZDO-Schnittstellen überwacht werden. Der Datendienst der Anwendungsschicht folgt einer typischen Anforderungsbestätigungs- / Indikationsantwortstruktur. Innerhalb eines einzelnen Geräts können bis zu 240 Anwendungsobjekte vorhanden sein, die im Bereich von 1 bis 240 nummeriert sind. 0 ist für die ZDO-Datenschnittstelle und 255 für Broadcast reserviert; Der Bereich 241-254 wird derzeit nicht verwendet, kann aber in Zukunft verwendet werden.

Für Anwendungsobjekte stehen zwei Dienste zur Verfügung (in Zigbee 1.0):

  • Der Schlüssel-Wert-Paar-Dienst (KVP) dient zur Konfiguration. Es ermöglicht die Beschreibung, Anforderung und Änderung von Objektattributen über eine einfache Schnittstelle, die auf getting / Set- und Event-Primitiven basiert. Die Konfiguration verwendet komprimiertes XML (vollständiges XML kann verwendet werden), um eine anpassungsfähige und elegante Lösung bereitzustellen.
  • Der Nachrichtendienst ist so konzipiert, dass er einen allgemeinen Ansatz für die Behandlung von Informationen bietet und die Notwendigkeit vermeidet, Anwendungsprotokolle und potenziellen Overhead für KVP anzupassen. Es ermöglicht die Übertragung beliebiger Nutzlasten über APS-Frames.

Die Adressierung ist ebenfalls Teil der Anwendungsschicht. Ein Netzwerkknoten besteht aus einem 802.15.4-konformen Funk-Transceiver und einer oder mehreren Gerätebeschreibungen (im Wesentlichen Sammlungen von Attributen, die abgefragt oder festgelegt werden können oder die durch Ereignisse überwacht werden können). Der Transceiver ist die Basis für die Adressierung, und Geräte innerhalb eines Knotens werden durch eine Endpunktkennung im Bereich 1-240 angegeben.

Communication and device discoveryEdit

Damit Anwendungen kommunizieren können, müssen die zugehörigen Geräte ein gemeinsames Anwendungsprotokoll verwenden (Nachrichtentypen, Formate usw.); Diese Konventionen sind in Profilen gruppiert. Darüber hinaus wird über die Bindung entschieden, indem Eingabe- und Ausgabeclusterkennungen abgeglichen werden, die im Kontext eines bestimmten Profils eindeutig sind und einem eingehenden oder ausgehenden Datenfluss in einem Gerät zugeordnet sind. Bindungstabellen enthalten Quell- und Zielpaare.

Abhängig von den verfügbaren Informationen kann die Geräteerkennung verschiedenen Methoden folgen. Wenn die Netzwerkadresse bekannt ist, kann die IEEE-Adresse mittels Unicast-Kommunikation angefordert werden. Wenn dies nicht der Fall ist, werden Petitionen gesendet (die IP-Adresse ist Teil der Antwortnutzlast). Endgeräte antworten einfach mit der angeforderten Adresse, während ein Netzwerkkoordinator oder ein Router auch die Adressen aller damit verbundenen Geräte sendet.Dieses erweiterte Erkennungsprotokoll ermöglicht es externen Geräten, sich über Geräte in einem Netzwerk und die von ihnen angebotenen Dienste zu informieren, die Endpunkte melden können, wenn sie von dem erkennenden Gerät (das zuvor ihre Adressen erhalten hat) abgefragt werden. Passende Dienste können ebenfalls verwendet werden.

Die Verwendung von Cluster-IDs erzwingt die Bindung komplementärer Entitäten mithilfe der Bindungstabellen, die von Zigbee-Koordinatoren verwaltet werden, da die Tabelle innerhalb eines Netzwerks immer verfügbar sein muss und Koordinatoren höchstwahrscheinlich über eine permanente Stromversorgung verfügen. Backups, die von übergeordneten Ebenen verwaltet werden, können von einigen Anwendungen benötigt werden. Die Bindung erfordert eine etablierte Kommunikationsverbindung; Nachdem sie vorhanden ist, wird gemäß den Anwendungs- und Sicherheitsrichtlinien entschieden, ob ein neuer Knoten zum Netzwerk hinzugefügt werden soll.

Kommunikation kann direkt nach der Assoziation stattfinden. Die direkte Adressierung verwendet sowohl die Funkadresse als auch die Endpunktkennung, während die indirekte Adressierung jedes relevante Feld (Adresse, Endpunkt, Cluster und Attribut) verwendet und erfordert, dass sie an den Netzwerkkoordinator gesendet werden, der Zuordnungen verwaltet und Kommunikationsanforderungen übersetzt. Indirekte Adressierung ist besonders nützlich, um einige Geräte sehr einfach zu halten und ihren Speicherbedarf zu minimieren. Neben diesen beiden Methoden ist Broadcast an alle Endpunkte in einem Gerät verfügbar, und die Gruppenadressierung wird verwendet, um mit Gruppen von Endpunkten zu kommunizieren, die zu einer Gruppe von Geräten gehören.