Configure a SpiderMesh Network – Get Started in Less Than 10 Minutes

You are here:
Estimated reading time: 5 min

Objective

  • Learn the basics concepts of the SpiderMesh network
  • Configure your radio modules to create a mesh network
You can download a printer-friendly .pdf version of this guide here

Configuration Example

The following example shows the steps to synchronize a 6 hops mesh using a gateway and 4 nodes (5 SMK900 radio modules)

Step 1: In the radios list of the SpiderMeshIDE, add all 5 radio modules that will be used to create the
mesh network. Click on the button. Make sure to enter the correct MAC address that can
be found on the label on the shield of the radio module.

Time needed: 10 minutes.

The following example shows the steps to synchronize a 6 hops mesh using a gateway and 4 nodes (5 SMK900 radio modules)

  1. In the radios list of the SpiderMesh IDE, add all 5 radio modules that will be used to create the mesh network. Click on the button. Make sure to enter the correct MAC address that can be found on the label on the shield of the radio module.

  2. Connect the radio module to be configured as a gateway to the FTDI board

  3. Install an antenna onto the module

  4. Connect the FTDI board to your computer. Make sure to conenct the USB cable onto the usb port of the FTDI board and NOT the usb port of the SMK900 radio module.

  5. Open the serial port from SpiderMeshIDE by clicking on the Connect button which will turn green once the connection has been successfully established.

  6. In the radios list, configure the gateway to be read locally (”local”)

  7. Go to the ”Config” tab

  8. Select the gateway in the radios list

  9. Modify the following registers:
    Node type: Gateway
    Network ID: Any number between 0 to 7
    Hop table: Any number between 0 to 5

  10. For all three registers that we’ve configured at the previous step, click on the pencil button. If the values have been successfully written into the temporary buffer, then the ”Transfer” button should blink red.

  11. Select TMP > EEPROM from the menu at the right of the ”Transfer” button in order to transfer the changes that we’ve made to the configurations into the EEPROM

  12. Click on the ”Transfer” button to transfer the content of the temporary buffer into the EEPROM

  13. Click on the ”Software Reset” button to apply the changes made. The yellow LED on the radio module should start blinking steadily indicating that the module is now configured as a gateway.

  14. Go to the ”Dyn” tab

  15. Change the ”Number of Hops” to 6

  16. Change the duty cycle to increase or decrease the polling rate of the gateway (this can be seen by looking at the blinking rate of the LED on the gateway module). The resulting period from the duty cycle selection can be seen next to teh DYN period.

  17. Click on ”Set” to change the configurations. If done properly, the LED next to GET seen on SpiderMeshIDE should turn green and the gateway module should change its blinking pattern accordingly.

  18. Click on ”Write to EEPROM” to save these configuration for the next sessions (i.e. to keep the configurations when the gateway module will be restarted)

  19. On another FTDI board, connect another radio module that will be configured as a node

  20. Install an antenna on the radio module

  21. Connect the FTDI board to your computer (remember to connect to the usb port of the FTDI board and NOT the radio module)

  22. In the SpiderMeshIDE, click on ”Disconnect” to close the serial port and stop communicating to the gateway module

  23. Connect SpiderMeshIDE to the new radio module, finding its COM port from your device manager

  24. In the radios list, configure the radio module to communicate locally (select ”local”)

  25. Go to the ”Config” tab

  26. Select the radio module that we’ve just connected in the radios list

  27. Modify its registers to the following:
    Node type: Node
    Network ID: The same value as we’ve previously set for the gateway
    Hop Table: The same value as we’ve previously set for the gateway

  28. Configure these three previous registers by clicking on the pencil button next to the register to be changed. You should see the ”Transfer” button blink red if you’ve successfully written to the temporary buffer

  29. Select TMP > EEPROM from the menu at the right of the ”Transfer” button in order to transfer the changes that we’ve made to the configurations into the EEPROM

  30. Click on the ”Transfer” button to transfer the content of the temporary buffer into the EEPROM

  31. Click on the ”Software Reset” button to apply the changes made. The yellow LED on the radio module should start blinking steadily at the same pace as the gateway module after a few seconds to a minute. Your radio module is now configured properly as a node and connected
    to the gateway. If the node does not start blinking with the gateway, check the configuration of both the node and the gateway for the Network ID and the Hop Table. These should match.

  32. Repeat steps 19 to 31 for each radio module to be configured as a node. You can use the same FTDI board to configure all nodes.

  33. Power up all radio modules. After a few gateway blinks, all radio modules should start blinking
    at the same pace. They are not forming a mesh network of 6 hops.

Understand the SpiderMesh Network

A SMK900 radio can be configured to operate in two main modes: ​gateway ​or ​node​. A ​gateway controls a whole mesh network and functions as the main coordinator ​node​, and its usual primary function is to bridge a ​host such as a PC, tablet, or internet ​gateway​, with the rest of the mesh network.

A ​node is a transceiver that acts as a repeater inside of the mesh network. The primary function of a ​node is to allow communication between an external device and the ​gateway​, or to serve as a bridge between analog and/or digital inputs/outputs such as for sensor arrays.

The topology used by a SMK900 radio is that of a broadcast-only mesh network, with sleep-wake synchronization handled by the ​gateway​. This means that any SMK900 radio transmission sends a broadcast to the whole mesh network. The maximum of broadcast transmission of the same messages over the mesh network depends on the number of ​hops ​allowed.

Multiple independent mesh networks may coexist in the same physical space by configuring ​nodes ​with differing FHSS (frequency-hopping spread spectrum) channels, different network IDs and/or different encryption patterns. Each of those mesh networks have to be controlled by its own ​gateway​.

The SMK900 uses the FHSS approach in order to ensure that co-located networks using different FHSS hopping tables (a.k.a ​channels​) can coexist with graceful degradation of network performance as the number of conflicting networks overlapping increases. This however comes with the price that any ​node needs a certain time delay (called “​seek time​”) in order to connect itself to its desired network (this delay can range between seconds to minutes, depending on the sleep interval between wake cycles for said network. For instance, at a sleep interval of 1 second, the seek time is of the order of 30 seconds to 1 minute, and this seek time increases linearly with said sleep interval.

Every ​node ​also has a configurable network ID, called ​NWKID​, between 0 and 7, which can be used to segregate multiple networks hopping on the same FHSS channel in order to reduce the impact of interference. Every ​node ​can also be encrypted using an unique network key, which not only secures a given mesh network, but also allows for more segregation between coexisting networks within the same physical space. The primary means for network segregation is of course the selection of the FHSS channel via a configuration variable named ​HOPTABLEID​. The current implementation allows for values between 0 and 5 (i.e. 6 different hop tables).

Was this article helpful?
Dislike 0
Views: 337
Go to Top