I’m trying to base my ZigBee NCP project on one of the WSTK modules, using my own board design with the same pinout as an existing EFR32 module. When I pick the module board header as a “Custom header,” my project won’t compile because it can’t find several files like bspconfig.h. I’m not using Hardware Configurator. What should I do?
Answer
Add the following files to the Additional .c and .h files, include paths, libraries in the Other tab by clicking on Add directory... (not Add file...):
Simplicity Commander is a software package provided by Silicon Labs that provides a very powerful GUI and command line utility for working with your EFR32 parts. With Simplicity Commander you can flash firmware (bootloaders and applications), update the WSTK firmware, reset locked parts and unlock debug access. It is the EFR32 version of the ISA3 Utilites.
Standalone Installation
As of 7/2017, Simplicity Commander is now available as a standalone utility (in addition to the Simplicity Studio-based install/launch options listed below). See the download links listed under the "In-System Programming" section at Production Programming Options for Silicon Labs Devices. Installers and release notes are available for Windows, Mac, and Linux.
See the included README.txt for additional guidance and dependencies (Commander currently requires the SEGGER J-Link software pack to be installed).
Launching the GUI
In Studio v3.3, if wireless support is installed, Simplicity Commander will be available from the "File -> Simplicity Commander" menu in the IDE.
In Studio v4 the commander binary can be run by going to Preferences -> Simplicity Studio -> Adapter Packs, selecting Simplicity Commander -> commander: commander.exe and clicking on "Bare run".
Launching the Command Line Utility
In Studio v4, along with the GUI in the above commands, the bare run window can be used to launch the command line utility as well. You can enter additional parameters on the executable line after the command:
For ease of use, you can add either of these directories to your path (minus commander.exe) and run Simplicity Commander by just invoking the following at the command prompt:
When building host applications in a Linux environment (this includes Cygwin) you need to have all of the following libraries otherwise your build will fail with errors.
Make
GCC
sed
awk
xargs
The standard C Library and its development headers
The Readline Library and its development headers (optional)
The Ncurses Library and its development headers (optional - only needed to support Readline)
Should you encounter build errors when attempting to make a Linux based host application, make sure these libraries are installed.
Within our EmberZNet and Silicon Labs Thread stacks we provide a number of pre-built NCP images. However, with the customability EFR32 Mighty Gecko, these NCP images don't always meet every application. This guide, along with reading AN1010: Building a Customized NCP Application, should give you the tools to build your own xNCP image.
Go to File -> New -> Project. This will bring up the New Project Wizard
Select “Silicon Labs Thread”. Click Next.
Select the Stack you want to use. Click Next. (Note, these step by step instructions assume using Thread 2.0 or later)
Thread offers 3 NCP options here, NCP SPI, NCP UART (Software Flow Control), and NCP UART (Hardware Flow Control). Pick the option which matches your application. Click Next.
Give your project a name, leave it in the default location. Click Next.
On the Project Setup Window pick the BRD4151A board (it will pick the EFR321P232F256GM48 chip). We will change this later, we are just using this to start the project. Hit Finish.
Download and copy the xNCP_board.h file to your project (you can drag and drop it into your Project in Studio, when prompted, make sure to Copy the file into your project).
On the General Tab
Selected Architecture – pick the chip you are using
On the HAL Tab
Change Board Header from Default to Use Custom Board Header
Point the Custom Board Header to xNCP_board.h (it should be in your Studio v4 Workspace
Verify that your Bootloader is set to Standalone.
On the Plugins Tab
Verify in the HAL section that the NCP type matches the version you are using, either NCP UART Link or NCP SPI Link (Because you have selected your NCP type earlier, this should be set)
On the Other Tab
In the Additional .c and .h files section Add the following directories:
Find the #define statements for which build to use
#define UART_XNCP_BUILD #define SPI_XNCP_BUILD
Comment out the one you aren’t using and make sure the one you need is defined
Modify the section to match the pins you have selected. You must get the _USART_ROUTELOC0_ definitions from the EFR32MG1 Mighty Gecko Data Sheet, Pages 139-140.
This article covers migrating from an old EmberZNet stack version to a current version (pre-EmberZNet5.8) using Simplicity Studio v4 and your project's ISC file.
1. Copy the ISC file and any additional files in the project that were modified into the same directory. For example:
2. Start up Studio v4 and go to the Simplicity IDE perspective. 3. Go to Window -> Preferences -> Simplicity Studio -> SDKs and uncheck all EmberZNet stack installs other than the most current EmberZNet stack you are migrating to. 4. Go to File -> Import and select Simplicity Studio -> MCU Project. This will open up a dialogue. 4. Find your ISC file and add it to the list. Click Next and the Build Configuration will show that there or some unresolved dependencies. Click Next again to make changes. 5. Under Reconstruct Build Configurations make sure you have the proper Board (if you have one), Part, SDK, and Toolchain are selected. Click Next. 6. Under Project Configuration, type in a Project name. Click Finish. 7. Navigate to your project in Project Explorer and open your ISC file. Simplicity Studio might ask you to select the specific stack you want to use. This is because of the differences between Host and SoC code. After this, an "Auto upgrade notice" should pop up. Closing this window, your project has been updated to the new stack you have available. 8. Under the General tab, check the stack version and generation directory. 8. Navigate to the "Other" tab in AppBuilder and update any additional files added by clicking on the file and reselecting it. 9. Generate. 10. Compile.
This article covers a quick connection to the virtual UART (Port 4900) of the EM35xx chip. More information can be found in document UG110: EM35x Development Kit User Guide, Section 6.6 "Using the Serial Ports". These were the steps used with Tera Term, but other telnet software should work:
1. In Tera Term, go to Setup -> TCP/IP.
2. Add Host IP for ISA3 (for example: 192.168.1.100)
3. Set Port#: 4900
4. Click OK
5. Go to File -> New connection and select TCP/IP.
6. Select Host: 192.169.1.100
7. Change Service to Telnet
8. Change TCP port# to 4900
9. Click OK
10. Press Enter. This should give you a prompt ">"
11.Go to Setup -> Terminal and turn on Local Echo
A step-by-step guide to creating, building, and running your own Router Eligible End Device (REED) application based on the Silicon Labs Thread stack. This tutorial expands on Part 2 by adding a button event for the LED toggle and capturing the associated network traffic.
I. Updating Configuration for the Reed 1. Go back to the ISC configuration file we have been working on (ThreadReed200EFR32). 2. Navigate to the "Callbacks" tab. a. Select "halButtonIsr". 3. Under the "Other" tab: a. Add an Event item under Event Configuration section. This will link an event to a button press. i. Set Command to "eventToggle". ii. Set Callback to "eventToggleHandler". 4. Click "Generate". AppBuilder will ask you to validate the generation to make sure which files can be overwritten. Make sure thread-callbacks.c is UNCHECKED. Click OK. 5. In the "Generation successful" window click OK. 6. Save the ISC file.
II. Add Code and Build Project in Simplicity Studio IDE 1. In thread-callbacks.c add the following code to have the node send out a CoAP Broadcast message.
3. Compile your project and Ensure that the build completes with zero errors.
III. Load Application to All WSTKs 1. In Network Analyzer perspective, click on a node for your application and select "Flash/Upload". 2. Upload only the updated application. This time DO NOT erase the chip because we want to keep the network parameters saved in non-volatile memory. 3. Repeat for all nodes.
IV. Capture Network Traffic 1. Set Network Analyzer decode to the appropriate Thread stack by going to Window -> Preferences -> Network Analyzer -> Decoding -> Stack Versions. (Please note, there is an auto-detection decoder stack however, if you have multiple protocols in the air in your space, then we recommend selecting the specific stack). 2. Make sure your master-key is available in Window -> Preferences -> Network Analyzer -> Decoding -> Security Keys. If it is not there add a new security key by clicking on the "Add" button. 3. In Network Analyzer perspective, in the Device view, right-click on a node and select "Start capture with options" a. May need to select "Connect" first if icon beside node name is not showing green. 4. In capture options specify PAN ID. This allows you to narrow the data captured to the specific PAN ID.
V. Bringing the Reed Back into Network 1. In console bring the node back up by using the resume command.
network-management resume
2. Do this for all nodes. Management traffic should start showing in the network capture.
VI. Sending Messages 1. Press Button0 on WSTK board. Console will print when the node is broadcasting. Nodes with URI "reed/toggle", will toggle their LEDs. The network capture will show CoAP messages.
A step-by-step guide to creating, building, and running your own Router Eligible End Device (REED) application based on the Silicon Labs Thread stack. This tutorial expands on Part 1 by adding a handler for a CoAP message.
I. Updating Configuration for REED 1. Go back to the ISC configuration file which we created in the previous exercise (ThreadReed200EFR32.isc). 2. Navigate to the "Plugins" tab: a. Select "CoAP Dispatch". b. Remove "CoAP Debug" as there are some conflicts. 3. Under the "Other" tab: a. Add a CoAP Dispatch item. i. Change Method to POST. ii. Change URI Path to "reed/toggle". iii. Change Handler to "reedToggleHandler". 4. Click "Generate". AppBuilder will ask you to validate the generation to make sure which files can be overwritten. Make sure thread-callbacks.c is unchecked. Click OK. 5. In the "Generation successful" window click OK. 6. Save the ISC file.
II. Add Code and Build Projects in Simplicity Studio IDE 1. In thread-callbacks.c add the following code to have the node respond to CoAP messages. This Handler will respond to "reed/toggle" URI, toggle an LED on the WSTK, and print a statement to the console.
2. Build your project and ensure that it completes with zero errors.
III. Load Application to All WSTKs 1. In Network Analyzer perspective, click on a node for your application and disconnect from the device (for the EFR32). Then select "Flash/Upload". 2. Upload only the updated application. This time DO NOT erase the chip because we want to keep the network parameters saved in non-volatile memory. 3. Repeat for all nodes.
IV. Bringing Nodes Back Into the Network 1. In Network Analyzer perspective, navigate to the node's console and use the resume command.
network-management resume
2. Do this for all nodes.
V. Sending CoAP messages 1. In the console send a CoAP POST message to your neighbor using their IP address and unique URI to toggle the LED using coap post <destination> <uri> <body>
coap post "fd00:db8::d9dd:b493:143b:9cbc" "reed/toggle" "1"
A step-by-step guide to creating, building, and running your own Router Eligible End Device (REED) application based on the Silicon Labs Thread stack. Before tackling this tutorial, please checkout "Building Silicon Labs Thread Sample Applications" tutorial first.
This tutorial is part of a three part series:
Building a Thread Router Eligible End Device Application Part 1.
I. Launch Simplicity Studio and start a blank application
1. Make sure at least two nodes are present with EFR32s under Devices.
2. Go to File -> New -> Silicon Labs AppBuilder Project.
3. Check on "Start with a blank application". Click Next.
4. Name your project. For example ThreadReed200EFR32.
5. In next window (Project Setup), check if Simplicity Studio detected correct board, part, and toolchain. In this example we're using BRD4153A, EFR32MG1P132F256GM48, and IAR ARM 7.30.
II. Configuring REED
1. Under the "General" tab:
a. Update the "Device name" to project's name (ie ThreadReed200EFR32).
b. Open "Device type" dialog:
i. Select EFR32 and add device to "Selected devices and plugins".
ii. Select SoC and add device to "Selected devices and plugins".
iii. Select Router and add device to "Selected devices and plugins".
iv. Close dialog by clicking OK.
2. Under the "HAL" tab:
a. Set Bootloader to Application type.
b. Set the Application serial port to USART0 (Port 1).
c. Check "USART0 (port 1)" box. This will be our communication line to the chip.
3. Under the "Printing" tab:
a. Make sure "Enable debug printing" is checked.
b. Make sure under functional area Core and Application are checked in both "Compiled in" and Enabled at startup".
4. Under the "Plugins" tab:
a. Add CoAP Debug under the Common section. This will give us CoAP debug output in the console.
b. Add ICMP Debug under the Common section. This will give us ICMP debug output in the console.
5. Under the "Callbacks" tab:
a. Select emberFormNetworkReturn - check "Is Used"; Stub should be check automatically.
b. Select emberJoinNetworkReturn.
c. Select emberResumeNetworkReturn.
d. Select emberResetNetworkStateReturn.
6. Under the "Other" tab, we do not have anything to add.
7. Click "Generate". Notice project appeared in Project Explorer. Click OK.
8. Save ISC file by going to File -> Save.
III. Add Code and Build Projects
1. Go to Simplicity IDE perspective. In Project Exploror, expand your Reed project.
2. Add the following code to thread-callbacks.c file. The functions should already be available after generating the project through AppBuilder. This will give us some useful output in the command line.
3. Compile your project by right-clicking on project name and using "Build project" option.
4. Make sure your build is successful and the compiled binary is located in project directory tree under "IAR ARM - Debug" folder.
IV. Load Application and Bootloader to EFR32MG module on WSTK
1. As described in "Building Thread Sample Applications" section 7. Load the Reed application and booltoader to two available devices.
V. Adding nodes to a network using pre-commissioning
1. In Network Analyzer perspective, in the Devices view, right-click on a node and select "Connect" then right-click again and select "Launch Console".
a. Navigate to "Serial 1" tab and press the return key a few times to get a prompt.
b. Find out the state of your device using the "Info" command. The output should output network status of 0x00 (EMBER_NO_NETWORK).
c. If your device has an ip address, reset the network parameters by issuing the command:
network-management reset
2. For the first device on the network we will need to form the network
a. Set the master key issuing command:
b. Set network parameters for the network using network-management form <channel:1> <power:1> <node type:1> [<network id:0--16> [<ula prefix>]
network-management form 25 3 2 "Honey Badger" "FD00:0DB8::"
c. Check network status using the info command. Network status should be 0x03 (EMBER_JOINED_NETWORK_ATTACHED).
3. For the second node (or any node after)
a. In the "Serial 1" console make sure the node is not already in a network.
b. Set Commissioning information for the device. Note the PAN ID, Extended PAN ID, and Network ID are set by the Leader (our first node on the network). Use the info command on the Leader node to get proper parameters for the network. Using network-management commission <preferred channel:1> <power:1> <network id:0--16> <ula prefix> <extended pan id:8> <key:16> <pan id:2>
4. Join the pre-commissioned device to the network.
a. Use the command network-management join-commissioned <power:1> <node type:1> [<require connectivity:1>]
network-management join-commissioned 3 2 0
5. Check the status of the node by using the info command. Network status should be 0x03 (EMBER_JOINED_NETWORK_ATTACHED).
VI. Sending Messages
1. In the Console ping one of the devices in the network, for example ping the Leader's IP address using icmp ping <destination>
icmp ping "fd00:db8::d9dd:b493:143b:9cbc"
2. In the Console send a CoAP POST message using coap post <destination> <uri> <body>
coap post "fd00:db8::d9dd:b493:143b:9cbc" "reed/notice" "1"
I. Launch Simplicity Studio and Add Thread Stack 1. Make sure at least two nodes are present with EFR32MG modules in Devices window. 2. Go to Window -> Preferences. Then expand the Simplicity Studio item from the left list. 3. Go to SDKs. In the right pane make sure Silicon Labs Thread Stack 2.0.0 is checked on. (If stack is not available please run Update Software.) 4. Click OK to exit Preferences.
II. Create New Application Framework Configuration for Server 1. Go to File -> New -> Silicon Labs AppBuilder Project. 2. Select Thread and then select our latest thread stack. 3. Select Server. Click Next. 4. Name your project. Example: ThreadServer200EFR32. 5. In next window (Project Setup), check if Simplicity Studio detected the correct kit and part. For this example we used module BRD4153A with chip EFR32MG1P132F256GM48.
III. Update Configuration for Server 1. Under the "General" tab, notice the Generation directory and Device name and remember these for later. 2. Under the "HAL" tab: a. Set Bootloader to Application type. b. Set the Application serial port to USART0 (port 1). c. Check "USART0 (port 1)" box. This will be our communication line to the chip. 3. Under the "Printing" tab: a. Make sure "Enable debug printing" is checked. b. Make sure under functional area Core and Application are checked in both "Compiled in" and "Enabled at startup" columns. 4. Under the "Plugins" tab, we do not have anything to add for the sample apps. 5. Under the "Callbacks" tab, we do not have anything to add for the sample apps. 6. Under the "Other" tab, notice the additional server-implementation.c file. This is the application layer code. 7. Click "Generate". Notice the project appeared in Project Explorer. Click OK.
IV. Create New Application Framework Configuration for Client 1. Go to File -> New -> Silicon Labs AppBuilder Project. 2. Select Thread and then select our latest Thread stack. 3. Select Client. Click Next. 4. Name your project. Example: ThreadClient200EFR32. Click Finish.
V. Update Configuration for Client 1. Under the "General" tab, notice the Generation directory and Device name and remember these for later. 2. Under the "HAL" tab: a. Set Bootloader to Application type. b. Set the Application serial port to USART0 (port 1). c. Check "USART0 (port 1)" box. This will be our communication line to the chip. 3. Under the "Printing" tab: a. Make sure "Enable debug printing" is checked. b. Make sure under functional area Core and Application are checked in both "Compiled in" and "Enabled at startup" columns. 4. Under the "Plugins" tab, we do not have anything to add for the sample apps. 5. Under the "Callbacks" tab, we do not have anything to add for the sample apps. 6. Under the "Other" tab, notice the additional client-implementation.c file. This is the application layer code. 7. Click "Generate". Notice the project appeared in Project Explorer. Click OK.
VI. Build Projects in Simplicity Studio IDE 1. Select the Server project in Project Explorer window. 2. Compile your project by clicking on the Build icon. There is also a build option in the right-click menu. 3. ensure that the build completes with 0 errors. 4. Select Client project workspace and compile the same way.
VII. Load Applications and Bootloaders to EFR32MG module on WSTK 1. In Simplicity Studio, go to the Network Analyzer Perspective, right-click on a node for your application and select "Flash/Upload". a. Browse to the S37 file create by the build (found in project directory tree under "IAR ARM - Debug" folder for example: MyProjects/ThreadServer200EFR32/IAR ARM - Debug). b. Check the Bootloader option and browse to "./SiliconLabs/SimplicityStudio/v4/developer/stacks/thread/v2.0.0.0/protocol/thread_2.0/tool/bootloader-efr32mg1p132f256gm48/app-bootloader-spiflash/app-bootloader-spiflash.s37" c. Check Erase Chip option; then click OK to proceed with the upload. 2. The same can be done for the Client Application.
VIII. Adding Client to Network 1. In Simplicity Studio, in the Adapters view, right-click on the Server node and select "Console". a. Navigate to "Serial 1" tab and press the return key a few times to get a prompt. b. Server should output "Advertising to ff03::1" 2. In the Adapters view, right-click on the Client node and select "Console". a. Navigate to "Serial 1" tab and press the return key a few times to get a prompt. b. Client should after some time output "ERR: Joining failed: 0xC0" and "Searching for network "client/server" using join key "ABCDEFGH"" (Where ABCDEFGH is an 8-byte join key). c. In the Server Console type "expect {JOIN_KEY}" where {JOIN_KEY} is the join key printed by the Client. This initiates the joining and commissioning process. d. The Server will print "Sent steering data". The joining process will take about one minute. e. The Client will print "Joined network "client/server"" and "Bound to {SERVER_IP_ADDRESS}". 3. Client will begin to send reporting data to Server. 4. Server will print out the received data from Client.
Zigbee & Thread Knowledge Base
Missing files preventing NCP project Generation in ZNET 5.8.x
Simplicity Commander
Linux libraries required for building host applications
Make customized Thread xNCP images for EFR32MG parts
Migrating your EmberZNet project to a new stack version
Connecting to ISA3 using Tera Term
In the following Knowledge Base Article, available ports are listed for the ISA3 debug adapter. These ports can be connected to using telnet software.
"What TCP/UDP ports are required for the Ember Debug Adapter to operate with Ember Desktop?"
This article covers a quick connection to the virtual UART (Port 4900) of the EM35xx chip. More information can be found in document UG110: EM35x Development Kit User Guide, Section 6.6 "Using the Serial Ports". These were the steps used with Tera Term, but other telnet software should work:
1. In Tera Term, go to Setup -> TCP/IP.
2. Add Host IP for ISA3 (for example: 192.168.1.100)
3. Set Port#: 4900
4. Click OK
5. Go to File -> New connection and select TCP/IP.
6. Select Host: 192.169.1.100
7. Change Service to Telnet
8. Change TCP port# to 4900
9. Click OK
10. Press Enter. This should give you a prompt ">"
11.Go to Setup -> Terminal and turn on Local Echo
Building a Thread Router Eligible End Device Application Part 3.
Building a Thread Router Eligible End Device Application Part 2.
Building a Thread Router Eligible End Device Application Part 1.
We recommend using the updated article for Silicon Labs Thread v2.5.0.
A step-by-step guide to creating, building, and running your own Router Eligible End Device (REED) application based on the Silicon Labs Thread stack. Before tackling this tutorial, please checkout "Building Silicon Labs Thread Sample Applications" tutorial first.
This tutorial is part of a three part series:
Building a Thread Router Eligible End Device Application Part 1.
Building a Thread Router Eligible End Device Application Part 2.
Building a Thread Router Eligible End Device Application Part 3.
Requirements:
Software:
- Simplicity Studio v4
- Silicon Labs Thread Stack 2.0.0
- IAR Workbench 7.30
Hardware:
- EFR32MG Wireless Starter Kit (WSTK)
I. Launch Simplicity Studio and start a blank application
1. Make sure at least two nodes are present with EFR32s under Devices.
2. Go to File -> New -> Silicon Labs AppBuilder Project.
3. Check on "Start with a blank application". Click Next.
4. Name your project. For example ThreadReed200EFR32.
5. In next window (Project Setup), check if Simplicity Studio detected correct board, part, and toolchain. In this example we're using BRD4153A, EFR32MG1P132F256GM48, and IAR ARM 7.30.
II. Configuring REED
1. Under the "General" tab:
a. Update the "Device name" to project's name (ie ThreadReed200EFR32).
b. Open "Device type" dialog:
i. Select EFR32 and add device to "Selected devices and plugins".
ii. Select SoC and add device to "Selected devices and plugins".
iii. Select Router and add device to "Selected devices and plugins".
iv. Close dialog by clicking OK.
2. Under the "HAL" tab:
a. Set Bootloader to Application type.
b. Set the Application serial port to USART0 (Port 1).
c. Check "USART0 (port 1)" box. This will be our communication line to the chip.
3. Under the "Printing" tab:
a. Make sure "Enable debug printing" is checked.
b. Make sure under functional area Core and Application are checked in both "Compiled in" and Enabled at startup".
4. Under the "Plugins" tab:
a. Add CoAP Debug under the Common section. This will give us CoAP debug output in the console.
b. Add ICMP Debug under the Common section. This will give us ICMP debug output in the console.
5. Under the "Callbacks" tab:
a. Select emberFormNetworkReturn - check "Is Used"; Stub should be check automatically.
b. Select emberJoinNetworkReturn.
c. Select emberResumeNetworkReturn.
d. Select emberResetNetworkStateReturn.
6. Under the "Other" tab, we do not have anything to add.
7. Click "Generate". Notice project appeared in Project Explorer. Click OK.
8. Save ISC file by going to File -> Save.
III. Add Code and Build Projects
1. Go to Simplicity IDE perspective. In Project Exploror, expand your Reed project.
2. Add the following code to thread-callbacks.c file. The functions should already be available after generating the project through AppBuilder. This will give us some useful output in the command line.
3. Compile your project by right-clicking on project name and using "Build project" option.
4. Make sure your build is successful and the compiled binary is located in project directory tree under "IAR ARM - Debug" folder.
IV. Load Application and Bootloader to EFR32MG module on WSTK
1. As described in "Building Thread Sample Applications" section 7. Load the Reed application and booltoader to two available devices.
V. Adding nodes to a network using pre-commissioning
1. In Network Analyzer perspective, in the Devices view, right-click on a node and select "Connect" then right-click again and select "Launch Console".
a. Navigate to "Serial 1" tab and press the return key a few times to get a prompt.
b. Find out the state of your device using the "Info" command. The output should output network status of 0x00 (EMBER_NO_NETWORK).
c. If your device has an ip address, reset the network parameters by issuing the command:
2. For the first device on the network we will need to form the network
a. Set the master key issuing command:
b. Set network parameters for the network using network-management form <channel:1> <power:1> <node type:1> [<network id:0--16> [<ula prefix>]
c. Check network status using the info command. Network status should be 0x03 (EMBER_JOINED_NETWORK_ATTACHED).
3. For the second node (or any node after)
a. In the "Serial 1" console make sure the node is not already in a network.
b. Set Commissioning information for the device. Note the PAN ID, Extended PAN ID, and Network ID are set by the Leader (our first node on the network). Use the info command on the Leader node to get proper parameters for the network. Using network-management commission <preferred channel:1> <power:1> <network id:0--16> <ula prefix> <extended pan id:8> <key:16> <pan id:2>
4. Join the pre-commissioned device to the network.
a. Use the command network-management join-commissioned <power:1> <node type:1> [<require connectivity:1>]
5. Check the status of the node by using the info command. Network status should be 0x03 (EMBER_JOINED_NETWORK_ATTACHED).
VI. Sending Messages
1. In the Console ping one of the devices in the network, for example ping the Leader's IP address using icmp ping <destination>
2. In the Console send a CoAP POST message using coap post <destination> <uri> <body>
Building Silicon Labs Thread Sample Applications