Om flexibeler gebruik te maken van het LoRaWAN netwerk kan er gebruik worden gemaakt van verschillende classes. De class van een LoRa node bepaalt hoe het netwerk met een downlink bericht omgaat.
Er zijn drie LoRaWAN classes die door een LoRa node geïmplementeerd kunnen worden:
- Class A
- Class B
- Class C
Elke class heeft zijn eigen voor en nadelen en kunnen wel/niet geschikt zijn voor de gewenste toepassing. Een LoRa node die gebruikt maakt van class B of class C moet ook de functionaliteiten van een class A ondersteunen. Class B of C zijn dus een uitbreiding op de functionaliteiten van class A.
Hieronder worden de grote verschillen tussen de classes kort toegelicht:
- Bij class A is er alleen de mogelijkheid om een downlink bericht te sturen binnen een paar seconden na het verzenden van een uplink bericht (zie receive windows). Dit heeft het voordeel dat de batterij lang meegaat.
- Bij class B wordt er op een specifiek tijdstip een extra receive window geopend. Dit maakt het mogelijk om een extra downlink bericht te verzenden. Dit heeft als nadeel dat de batterij sneller leegloopt en het openen van het extra receive window gesynchroniseerd moet worden met het LoRaWAN netwerk. Class B is nog in de experimentele fase en bijna nergens ondersteund.
- Bij class C is de node bijna altijd actief aan het luisteren en is deze in staat om op elk moment een downlink bericht te ontvangen. Een class C node kan alleen geen downlink bericht ontvangen tijdens het sturen van een uplink bericht. Het nadeel van een class C node is dat deze veel energie gebruikt en dus alleen voor een korte periode met een batterij gevoed kan worden.
Class A
Class A is een LoRaWAN class die elke node moet ondersteunen. Bij deze Class worden na elk uplink bericht twee receive windows geopend. De LoRa node is in staat om in de tijd dat de receive windows geopend zijn een downlink bericht te ontvangen. Wanneer een downlink bericht in het eerste receive window wordt ontvangen wordt het tweede receive window niet geopend. Na een uplink bericht kan er dus maar één downlink bericht ontvangen worden.
Een nadeel van class A is dat het LoRaWAN netwerk geen controle heeft over het moment dat een downlink verzonden kan worden. Dit kan namelijk alleen nadat de node een uplink bericht verzonden heeft.
Class B
Class B is een LoRaWAN class die naast de standaard receive windows uit Class A extra windows opent op vaste tijden. De timing voor het openen van dit receive window wordt gesynchroniseerd met een LoRaWAN gateway door middel van een beacon signaal. Dit maakt het voor het netwerk mogelijk een downlink bericht te versturen op het moment dat de node zijn extra receive window opent. Om gebruik te maken van class B dient het LoRaWAN netwerk class B te ondersteunen.
Class C
Class C is een LoRaWAN class waarbij de LoRa node bijna altijd aan het ‘luisteren’ is naar downlink berichten. De node kan alleen niet luisteren naar downlink berichten wanneer de node zelf bezig is met het zenden van een uplink bericht.
Doordat de node altijd bezig is met luisteren zal een batterij heel snel leeglopen. Een class C node heeft dus een vaste voeding nodig. Een class C node is mogelijk vereist voor specifieke toepassingen die zo snel mogelijk moeten kunnen reageren op een downlink bericht. Echter moet men er wel rekening mee houden dat een bericht soms niet kan aankomen en het meerdere pogingen kan kosten voordat een downlink bericht daadwerkelijk door een node is ontvangen. Daarbij moet het LoRAWAN netwerk instaat zijn om een class C node te kunnen ondersteunen.