Skip to content

Metadata

Thomas Hirsch edited this page Mar 2, 2017 · 6 revisions

Table of Contents

Connecting

Use [this] to connect to tcp://172.17.0.1:5556 on the node.

Metadata format

Each message sent over the ZMQ bus consists of a topic and a corresponding message identified by the DataId (+ DataVersion).

Example:

MONROE.META.NODE.SENSOR.cpu
{
    "user":"66341484",
    "nice":"31318",
    "system":"30287411",
    "idle":"333730044",
    "iowait":"7987339",
    "irq":"0",
    "softirq":"994583",
    "steal":"0",
    "guest":"0",
    "SequenceNumber":1009,
    "Timestamp":1471338420,
    "DataVersion":1,
    "DataId":"MONROE.META.NODE.SENSOR"
}
The suffix of the topic is typically included as a field within the message. Topic is used for ZMQ subscriber filtering, while DataId (+ DataVersion) is used for database mapping and data grouping. The message stored in the database is identical to the ZMQ message (the topic is not stored in the database).
Mandatory fields
  * The common fields: '''NodeId''', '''Timestamp''', '''DataId''', '''DataVersion''', '''SequenceNumber'''

The following tables describe an overview of the dataformat (DataId+DataVersion) of each message and the corresponding topic names. Each Topic name and Data ID begin with MONROE.META but is in the following tables, for brevity, replaced with a *.

Versions and changes
  * DataVersion 1: Initial release
  * DataVersion 2: Timestamp is changed from an integer (seconds) to a decimal number (microsecond precision). In the core tools, it is no longer the time of the event as reported by the hardware, but the time of the export by the metadata exporter.

Current Data Format and Topics

This table describes the currently distributed information via the ZMQ bus and stored in the database.

(* = MONROE.META)

See also: https:github.com/MONROE-PROJECT/data-exporter

Topic DataId DataVersion Data Fields Description/Further Information
  • .CONNECTIVITY.iccid
  • .CONNECTIVITY
1 ICCID, InterfaceName, MCCMNC, Mode, RSSI Interface connections events IP
  • .DEVICE.MODEM.iccid.UPDATE
  • .DEVICE.MODEM
1 CID, DeviceMode, DeviceSubmode, DeviceState, ECIO, ENODEBID, ICCID, InterfaceName, InternalInterface, IMSI, IMSIMCCMNC, IMEI, IPAddress, InternalIPAddress, Operator, LAC, RSRP, Frequency, RSRQ, Band, PCI, NWMCCMNC, RSCP, RSSI
  • .DEVICE.MODEM.iccid.MODE
  • .DEVICE.MODEM
1 idem
  • .DEVICE.MODEM.iccid.SIGNAL
  • .DEVICE.MODEM
1 idem
  • .DEVICE.MODEM.iccid.LTEBAND
  • .DEVICE.MODEM
1 idem
  • .DEVICE.MODEM.iccid.ISPNAME
  • .DEVICE.MODEM
1 idem
  • .DEVICE.MODEM.iccid.IPADDR
  • .DEVICE.MODEM
1 idem
  • .DEVICE.MODEM.iccid.LOCCHANGE
  • .DEVICE.MODEM
1 idem
  • .DEVICE.MODEM.iccid.NWMCCMNCCHANGE
  • .DEVICE.MODEM
1 idem
  • .DEVICE.GPS
  • .DEVICE.GPS
1 "Longitude": longitude position of the node,
"Latitude": latitude position of the node,
"Altitude": Altitude of the node,
"SatelliteCount": Number of Satellites used for reading the position,
"SequenceNumber": sequence nr from core component,
"NMEA": raw nmea string as received form the gps unit,
"Timestamp": timestamp when values where logged by core component
  • .NODE.SENSOR.sensor_name
  • .NODE.SENSOR.sensor_name
1 see sensor data E.g. temp sensor update, input voltage, current power draw, (what's available), running experiments, quotas
  • .NODE.EVENT
  • .NODE.EVENT
1 see node events Power up etc event.
Clone this wiki locally