Node parameters

When configuring a node, it is necessary to set some parameters which will be used lately in the network,and some parameters necessary for using the API functions.

MAC address

A 64-bit RF module’s unique IEEE address. It is divided in two groups of 32 bits (High and Low).

It identifies uniquely a node inside a network due to it can not be modified and it is given by themanufacturer.

Example of use:

{
    xbee868LP.getOwnMacLow(); // Get 32 lower bits of MAC Address 
    xbee868LP.getOwnMacHigh(); // Get 32 upper bits of MAC Address
}

Related variables:

sourceMacHigh[0-3] → stores the 32 upper bits of MAC address sourceMacLow [0-3] → stores the 32 lower bits of MAC address

Besides, XBee modules provide a stick on the bottom side where the MAC address is indicated:

PAN ID

The Personal Area Network Identifier (PAN ID) is the Network ID. The user network identifier. Nodes musthave the same network identifier to communicate. Only modules with matching IDs can communicate witheach other so all the nodes in the same network must have the same PAN ID. If using OEM network IDs,0xFFFF will use the factory value.

Parameter range: From 0 to 0x7FFF. Default: 0x7FFF.

Example of use:

{ 
    uint8_t  panid[] = { 0x7F, 0xFF };
    xbee868LP.setPAN(panid);
    xbee868LP.getPAN();
}

Related variables:

PAN_ID[0-7] → stores the 16-bit PAN ID. It is stored in the two first positions.

XBee configuration example:

Node Identifier

It is an ASCII string of 20 characters at most which identifies the node in a network. It is used to identify anode in the application level. It is also used to search a node using its NI.

Example of use:

{
    xbee868LP.setNodeIdentifier(“node01”);
    xbee868LP.getNodeIdentifier();
}

Related variables:

nodeID[0-19] → stores the 20-byte max string Node Identifier

Available frequencies

XBee 868LP defines 30 channels that are spaced 200 kHz apart:

  • 863-870MHz : 30 channels

This read-only command can be queried to return a bitfield of the frequencies that are available in themodule’s region of operation. Each bit corresponds to a physical channel. Channels are spaced 200 kHzapart:

Bitfield

Frequency (MHz)

Bit 0

863.150

Bit 1

863.350

Bit 2

863.550

Bit 3

863.750

Bit 4

863.950

Bit 5

864.150

Bit 6

864.350

Bit 7

864.550

Bit 8

864.750

Bit 9

864.950

Bit 10

865.150

Bit 11

865.350

Bit 12

865.550

Bit 13

865.750

Bit 14

865.950

Bit 15

866.150

Bit 16

866.350

Bit 17

866.550

Bit 18

866.750

Bit 19

866.950

Bit 20

867.150

Bit 21

867.350

Bit 22

867.550

Bit 23

867.750

Bit 24

867.950

Bit 25

868.150

Bit 26

868.350

Bit 27

868.550

Bit 28

868.750

Bit 29

868.950

Figure: Available frequencies on XBee 868LP

Parameter range: From 0 to 0x3FFFFFFF.

Example of use:

{
    xbee868LP.getAvailableFreq();
}

Related variables:

_availableFreq[0-3] → stores the available frequencies bitfield

Channel Mask

The channel mask command allows channels to be selectively enabled or disabled. This is useful to avoidusing frequencies that experience unacceptable levels of RF interference. This command is a bitfield. Eachbit in the bitfield corresponds to a frequency as defined in the “Available Frequencies” section. When a bit inthe Channel Mask and the corresponding bit in the Available Frequencies are both set to 1 then that physicalchannel may be chosen by the module as an active channel for communication.

At least two channels must be enabled, except when using only the g4 frequency. When using only the g4frequency (use 0x20000000) LBT+AFA will be disabled and requires the power level to be 5 mW e.r.p. or less.

All modules in a network must use an identical set of active channels. Separate networks which are inphysical range of each other should use different Preamble Patterns (HP) and/or Network ID’s (ID) to avoidreceiving data from the other network.

Parameter range: From 0 to 0x3FFFFFFF. Default: 0x3FFFFFFF.

Example of use:

{
    uint8_t channelMask[4] = {0xFF, 0xFF, 0xFF, 0xFF};
    xbee868LP.setChannelMask( channelMask );
    xbee868LP.getChannelMask();
}

Related variables:

_channelMask[0-3] → stores the channel mask

XBee configuration example:

Preamble ID

Only modules with matching preamble IDs can communicate with each other. Different preamble IDsminimize interference between multiple sets of modules operating in the same vicinity. When receiving apacket this is checked before the network ID, as it is encoded in the preamble, and the network ID isencoded in the MAC header.

Parameter range: From 0x00 to 0x09. Default: 0x00.

Example of use:

{
    xbee868LP.setPreambleID( 0x00 );
    xbee868LP.getPreambleID();
}

Related variables:

_preambleID → stores the preamble ID

XBee configuration example:

https://development.libelium.com/waspmote/868lp-01-configure-xbee-parameters

Last updated