MISC-TN-024: Automated test equipment (ATE) monitoring with SBCSPG gateway and ThingsBoard IoT platform

From DAVE Developer's Wiki
Revision as of 10:22, 14 June 2022 by U0001 (talk | contribs) (Introduction)

Jump to: navigation, search
Info Box
SBCSPG-1.jpg Applies to SBCSPG
Cloud-computing-banner.jpg Applies to IoT
Warning-icon.png This technical note was validated against specific versions of hardware and software. It may not work with other versions. Warning-icon.png


History[edit | edit source]

Version Date Notes
1.0.0 June 2022 First public release

Introduction[edit | edit source]

You can think about this This Technical Note (TN) as an evolution of the article "MISC-TN-021: SBCSPG and ThingsBoard IoT". The use case described here is a real-world application based on the same elements:

The application is to monitor robotized DAVE Embedded Systems' ATEs like the one shown here.

Implementation[edit | edit source]

The implementation is suitable for a production environment. Unlike what we did for this TN, in this case the ThingsBoard IoT platform was installed on the cloud, specifically on a AWS EC2 instance running Ubuntu Linux. The following diagram shows the complete solution.

ThingsBoard IoT configuration[edit | edit source]

TBD

ThingsBoard IoT gateway configuration[edit | edit source]

TBD

armbian@sbcspg:~$ cat /etc/thingsboard-gateway/config/modbus.json
{
    "master": {
      "slaves": [
        {
          "host": "192.168.30.42",
          "port": 502,
          "type": "tcp",
          "method": "socket",
          "timeout": 35,
          "byteOrder": "BIG",
          "retries": true,
          "retryOnEmpty": true,
          "retryOnInvalid": true,
          "pollPeriod": 5000,
          "unitId": 1,
          "deviceName": "UR5",
          "sendDataOnlyOnChange": true,
          "connectAttemptTimeMs": 5000,
          "connectAttemptCount": 5,
          "waitAfterFailedAttemptsMs": 300000,
          "timeseries": [
            {
              "tag": "base_joint_temperature_deg_C",
              "type": "16int",
              "functionCode": 3,
              "objectsCount": 1,
              "address": 300
            },
            {
              "tag": "shoulder_joint_temperature_deg_C",
              "type": "16int",
              "functionCode": 3,
              "objectsCount": 1,
              "address": 301
            },
            {
                "tag": "base_joint_current_mA",
                "type": "16int",
                "functionCode": 3,
                "objectsCount": 1,
                "address": 290
            },
            {
                "tag": "shoulder_joint_current_mA",
                "type": "16int",
                "functionCode": 3,
                "objectsCount": 1,
                "address": 291
            },
            {
                "tag": "elbow_joint_current_mA",
                "type": "16int",
                "functionCode": 3,
                "objectsCount": 1,
                "address": 292
            },
            {
              "tag": "wrist1_joint_current_mA",
              "type": "16int",
              "functionCode": 3,
              "objectsCount": 1,
              "address": 293
            },
            {
                "tag": "wrist2_joint_current_mA",
                "type": "16int",
                "functionCode": 3,
                "objectsCount": 1,
                "address": 294
            },
            {
                "tag": "wrist3_joint_current_mA",
                "type": "16int",
                "functionCode": 3,
                "objectsCount": 1,
                "address": 295
            }
          ]
        }
      ]
    }
  }

Dashboards[edit | edit source]

TBD

this link