Application Note: Nemeus Multicast Overview

From nemeuswiki
Jump to: navigation, search


Purpose of this Application Note is to help engineer to integrate Nemeus Multicast Mechanism. This Application Note is valid for all MM002-xx-EU Modules and MG003 Gateways from 18W41.


1 LoRaWan Multicast

When a device network contain devices that should get same information from server it could be useful to perform multicast, that is sending same payload to several devices in one shot. Of course, all device should listen, so multicast should be done whit class C devices.

2 Nemeus Implementation

Nemeus Multicast adress can be defined with following formalism: 0xFFFFFFFFxxxxxxxx

For the device configuration only the 4 LSB are used

The five less significant bits could be used to manage up to 32 groups and should be set/unset as follow:

  • 1 1111 : 1 group available
  • 1 1110 : 2 groups available
  • 1 1100 : 4 groups available
  • 1 1000 : 8 groups available
  • 1 0000 : 16 groups available
  • 0 0000 : 32 groups available


3 Example with two devices with multicast on 4 groups

Multicast Adress : FFFFFFFF789ABCDC (4 groups)
nwk_skey : 0102030405060708090A0B0C0D0E0FCA
apps_key : 0102030405060708090A0B0C0D0E0F00
Device 1 in group 0 (bit 0 set in the mask => 0x1))
Device 2 in group 3 (bit 3 set in the mask => 0x8)
Device 3 in group 1 and 3 (bit 1 and bit 3 set in the mask => 0xA)


3.1 Devices configuration

Device #1
AT+MAC=SMC,789ABCDC,FFFFFFFC,00000001,0,0102030405060708090A0B0C0D0E0FCA,0102030405060708090A0B0C0D0E0F00
Device #2
AT+MAC=SMC,789ABCDC,FFFFFFFC,00000008,0,0102030405060708090A0B0C0D0E0FCA,0102030405060708090A0B0C0D0E0F00
Device #3
AT+MAC=SMC,789ABCDC,FFFFFFFC,0000000A,0,0102030405060708090A0B0C0D0E0FCA,0102030405060708090A0B0C0D0E0F00


Please Note that to behave correctly, the device must have sent at least one payload to the gateway 

3.2 Gateway configuration

First we need to add a specific device that will represent the multicast channel:

Multicast add device



We can see now in devices list our 'devices' along with the multicast virtual device:

Multicast devices list



We can send the data via the virtual device context:

Multicast Context

In this example only device # 3 will receive the data