ConsoleFlow Client

The ConsoleFlow platform allows for remote management of Lantronix gateways and OEM devices using the installed ConsoleFlow client and ConsoleFlow serial APIs. The ConsoleFlow client connects the gateway with the ConsoleFlow management server and can be easily configured using the Web Manager or via the CLI. Developers can use the ConsoleFlow serial APIs to send and receive data on the serial line.

You can use the SDK to implement a line protocol to interpret data received on the line in terms of ConsoleFlow Serial API commands. For SDK information, contact Lantronix Sales and FAE.

To access the ConsoleFlow Serial API over the serial Line, configure the Line operating mode to "ConsoleFlow Interface". This line mode provides a command interface to the ConsoleFlow serial API.

The installed ConsoleFlow client contains settings to connect the gateway with the ConsoleFlow cloud. To use the ConsoleFlow client, the ConsoleFlow settings must be configured on the gateway. See ConsoleFlow Device Configuration and ConsoleFlow Line Configuration.

ConsoleFlow Serial API

The following commands are accessible through the ConsoleFlow Serial API.

Command Description Gateway Action
consoleflow_getsettings This command sends a request to the Lantronix gateway to read the device's configuration settings. The gateway reads the configuration for the serial device.
consoleflow_register<payload> This command registers the device with the ConsoleFlow server. You need to register the device and obtain the device authentication token before you can execute other device API calls. The gateway sends the request to register the device through the REST APIs. The gateway receives the response and parses and keeps a copy of the auth_token for subsequent commands.
consoleflow_status<auth_token>,<payload> This command sends the current device status to ConsoleFlow. Use this command to send device attributes for the capabilities that the device supports. Send the status update using the REST API.
consoleflow_update<auth_token>,<payload> This command sends a request to check for all available firmware or configuration updates for the device. The response returns details about the available update. Send the request to check for an update through the REST API.
consoleflow_download<auth_token>,<payload> Send a request to download the content file to the device. The request parameter includes the file info returned from ConsoleFlow in the consoleflow_update command. Send the request to download the content through the REST APIs.
consoleflow_capability_exchange<auth_token>,<telemetry_host>,<payload> This command exchanges the capabilities of a device to ConsoleFlow. The gateway exchanges the capabilities of a device with ConsoleFlow through REST API.
consoleflow_capability_selection<auth_token>,<telemetry_host>,<payload> This command sends the capability selection of a device to ConsoleFlow. The gateway sends the capability selection of a device to ConsoleFlow through REST API.
consoleflow_telemetry_publish<auth_token>,<telemetry_host>,<payload> This command publishes the status of the groups or attributes of a device to ConsoleFlow. The gateway publishes the attributes' values to ConsoleFlow through REST API.

Accessing the serial API over the serial line

To access the serial API over the serial line using the ConsoleFlow Interface:

This tutorial describes how to access the serial API over the serial line and send a command.

  1. Set Line 1 Protocol to ConsoleFlow Interface.
  2. Set ConsoleFlow Line 1 Configuration to Enabled and enter the Project Tag.
  3. Use a terminal emulator (e.g. Tera Term) to connect the gateway.
  4. Send the following API command: consoleflow_getsettings. The API responds with the ConsoleFlow settings, similar to:
{"project_tag":"MYSTQ_PT_778edaba-e7d5-4b5f-942d-0ef8f760f9cc",
"status_update_interval":"10",
"content_check_interval":"24"}

To access the serial API over the serial line using Mux commands:

This tutorial describes how to access the serial API over the serial line and send a command using Mux. See the Mux Reference for more detailed information about Mux commands and responses.

  1. Set Line 1 Protocol to Mux.
  2. Set Line Virtual_1 Protocol to ConsoleFlow Interface.
  3. Set ConsoleFlow Line Virtual_1 Configuration to Enabled and enter the Project Tag.
  4. Use a terminal emulator (e.g. Tera Term) to connect the gateway.
  5. Send the following API commands:
    1. 1v1. The API responds with K, indicating success.
    2. 1sb~. The API responds with 500K, indicating number of bytes allowed and success.
    3. consoleflow_getsettings~. The API responds with K, indicating success.
    4. 1p. The API responds with K, indicating success.
    5. 1rb~2000. The API responds with the ConsoleFlow settings, similar to:
{"project_tag":"MYSTQ_PT_778edaba-e7d5-4b5f-942d-0ef8f760f9cc",
"status_update_interval":"10",
"content_check_interval":"24"}

Log in to ConsoleFlow and click Help for more information about using the ConsoleFlow Serial API.

ConsoleFlow Device Status

