Versions Compared

Key

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

...

Info

Google IoT Core was retired in the summer of 2023. Clearblade IoT Core provides a drop-in replacement for the MQTT Server endpoint. As a result, Clearblade IoT Core works with Cirrus Link's Google Cloud Injector and the Google Cloud. More information is available here: https://iot.clearblade.com.


Tip

Prior to release 4.0.22, Disk-Backed History stores are located here ~yourIgnitionInstance\user-lib\cls\data\h2

From release 4.0.22, Disk-Backed History store are located here ~yourIgnitionInstance\data\modules\com.cirrus-link\com.cirruslink.injector.google.gateway\h2

From release 4.0.25, the base path for the database location of the Disk-Backed History store is configurable.

  • The default base path for Linux is ~yourIgnitionInstance\data\modules and the database will be included in the Ignition GWBK
  • The default location for Windows Linux is ~yourIgnitionInstance\user-lib\modules and the database will not be included in the Ignition GWBK
  • The database file will be created in this directory under the base path com.cirrus-link\com.cirruslink.injector.google.gateway\h2


The Google Cloud Injector module provides the ability to push Tag data to a Clearblade IoT Core.  The settings configuration for this module are located under the Configure tab of the Ignition Gateway web UI. Once in the configuration section there are four tabs: General, Cloud IoT Core, Sets, and Tag Agents.  Each of these tabs is described in detail in the following sections.

...

  • Port
    • TCP Port number to use. Default is 8883
  • Proxy Type
    • The proxy type if a proxy server is being used. Default is NONE
    • Options are NONE, HTTP, HTTPS
  • Proxy Hostname
    • The Proxy Hostname if a proxy server is being used
  • Proxy Port
    • The Proxy port number if a proxy server is being used
  • Keep Alive
    • The MQTT Keep Alive timeout for the MQTT Connection
  • Max Message Size
    • The maximum message size allowed for an MQTT message before the message will be broken up into smaller messages
  • Max Throughput
    • Maximum throughput per second in bytes. The modules will throttle messages to prevent exceeding this max limit. Default is 524,288
  • Session Expiration
    • The number of minutes before the session token expires. Default is 1440

Advanced Store & ForwardImage Removed

  • H2 Database Directory - added in 4.0.25
    • Directory to store the H2 Database in. Applicable for Disk-backed history store only
    • The default base path for Linux is ~yourIgnitionInstance\data\modules and the database will be included in the Ignition GWBK
    • The default location for Windows Linux is ~yourIgnitionInstance\user-lib\modules and the database will not be included in the Ignition GWBK
    • The database file will be created in this directory under the base path com.cirrus-link\com.cirruslink.injector.google.gateway\h2
  • H2 Database Port
    • TCP Port to connect to H2 Database for Disk_Backed Store & Forward


Clicking on the "Create new Cloud IoT Core Setting..." link will bring up the following form for adding a new Clearblade IoT Core endpoint.

...

Image Added

Sets

The Sets tab contains a list of Google Cloud Sets.  Each set represents a grouping of Clearblade IoT Core endpoints.  When a set is referenced by a Tag Agent the Agent will push Tag data to all Clearblade IoT Core endpoints contained within that Set. The Sets are disjoint, meaning that a single Clearblade IoT Core endpoint cannot be in more than one set.  Out of the box the Google Cloud Injector module will have one "Default" set defined.

...

Clicking on the 'Create new Google Cloud Set...' link will bring up the following form to add a new Set.

Image Modified

Tag Agents

Tag Agents are the workers within Google Cloud Injector that monitor tag events, convert them to a JSON representation, and push them to one or more Clearblade IoT Core endpoints. Out of the box the Google Cloud Injector module will have one "default" Tag Agent defined.

...

Tag Agents are configured to point to a single folder.  All Tags within that folder will be monitored by the Tag Agent.

Clicking on the 'Create new Tag Agent Settings..' link will bring up the following form to add a new Tag Agent. 

Agent Settings

