Skip to content
Permalink
main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time

Gunnerus data processing repository

This repository contain code for processing and presenting sensor data from RV Gunnerus

Folders

processes/

Any executable file within here will be run as an unprivileged userr:

  • MQTT data will be piped into STDIN
  • Output on STDOUT will be posted as MQTT data
  • Output on STDERR will be posted as MQTT data with topic gunnerus/STDERR/processes/relative-path-of-your-code

The MQTT data is composed of the topic and message separated by a single space. The topics subscribed to STDIN may be selected by including one or more magic strings like "#[MQTT-SUBSCRIBE:topic]" in the code, typically as a comment or a constant. Default topic is "local/NULL", but may be subject to change.

Please observe the following

  • Select an intuitive names for your processes folder and packages files
  • By convention the messages starts with a timestamp followed by a single space and the payload of the message. The timestamp is UTC, either in unix or ISO-8601 format. The timestamp is recorded as close to the sensors as posible. Please reatin it whenever possible.
  • No binary data or newlines in the messages. Stick to pure ascii.
  • Be spesific on the "#[MQTT-SUBSCRIBE:topic]" to avoid excessive load on the infrastructure.
  • Avoid message loops by posting messages you subscribe to, directly or indirectly.
  • No whitespace in topics, timestamps or code paths.
  • Keep STDERR quiet. Monitor STDERR for your process and resolv any errors/warnings.
  • Be modest. Heavy analysis belongs on dedicated servers.
  • Anything matching topic gunnerus/# will be sendt ashore. Consider the bandwidth.

packages/

Files with package names to install. .pip3 for phyton3 packages, .pkg for apt.

catalog/

Document the data you inject into the stream.

Sensor sources

NTNU-IT collect data from the different sensors. This is delivered ad MQTT in the following way:

Ethernet

Raw ethernet frames in hexidecimal captured on the sensor networks. NB! This cover all data to and from on the interface, including broadcasts, but not communication between other hosts.

  • ethernet/hemos - RR hemos network with the some Modbus and MQTT traffic
  • ethernet/survey - Survey network with several UDP broadcast sources
  • ethernet/olex - link network to the OLEX computer

UDP pacages is reposted with the header expanded into UDP/network/ethsrc/ipsrc/udpspt/ethdst/ipdst/udpdpt by processes/ntnu-it/ethernet2udp.pl

Modbus

The following modbus sources is provided as integers to gunnerus/modbus/source/port/unit/register int:

  • gunnerus/modbus/crane1/502/36/67-72 - Crane data
  • gunnerus/modbus/engines/502/0/0-32 - Engine data

NMEA

NMEA data is found provided as NMEA/host/port:

  • NMEA/192.168.1.122/4001 - Miros Wavesystem