Skip to content

How to Use CommsChampion Tools

Alex Robenko edited this page Feb 9, 2017 · 24 revisions

PLUGINS

The CommsChampion Tools are there to provide consistent environment for binary protocols visualisation, traffic monitor and analysis. They are all plugin based. Plugins are used to select I/O socket, protocol definition itself as well as zero or more data filters in between.

image: plugins

The "socket" and "protocol" plugins are "must have" ones, without them the tools won't be able to operate properly. The "filters", on the other hand, are optional. They need to be used when there are any additional transport layers between the raw data received by the I/O socket and the data delivered to the analysed communication protocol for processing. Good example would be analysing custom protocol, when messages are delivered using MQTT-SN transport protocol over UDP/IP socket. The plugins configuration would look like this:

image: mqttsn plugins

The filters may modify the incoming data prior to reporting the result to the following filter or protocol itself, or drop the data altogether when its irrelevant to the other filters or protocol itself. The filters are also allowed to generate data regardless of any protocol activity.

The "mqttsn filter" plugin from the example above is responsible to manage the whole underlying MQTT-SN protocol communication while forwarding only received "protocol" relevant data. When the "protocol" plugin generates data to be sent, the "mqttsn filter" wraps it in its internal PUBLISH message and forwards the result to the socket to be delivered over the I/O link.

CC_VIEW

The main application of the provided CommsChampion Tools is called cc_view. It is a GUI application, which allows visual analysis of the exchanged messages. When the application is started, the only available button is in the top left corner. It must be used to select plugins to load:

image: select plugins

When clicked the plugin selection dialog pops up. The left side contains available plugins. They are split by their types: "sockets" are at the top, "protocols" are at the bottom and "filters" are in the middle. Selection of the plugin is performed via double-click on it.

image: available plugins

When plugin is selected it appears at the top right area.

image: selected plugins

Once selected, it becomes possible to configure the plugin if needed.

image: selected plugins

The save/load of the plugins with their configuration is also available.

image: selected plugins

When both necessary "socket" and "protocol" are selected, the "Apply" button at the bottom right becomes available. When clicked the selected plugins will be applied and rest of the buttons become available.

image: selected plugins

Depending on the socket type, the connection to the server / device may be required. It is performed by clicking to the button at the top left corner.

The top left area is used to display all the messages that have been sent or received. The button allows reception of the incoming messages. The "toggle" buttons to the right () allow control of what kind of messages to display. They allow to enable / disable display of received and sent messages as well as display of detected garbage input.

image: messages all

Clone this wiki locally