Image Added

  • Name
    • A unique name for the tag agent.
  • Enabled
    • Sets whether the Tag Agent is enabled or disabled.  If disabled, the Tag Agent will not run and no data will be pushed to any configured endpoints.
  • Tag Provider Name
    • The name of the Tag provider containing the tags.
  • Tag Path
    • An optional folder path under the Tag provider where the root folder of the Tags can be found.
  • Push Trigger
    • Defines what triggers a push to the cloud endpointThe trigger to use when pushing data.
        • EVENT_DRIVEN (default)
        means to push on change events. PERIODIC means to push all data on a periodic basis.
        • - when a tag change event occurs, and no pending push exists, tag events will be aggregated for the 'Tag Pacing Period' before being pushed
        • PERIODIC - will push data for all tags associated with the Agent every 'Tag Pacing Period'
          • With this option, only one event per tag will be sent - this may result in data loss if tags are changing more frequently than the 'tag pacing period'
        • HYBRID - will push change events as EVENT_DRIVEN but will also push non changed events on the same tag pacing period.
      • Review How the MQTT Injector Push Trigger affects data published for examples
    • Tag Pacing Period
      • The buffer period, in milliseconds, that Tag events will be aggregated into a single payload before pushing.
    •  Convert UDTs
      • Whether to convert UDT members to normal Tags before publishing.  If enabled the Tags representing the UDT member will retain their member path prefixed by the UDT Instance name.
      • Publish UDT Definitions
        • This can only be set if 'Convert UDTs' is false  
        • Whether or not to push the UDT Definitions in the the NBIRTH messages
      • Optimize UDTs
        • This can only be set if 'Convert UDTs' is false
        • Whether or not to 'convert UDTs' only for DATA messages.
    • Set
      • The Set of Clearblade IoT Core endpoints that the Tag Agent will push to.

    Sparkplug Settings

    Image Added

    • Group ID
      • An ID representing a logical grouping of MQTT Edge Of Network (EoN) Nodes and Devices into the infrastructure.
    • Edge Node ID
      • An ID that uniquely identifies the MQTT Edge Of Network (EoN) Node within the infrastructure.
    • Device ID
      • An optional ID that uniquely identifies a Device within the infrastructure.

    The Sparkplug settings are optional and allow for an additional customization of how the Tag Agent scans and discovers tag within the specified Tag Path.  Here is a brief description of how the Agent scans/discovers folders based on the different combinations of potential Sparkplug Settings.

    • If all three IDs are left blank the Agent will assume the following folder structures follow the Tag Path:
      • <groupFolder>/<edgeNodeFolder>/<deviceFolder>/<tags>
      • <groupFolder>/<edgeNodeFolder>/<tags>
    • If only the Group ID is specified the Agent will assume the following folder structure follows the Tag Path:
      • <edgeNodeFolder>/<deviceFolder>/<tags>
      • <edgeNodeFolder>/<tags>
    • If the Group ID and the Edge Node ID are specified the Agent will assume the following folder structure follows the Tag Path:
      • <deviceFolder>/<tags>
      • <tags>
    • If the Group ID, Edge Node ID, and the Device ID are specified the Agent will assume the following folder structure follows the Tag Path:
      • <tags>

    As you can see, the Sparkplug settings can be defined by setting these IDs in this configuration page, or leave them blank so that the Agent will scan and discover them based on the tag tree layout.

    .

    Tip
    For more information see the Cloud Injector Tag Agents and Tag Trees tutorial.

    Advanced

    Image Added

    • Send All Properties - added in 4.0.25
      • Send all properties, including default properties, in Sparkplug BIRTH messages
    • Include Info & Control Folders - added in 4.0.30
      • Push all Node and Device Info and Control folder tags from MQTT Engine

    ...

    • Filtered Properties
      • A semicolon delimited list of Tag properties to filter/block from being published.  These should typically not be modified unless there is an explicit requirement that a specific property is needed to be added or removed from the default.

    ...

      • .

    ...

    Image Removed

    ...