udmi

UDMI / Docs / Specs / Tech Stack

UDMI Technology Stack

The complete UDMI specification (super set of the base schema), specifies a complete technology stack for compliant IoT devices.

Core Requirements

MQTT Topic Suffix Table

Type Category subFolder MQTT Topic Suffix Schema File
state state n/a {topic_prefix}/state state.json
config config n/a {topic_prefix}/config config.json
pointset event pointset {topic_prefix}/events/pointset pointset.json
system event system {topic_prefix}/events/system system.json

For GCP implementations the full topic would be /devices/{device_id}/{suffix}

Backend Systems

Any backend system (in a GCP project) should adhere to the following guidelines:

A config push can be tested with something like:

gcloud pubsub topics publish target \
    --attribute subFolder=config,deviceId=AHU-1,projectId=bos-daq-testing,cloudRegion=us-central1,deviceRegistryId=registrar_test \
    --message '{"version": 1, "timestamp": "2019-01-17T14:02:29.364Z"}'

The reason for the redirection of any data through a PubSub topic is so that the Cloud IoT registry, if necessary, can be housed in a different cloud project from the backend applications.

Types and Topics

When using the GCP Cloud IoT Core MQTT Bridge there are multiple ways the specific schema used during validation is chosen.