ConsoleFlow Device Status settings display details about the status of the ConsoleFlow client activity with the ConsoleFlow platform. Status details include when the device status was updated on the platform, when the client last checked for configuration and firmware updates, and what updates are available. If ConsoleFlow has not yet been configured with the platform, the status displays an error state.

To view ConsoleFlow device status:

  • In the Web Manager, go to ConsoleFlow > Device > Status.
  • In the CLI, use Status ConsoleFlow level to show the current status. See Status ConsoleFlow level.
  • The XML statusgroup ConsoleFlow will display the state and available update status items. (In the CLI, issue xsr dump ConsoleFlow from the xml level.)

ConsoleFlow Device Configuration

ConsoleFlow Device Configuration settings allow you to configure the ConsoleFlow client to associate with the ConsoleFlow platform. These include how often the client sends status updates to the cloud, how often the client checks for content updates from the cloud, settings for firmware and configuration updates, device and server settings, as well as local port settings to use if bridging is enabled on the gateway.

To configure ConsoleFlow Device settings:

ConsoleFlow Device Configuration Settings

Setting Description
State Operational state of the ConsoleFlow client on the device. May be Enabled or Disabled.
Status Update Interval The frequency that ConsoleFlow updates device status to the cloud. Units can be minutes, hours, or days. The valid range is between 1 minute and 1 day (1440 minutes).
Content Check Interval The frequency that ConsoleFlow checks the cloud for updates to configuration or firmware. Units can be minutes, hours, or days. The valid range is between 1 minute and 1 day (1440 minutes).
Apply Firmware Updates Allow firmware updates. May be Enabled or Disabled.
Apply Configuration Updates Setting to indicate when to apply configuration updates. Options are Never, If Unchanged, or Always. If Unchanged means that configuration updates will only be applied if the current configuration has not been modified locally.
Reboot After Configuration Update Setting to reboot the gateway after a configuration update. May be Enabled or Disabled. The device will always reboot after a firmware upgrade.
Device Name Device name may contain up to 63 characters.
Device Description Description may contain up to 63 characters.
Additional Logging Provide additional information in the Trouble Log. May be Enabled or Disabled.
Active Connection Specifies which connection parameters will be used in communication with the cloud. May be 1 or 2.
Connection 1 Parameters used in the first connection. When Edit is clicked, the following settings for Connection 1 appear: Domain, Local Port, MQTT State, MQTT Domain, MQTT Local Port. See below for more information on these fields.
Connection 2 Parameters used in the second connection. When Edit is clicked, the following settings for Connection 1 appear: Domain, Local Port, MQTT State, MQTT Domain, MQTT Local Port. See below for more information on these fields.
Domain Visible only when Connection 1 > Edit or Connection 2 > Edit is clicked. Domain may contain up to 63 characters. You should not change this value unless instructed to do so.
Local Port Visible only when Connection 1 > Edit or Connection 2 > Edit is clicked. Enter a specific port to receive forwarded packets. By default, the local port is random. To reset to random, blank the value in the field. If bridging is enabled, you must enter a non-random value for ConsoleFlow to work properly.
MQTT State Visible only when Connection 1 > Edit or Connection 2 > Edit is clicked. Enables or disables MQTT to communicate with the cloud. May be Enabled or Disabled.
MQTT Domain Visible only when Connection 1 > Edit or Connection 2 > Edit is clicked. MQTT domain name. May contain up to 63 characters.
MQTT Local Port Visible only when Connection 1 > Edit or Connection 2 > Edit is clicked. Enter a specific port to receive forwarded packets. By default, the local port is random. To reset to random, blank the value in the field. If bridging is enabled, you must enter a non-random value for ConsoleFlow to work properly.

ConsoleFlow Line Configuration

ConsoleFlow Line 1, Line Virtual_1, and Line Virtual_2 configuration settings pertain to the ConsoleFlow platform. Configure one of these lines to send serial API commands over the serial line (Line 1 or virtual lines).

To configure ConsoleFlow Line settings:

ConsoleFlow Line Configuration Settings

Setting Description
State Operational state of ConsoleFlow. May be Enabled or Disabled.
Project Tag Project tag identifies the name of the ConsoleFlow cloud project that the device belongs to. May contain up to 63 characters.
Status Update Interval The frequency that ConsoleFlow updates device status to the cloud. Units can be minutes, hours, or days. The valid range is between 1 minute and 1 day (1440 minutes).
Content Check Interval The frequency that ConsoleFlow checks the cloud for updates to configuration or firmware. Units can be minutes, hours, or days. The valid range is between 1 minute and 1 day (1440 minutes).