Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This guide describes how to integrate and send sensor data to twinzo's REST API. twinzo's API enables seamless integration of various sensors for diverse use cases like temperature, humidity, OEE, KPIs, produced pcs, parking slots, and more. By integrating sensors with twinzo, users can create a digital twin of their physical environment, which provides valuable insights into operational efficiency, asset utilization, and productivity.

https://www.youtube.com/watch?v=4yUc4Zf0s0Q

Configuration

To connect sensor values with 3D spaces, visit this course page:

Swagger Sensors Section

Image Removedimage-20240821-062159.pngImage Added

POST endpoints

The Swagger Sensors section provides a detailed description of the API for sensor data. There are two main POST endpoints in the Sensors section:

/sensors/sensor-data

  • Used when the sensor sends data on its own.

  • The sensor uses login/password to obtain an OAuth token, which is then signed.

/sensors/batch

  • Used when the API, middleware, edge computer sends data for multiple sensors.

  • An array of sensors is sent, each identified using Login.

  • A static API key is used for signing.

Info

Twinzo handles both use cases same and unifies features for both methods. Use the method accordingly to your needs and requirements. Every single sensor can group multiple different quantities.

Example

Sensor data send and batch data send are two different ways of transmitting data from sensors to a server or an application.

  • Sensor data send is when each sensor sends its own data independently, without waiting for other sensors or devices.

  • Batch data send is when multiple sensors or devices synchronize their data and send it together, either through an API or an edge device.

info

Twinzo handles both use cases same and unifies features for both methods. Use the method accordingly to your needs and requirements. Each sensor can group multiple different quantities.

Sensor data

Code Block
[
  {
    "Timestamp": 0,
    "Quantity": "string",
    "Value": "string",
    "Unit": "string",
    "DataType": "string",
    "ValueOK": true
  }
]

Batch data

Code Block
[
  {
    "Login": "YourLogin",
    "SensorData": [
      {
        "Timestamp": 1615381099861,
        "Quantity": "Temperature",
        "Value": "10",
        "Unit": "°C",
        "DataType": "Int32",
        "ValueOK": true
      }
    ]
  }
]

PATCH endpoint

Note

PATCH update sensors, do not use for update sensors data! For update data use endpoints descirbet above.

PATCH /sensors/{id}

  • Used to update sensors

Example

  • PATCH Sensors update already exists sensor

PATCH Shifts

Code Block
languagejson
[
  {
    "Title": "New Title"
  }
]

image-20240821-063154.pngImage Added

Data Properties

Data payload JSON object that contains an array of objects. Each object has six properties:

Login

Sensor login field (used as a unique identifier in the batch data POST).

Timestamp

A Unix timestamp in milliseconds that represents the time when the data was collected.

Quantity

A string that represents the quantity of data collected.

Value

A string that represents the value of the data collected.

Unit

A string that represents the unit of measurement for the data collected.

DataType

A string that represents the type of data collected.

ValueOK

A boolean value that indicates whether or not the value of the data collected is valid. If not valid, the sensor will be highlighted in the 3D application.

Data types

The following data types are supported by twinzo's API:

  • Byte, SByte

  • Int32, UInt32, Int16, UInt16, Int64, UInt64

  • Single, Double, Decimal

  • Char, String

  • Boolean

  • DateTime

Infonote

Every value is passed to the JSON object as a string in parenthesis. Twinzo API parses value according to the data type specified. The default data type is String. For example, Boolean and numeric values will look like this:

  • "Value": "true"

  • "Value": "123"