Setting Persistent Parameters During Commissioning and Manufacturing

SmartMesh IP mote software contains both CLI (human interaction) and API (programmatic machine interaction) commands for configuring persistent parameters that may be unique per mote. Typically, these would be set during manufacturing, or in the field in a commissioning installation step.

There are commands for setting/getting:

  • Network ID
  • Join key (set only)
  • Join duty cycle
  • MAC address (can be used in place of the hardware serial number)
  • Power source info
  • Routing mode
  • Transmit power
  • Advertisement key (allows per-vendor - manufacturing step - or per-installation - commissioning step - advertisement authentication)

The

SmartMesh library

 provides CLI commands for setting/getting all these parameters using the mset command, which is available to any application that exposes the CLI.  However, there is no built-in equivalent API command, so customers wanting to provide programmatic support will need to implement their own.  

The 02-uart sample application serves as a starting point for any such application - it consists of an example mote project and a Python application.  The application presents a human-readable interface on the CLI UART that allows the user to send and receive strings from the Python application via the HDLC-encoded API UART, and vice-versa.  

Encoding of the commands to set parameters is left to the application developer. Some options include:

  • Directly mirror the SmartMesh IP Mote Serial API
  • Tag-Length-Value Tuples
  • Binary encoding of a set of parameters