- ZigBee-architectuur:
- Gegevensoverdracht in ZigBee
- Basisprincipes van netwerk voor Xbee-routers en coördinator
- Verschillende netwerktopologie in ZigBee
- Xbee-firmware
- XBee AT-opdrachten:
Over het algemeen raken veel mensen in de war met twee termen XBee en ZigBee, de meesten van hen gebruiken het door elkaar. Maar dit is eigenlijk niet het geval; ZigBee is een standaardprotocol voor draadloze netwerken. Hoewel XBee een product is dat verschillende draadloze communicatieprotocollen ondersteunt, waaronder ZigBee, Wi-Fi (Wi-Fly-module), 802.15.4, 868 MHz-module enz. Hier zijn we vooral gefocust op Xbee / Xbee-PRO ZB RF-module die bestaat uit van ZigBee-firmware.
Denk maar aan een rekenmachine in de computer, waar complexe berekeningen worden uitgevoerd met een gebruiksvriendelijke interface. De taak zou erg moeilijk en vervelend zijn geweest als er alleen hardware beschikbaar was geweest. Dus op het hoogste niveau maakt de beschikbaarheid van software het probleemoplossingsproces eenvoudiger. Het hele proces is verdeeld in lagen van de software door de eigenlijke hardware die wordt aangeroepen door hogere niveaus.
We gebruiken zelfs het concept van lagen in ons dagelijks leven. Bijvoorbeeld een koerier / brief naar het huis van een vriend sturen, e-mail van het ene punt in de wereld naar het andere. Evenzo gebruiken de meeste moderne netwerkprotocollen zelfs een concept van lagen om verschillende softwarecomponenten te scheiden in onafhankelijke modules die op verschillende manieren kunnen worden samengesteld. Misschien moet je zijn handen uit de mouwen steken om een diepgaand begrip van Xbee-architectuur te krijgen, maar we zullen de dingen heel eenvoudig voor je maken.
Laten we beginnen met enkele basisbegrippen zoals routing, het vermijden van botsingen en erkenning. Om de eerste term te begrijpen, gaat u gewoon langs de naam, "route", wat betekent het pad volgen of identificeren. Bij netwerken betekent routering om richting te geven aan de gegevens van bronknooppunt naar bestemmingsknooppunt. Wanneer twee knooppunten in het netwerk tegelijkertijd proberen te verzenden, ontstaat een situatie die botsing wordt genoemd. Dus in het algemeen Carrier Sense Multiple Access met Collision Avoidance (CSMA / CA) -techniek om botsingen te voorkomen, kunt u via deze link meer leren over CSMA. In wezen praten de knooppunten op dezelfde manier als menselijke conversaties; ze controleren even of er niemand praat voordat ze gegevens gaan verzenden.
Telkens wanneer de ontvanger de verzonden gegevens met succes ontvangt, bevestigt hij de zender. De gegevensstroom mag de ontvangende radio niet overweldigen. Elke ontvangende radio heeft een beperkte snelheid waarmee hij inkomende gegevens kan verwerken en een beperkte hoeveelheid geheugen om inkomende gegevens op te slaan.
ZigBee-architectuur:
Er zijn vier hoofdlagen beschikbaar in de ZigBee-stack: fysieke laag, mediatoegangslaag, netwerklaag en applicatielaag.
De toepassingslaag definieert verschillende adresseringsobjecten, waaronder profielen, clusters en eindpunten. Je kunt de ZigBee-stapellagen in de bovenstaande afbeelding zien.
Netwerklaag: het voegt routeringsmogelijkheden toe waarmee RF-datapakketten meerdere apparaten kunnen passeren (meerdere "hops") om data van bron naar bestemming te routeren (peer to peer).
MAC-laag beheert RF-datatransacties tussen naburige apparaten (van punt tot punt). De MAC omvat services zoals het opnieuw proberen van de transmissie en het beheer van bevestiging en technieken om botsingen te vermijden.
Fysieke laag: het bepaalt hoe apparaten zijn verbonden om een netwerk te maken; het definieert het uitgangsvermogen, het aantal kanalen en de transmissiesnelheid. De meeste ZigBee-applicaties werken op de 2,4 GHz ISM-band met een gegevenssnelheid van 250 kbps.
De meeste XBee-families hebben flow control, I / O, A / D en indicatielijnen ingebouwd die kunnen worden geconfigureerd met de juiste commando's. Analoge samples worden geretourneerd als 10-bits waarden. De analoge uitlezing is zo geschaald dat 0x0000 0V vertegenwoordigt en 0x3FF = 1,2V. (De analoge ingangen op de module mogen niet hoger zijn dan 1,2 V)
Om de A / D-waarde om te zetten in mV, doet u het volgende:
AD (mV) = (A / D lezing * 1200mV) / 1023
Gegevensoverdracht in ZigBee
U kunt een netwerk bellen als een combinatie van software en hardware die gegevens van de ene locatie naar de andere kan verzenden. Hardware is verantwoordelijk voor het overbrengen van de signalen van het ene netwerkpunt naar het andere. Software bestaat uit instructiesets die het mogelijk maken om te werken zoals we verwachten.
Over het algemeen kan de datatransmissie door ZigBee-pakketten op twee manieren worden gedaan: unicast en broadcast.
Broadcast-verzending:
In eenvoudige bewoordingen betekent uitzending de informatie / het programma dat wordt uitgezonden door radio of tv. Met andere woorden, uitzendingen worden naar veel of alle apparaten in het netwerk verzonden. Broadcast-transmissies met het ZigBee-protocol worden verspreid over het hele netwerk, zodat alle knooppunten de transmissie ontvangen. Om dit te bereiken, zullen de coördinator en alle routers die een uitzending ontvangen, het pakket drie keer opnieuw verzenden.
Unicast-verzending:
Unicast-transmissies in ZigBee leiden gegevens van het ene bronapparaat naar het andere bestemmingsapparaat. Het bestemmingsapparaat kan een directe buur van het bronapparaat zijn, of er kunnen meerdere hops tussen zitten. Een voorbeeld wordt hieronder in de afbeelding getoond waarin het mechanisme wordt uitgelegd voor het herkennen van de betrouwbaarheid van de bidirectionele verbinding.
Basisprincipes van netwerk voor Xbee-routers en coördinator
Wat heb je nodig om het huis van je vriend te bereiken? Je hebt alleen zijn adres nodig. Evenzo heeft u het unieke adres nodig om de gegevens van de ene Xbee-module naar de andere te verzenden. Net als bij mensen heeft Xbee zelfs meerdere adressen, die allemaal een specifieke rol spelen in netwerken. Er zijn twee soorten adressen: statisch adres (64-bits adres) en dynamisch adres (16-bits adres).
Adressen:
64-bits adres is universeel uniek; het wordt door de fabrikant in de Xbee-module bevestigd. Geen enkele andere ZigBee-radio op aarde zal hetzelfde statische adres hebben, op de achterkant van elke xbee-module kun je dit adres zien zoals hieronder weergegeven, en met name het hogere deel van adres "0013A200" is hetzelfde voor elke xbee-module.
Een apparaat ontvangt een 16-bits adres dat lokaal uniek moet zijn, wanneer het zich aansluit bij een ZigBee-netwerk. Het 16-bits adres 0x0000 is gereserveerd voor de coördinator. Alle andere apparaten ontvangen een willekeurig gegenereerd adres van de router of het coördinatorapparaat waarmee de verbinding mogelijk is. Het 16-bits adres kan veranderen als wordt vastgesteld dat twee apparaten hetzelfde 16-bits adres hebben of als een apparaat het netwerk verlaat en later wordt toegevoegd (het kan een ander adres krijgen).
Knooppunt-ID:
Het is altijd gemakkelijker voor ons brein om strings te onthouden in plaats van getallen. Daarom kan aan elke Xbee-module in een netwerk een knooppunt-ID worden toegewezen. Node identifier is een set van karakters, dwz strings die een meer mensvriendelijke manier kunnen zijn om een node in een netwerk te adresseren.
Personal Area Networks:
Het netwerk dat door deze Xbee-modules is ontwikkeld, wordt personal area networks of PAN's genoemd. Elk netwerk is gedefinieerd met een unieke PAN-identificatie (PAN-ID). Deze identificatie is gemeenschappelijk voor alle apparaten van hetzelfde netwerk. ZigBee ondersteunt zowel een 64-bits als een 16-bits PAN-ID. Beide PAN-adressen worden gebruikt om een netwerk uniek te identificeren. Apparaten op hetzelfde ZigBee-netwerk moeten dezelfde 64-bits en 16-bits PAN-ID's delen. Als meerdere ZigBee-netwerken binnen elkaars bereik werken, moet elk unieke PAN-ID hebben.
De 16-bits PAN-ID wordt gebruikt om de MAC-laag te adresseren bij alle RF-datatransmissies tussen apparaten in een netwerk. Maar vanwege de beperkte adresruimte van de 16-bits PAN ID (65.535 mogelijkheden), kan er een kans zijn dat meerdere ZigBee-netwerken (binnen bereik van elkaar) dezelfde 16-bits PAN ID kunnen hebben. Om deze conflicten op te lossen, heeft de ZigBee Alliance een 64-bits PAN-ID gemaakt. ZigBee definieert drie verschillende apparaattypen: coördinator, router en eindapparaat.
In elk netwerk is altijd één coördinator nodig voor het in rekening brengen van het opzetten van het netwerk. Dus het kan nooit slapen. Het is ook verantwoordelijk voor het selecteren van een kanaal en PAN-ID (zowel 64-bits als 16-bits) om het netwerk te starten. Het kan routers en eindapparaten toelaten om zich bij het netwerk aan te sluiten. Het kan helpen bij het routeren van gegevens in een netwerk.
Er kunnen meerdere routers in een netwerk zijn. De ene router kan signalen ontvangen van andere routers / EP's (eindpunten). Het kan ook nooit slapen. Het moet zich aansluiten bij een Zigbee PAN voordat het gegevens kan verzenden, ontvangen of routeren. Na de verbinding kunnen routers en eindapparaten zich bij het netwerk aansluiten. Na deelname kan het ook helpen bij het routeren van gegevens. Het kan RF-datapakketten bufferen voor slapende eindapparaten.
Er kunnen ook meerdere eindpunten zijn. Het kan in de slaapstand gaan om stroom te besparen. Het moet lid worden van een ZigBee PAN voordat het gegevens kan verzenden of ontvangen en het kan zelfs niet toestaan dat apparaten lid worden van het netwerk. Het is afhankelijk van de ouder voor het verzenden / ontvangen van gegevens.
Aangezien het eindapparaat in de slaapstand kan gaan, moet het ouderapparaat inkomende datapakketten bufferen of vasthouden totdat het eindapparaat ontwaakt en de datapakketten ontvangt.
Verschillende netwerktopologie in ZigBee
Netwerktopologie verwijst naar de manier waarop het netwerk is ontworpen. Hier is de topologie een geometrische representatie van de relatie tussen alle links en apparaten die onderling verbonden zijn (coördinator, router en eindapparatuur).
Hier hebben we vier basistopologie mesh, ster, hybride en boom.
In Mesh Topology is elk knooppunt met elkaar verbonden, behalve het eindapparaat, omdat eindapparaten niet rechtstreeks kunnen communiceren. Om eenvoudige communicatie tussen twee ZB-radio's mogelijk te maken, moet u er een configureren met de coördinatorfirmware en een met router- of endpointfirmware. Het belangrijkste voordeel van Mesh-netwerk is dat als een van de links onbruikbaar wordt, dit niet het hele systeem uitschakelt.
In een stertopologie heeft elk apparaat een speciale point-to-point-verbinding met een centrale controller (coördinator). Alle apparaten zijn niet direct met elkaar verbonden. In tegenstelling tot een mesh-topologie, kan in een stertopologie het ene apparaat niets rechtstreeks naar een ander apparaat verzenden. De coördinator of hub is er voor uitwisseling: als het ene apparaat gegevens naar een ander wil sturen, stuurt het de gegevens naar de coördinator, die de gegevens verder naar het bestemmingsapparaat stuurt.
Hybride netwerken zijn die netwerken die twee of meer soorten communicatiestandaarden bevatten. Hier is een hybride netwerk een combinatie van een ster- en boomnetwerk, weinig eindapparaten zijn rechtstreeks verbonden met het coördinatorknooppunt en andere eindapparaten hebben de hulp van het bovenliggende knooppunt nodig om de gegevens te ontvangen.
In het Tree- netwerk vormen routers de ruggengraat en eindapparaten zijn over het algemeen geclusterd rond elke router. Het verschilt niet veel van een mesh-configuratie, behalve het feit dat hun routers niet met elkaar zijn verbonden, u kunt deze netwerken visualiseren met behulp van het bovenstaande figuur.
Xbee-firmware
De XBee Programmable module is uitgerust met een Free scale applicatieprocessor. Deze applicatieprocessor wordt geleverd met een meegeleverde bootloader. Deze XBee ZV-firmware is gebaseerd op Embernet 3.xx ZigBee-PRO-stack, XBee-Znet 2.5-modules kunnen worden geüpgraded naar deze functionaliteit. U kunt de firmware controleren met de ATVR-opdracht die we later in dit hoofdstuk zullen bespreken. XBee-versienummers hebben 4 significante cijfers. Een versienummer kan ook worden bekeken met de ATVR-opdracht. Het antwoord retourneert 3 of 4 cijfers. Alle getallen zijn hexadecimaal en kunnen een bereik hebben van 0-0xF. Een versie wordt gerapporteerd als "ABCD". Cijfers ABC zijn het hoofdversienummer en D is het revisienummer van de hoofdrelease. De API die in hoofdstuk 4 wordt besproken en AT-opdrachten zijn bijna hetzelfde voor Znet 2.5- en ZB-firmware.
In de telecommunicatie is de volledige Hayes-opdracht een taalspecifieke opdracht die is ontwikkeld voor de Hayes-modem Smart Modem, 1981. Ze waren een reeks korte woorden om de modem te besturen, waardoor communicatie en het opzetten van een modem in die tijd eenvoudig was.
XBee werkt ook in de commandomodus en heeft AT-commando's geactiveerd, wat staat voor ATTENTION, deze commando's kunnen naar XBee worden gestuurd via terminals XBee en AT geconfigureerde XBee-radio's hebben twee communicatiemodi
Transparant: de radio geeft alleen de informatie die hij ontvangt door aan het afgelegen radio-adres waarop hij is geconfigureerd. De gegevens die via de seriële poort worden verzonden, worden door XBee ontvangen zoals ze zijn.
Commando: deze modus wordt gebruikt om met de radio te praten en een aantal voorgeconfigureerde modi te configureren, we communiceren met de modules in deze modus en veranderen de configuratie.
U kunt +++ typen en een seconde wachten zonder op andere knoppen te drukken, het bericht OK zou dan moeten verschijnen als de afbeelding van de terminal net boven. OK, de XBee vertelt ons dat hij in de COMMAND-modus heeft doorgebracht en klaar is om configuratieberichten te ontvangen.
XBee AT-opdrachten:
AT (TEST): Dit is het testcommando om te controleren of de module op OK reageert, aangezien het antwoord hetzelfde bevestigt.
ATDH: Bestemmingsadres hoog. Voor het configureren van de bovenste 32 bits van het 64-bits bestemmingsadres DL en DH gecombineerd, krijgt u een 64-bits bestemmingsadres.
ATDL: bestemmingsadres laag. Dit weer voor het configureren van de onderste 32 bits van het 64-bits bestemmingsadres.
ATID: Dit commando verandert de PAN ID (PersThe ID is 4 bytes hexadecimaal en kan variëren van 0000 tot FFFF
ATWR: schrijven. Schrijf parameterwaarden naar niet-vluchtig geheugen zodat parameterwijzigingen blijven bestaan bij daaropvolgende resets.
Opmerking: zodra WR is uitgegeven, mogen er geen extra tekens naar de module worden gestuurd tot
Nadat het antwoord "OK \ r" is ontvangen.
ATRE (Restore Defaults): Herstelt de fabrieksinstellingen naar de module, is erg handig als de module niet reageert.
Als je meer wilt weten over ZigBee-modules, dan is hier de geweldige bron van Digi.