IoT Platform Integration

YuDash LYNX IoT platform Integration Guide is now moved

The IoT platform Integration Guide is now moved within YuDash Documentation portal.  

YuDash LYNX IoT platform Integration

YuDash IoT gateways (LYNX and ZENYX) can be easily integrated with any IoT platform on cloud. It can be integrated with on-premise server. This is enabled by flexible, no-code features:

Following are main steps to connect to external IoT platform:

1) Selection of Cloud Protocol  

2) IoT platform server details and credentials under Custom Cloud Server Settings in LYNX.

3) Payload Configuration: 

1) Selection of Cloud Server in LYNX

By default, YuDash LYNX is configured to connect to YuDash cloud. This is subject to purchase of YuDash cloud or YuReCon subscription.  In such cases, "Use YuDash Cloud " is check marked. In this case, all custom cloud settings are ignored. LYNX will attempt to connect pre-configured device credentials on YuDash Cloud. For using external cloud (or on-premise) server, the applicable cloud protocol has been selected.

1) Selection of Cloud Protocol


2) MQTT Broker Configuration in LYNX

MQTT is a popular, lightweight cloud protocol used in IoT. Following are settings in LYNX to configure connection to MQTT server:

Actual usage details are covered in integration guide with popular IoT platforms in subsequent section.

3) HTTP Server Configuration in LYNX

HTTP is a defacto TCP/IP protocol for cloud communication. YuDash LYNX supports POST REST API for sending data to HTTP Server. Both HTTP and HTTPS versions are supported. The HTTP headers can be configured to support  various authentication types. 

Following are settings in LYNX to configure connection to MQTT server:

Actual usage details are covered in integration guide with popular IoT platforms in subsequent section.

4) Payload Configuration in LYNX

HTTP/MQTT configuration defines the credentials and API to connect to server. Next step is to define the format in which process data will be sent to cloud.

JSON is a popular format for data exchange on cloud. LYNX supports JSON and TEXT formats to send data to cloud servers. LYNX has pre-configured JSON templates to suite popular IoT platforms. In some cases, TEXT payload over MQTT is also popular. For this, we have inbuilt YuDash Text Generator.  

4.1) Payload Components 

In principal, following are main information components that are packaged in payload:

4.1.1) Process Data 

 4.1.2) Device Headers/Identifiers

4.1.3) Time Stamp Information

4.1.4) Payload JSON Keys 

4.2) JSON Payload formats in LYNX

LYNX supports following JSON payload formats of payload. Each format has unique number (starting with 10).  

We explain each JSON format with an example of energy monitoring:

1) JSON_Format_10

Data Payload

{

  "volt1_in": 237.67,

  "freq_in": 49.98,

  "kwhr_in": 1792.17

}

Status Variable Payload:

{

  "status_var1":"LYNX rebooted. count=7700. reason=0"

}

2) JSON_FORMAT_11 

Data Payload

{

  "volt1_in": {

    "value": 244.4

  },

  "freq_in": {

    "value": 50

  },

  "kwhr_in": {

    "value": 1792.17

  }

}

3) JSON_FORMAT_12

Data Payload

[

  {

    "field": "volt1_in",

    "value": 242.34

  },

  {

    "field": "freq_in",

    "value": 49.92

  },

  {

    "field": "kwhr_in",

    "value": 1792.17

  }

]

Status Variable Payload:

[

  {

    "field": "status_var1",

    "value": "status: RSS: -60 db, wifi_name: ***, wifi_ip:***"

  }

]

4) JSON_FORMAT_13

Data Payload

{

  "data": {

    "volt1_in": 241.65,

    "freq_in": 49.99,

    "kwhr_in": 1792.17

  }

}

Status Variable Payload:

{

  "data": {

    "status_var1": "status: RSS: -62 db, wifi_name: ***, wifi_ip:###"

  }

}

4.3) TimeStamp formats in LYNX

LYNX supports following timestamp formats to send to cloud server when timestamp has been enabled. 

The time displayed on YuDash LYNX is local time (based on time-zone provided). In most cases, it is advised to store/send UTC time stamps. 

Following are UTC time stamps options:

Time Stamp Format                 Sample Time-Stamp Value

TS_50 (UTC Seconds)               1675630526

TS_51 (UTC MilliSeconds)          1675630526000

TS_52 (UTC YYYY-MM-DDTHH:MM:SS)   2023-02-05T20:55:26Z

TS_53 (UTC YYYY-MM-DD HH:MM:SS)   2023-02-05 20:55:26   

Local time stamps, similar to above are supported as below:

TS_60 (LocalTime Seconds)

TS_61 (LocalTime MilliSeconds)

TS_62 (LocalTime YYYY-MM-DDTHH:MM:SS)

TS_63 (LocalTime YYYY-MM-DD HH:MM:SS)


The time stamp are sent along with Time Stamp Key (tsKey). They are grouped in within json format depending on JSON_FORMAT_. The timestamp key is set as timestamp in all examples. Typically, based on server requirement timestamp, ts or time keywords are used.

1) JSON_FORMAT_10,  TS_50

{

  "volt1_in": 247.55,

  "freq_in": 49.94,

  "kwhr_in": 1792.17,

  "timestamp": "1675630887"

}

2) JSON_FORMAT_11,  TS_51

{

  "volt1_in": {

    "value": 244.15,

    "timestamp": "1675611242000"

  },

  "freq_in": {

    "value": 49.84,

    "timestamp": "1675611242000"

  },

  "kwhr_in": {

    "value": 1792.17,

    "timestamp": "1675611242000"

  }

}

3) JSON_FORMAT_12,  TS_52

[

  {

    "data": "volt1_in",

    "value": 249.97,

    "timestamp": "2023-02-05T15:36:42Z"

  },

  {

    "data": "freq_in",

    "value": 49.89,

    "timestamp": "2023-02-05T15:36:42Z"

  },

  {

    "data": "kwhr_in",

    "value": 1792.17,

    "timestamp": "2023-02-05T15:36:42Z"

  }

]

4) JSON_FORMAT_10,  TS_53


{

  "volt1_in": 251.51,

  "freq_in": 50.01,

  "kwhr_in": 1792.17,

  "timestamp": "2023-02-05 15:41:42"

}

4.4) TEXT formats supported in LYNX

LYNX is powered with YuDash Text Generator engine. We can generate any kind of text string containing variables, measurements.

User need to select TEXT_FORMAT_20 to enable this feature.