UDMI / Docs / Specs / Topology
- local networks: grouped communication patterns for on-prem systems
- family: network property that defines things about the network (e.g. that an address should be of the form XXX.XXX.XXX.XXX)
- properties: parameterization of the network, meanings defined by the network family
- iot devices: devices that have a representation in the cloud model
- networks: optional list of local networks the device connects to
- direct devices: devices that have a direct (e.g.) MQTT connection without an intervening gateway
- credentials: connection parameters for connecting to the intended cloud endpoint
- proxy devices: devices that are proxied through a gateway to connect to the cloud
- gateway: which gateway the device is proxied through
- through: if multiple networks are present, indicates which one is used for proxying
- pointset mapping: how devices represent the mapping from the semantic cloud names to on-prem local network references
- ref: point-to-source mapping, format defined by the network type of the indicated gateway (only for proxy devices)
Example ZZ-ABC-ATL site topology. The solid lines form a communication tree, where there is exactly one path to the root (cloud).
Dashed lines indicate "alternate" connections that might exist due to various on-prem redundancies. Specifically, if a node
is connected to multiple networks there there is one primary connection, and the others would be represented as dotted lines.
%%{wrap}%%
flowchart LR
D2[<u>DEV-02</u><br/>0x827323]
D1[<u>DEV-01</u>]
LG[<u>ALG-01</u><br/>0x712387<br/>plc-master]
D3[<u>DEV-03</u><br/>plc-9<br/>192.168.1.3]
D4[<u>DEV-04</u><br/>0x92a344<br/>192.168.1.2]
IG[<u>GAT-01</u><br/>0xa982b7<br/>192.168.1.1]
BN([<i>bacnet-10</i><br/>0x??????])
MB([<i>modbus-alg-01</i><br/>plc-???])
IP([<i>upnp</i><br/>192.168.x.x])
IN([<i>internet</i>])
CP[<b>Cloud Provider</b><br/>endpoint_url:???<br/>project_id/<i>???</i><br/>registry/<i>ZZ-ABC-ATL</i><br/>device/<i><u>IOT-ID</u></i>]
D2 --> BN
D4 --> IP
D3 -.-> IP
LG --> BN
D4 -.-> BN
D1 --> IN
D3 --> MB
IG --> IN
BN --> IG
IP --> IG
IN --> CP
MB --> LG
The corresponding encoded information provides all the details necessary to define the topology:
- local networks
bacnet-10: familybacnet, network-number10modbus-alg-01: familymodbus, baud9600upnp: familyupnp
- direct devices
DEV-01:GAT-01:- network
bacnet-10: address0xa982b7 - network
upnp: address192.168.1.1
- network
- proxy devices
DEV-02- gateway
GAT-01 - network
bacnet-10: address0x827323
- gateway
DEV-03- gateway
ALG-01(throughmodbus-alg-01) - network
modbus-alg-01: addressplc-9 - network
upnp: address192.168.1.3
- gateway
DEV-04- gateway
GAT-01(throughupnp) - network
bacnet-10: address0x92a344 - network
upnp: address192.168.1.2
- gateway
ALG-01- gateway
GAT-01(throughbacnet-10) - network
bacnet-10: address0x712387 - network
modbus-alg-01: addressplc-master
- gateway
- pointset mapping
DEV-01- points
master_frambibulator
- points
DEV-02- points (meaningful to
GAT-01)abstract_air_handler: refAV10.present_valuefixating_resonant_structure: refBV2.present_value
- points (meaningful to
DEV-03- points (meaningful to
ALG-01)reticulating_reticulator: refreg-10running_rabbit_speed: refreg-21
- points (meaningful to
DEV-04- points (meaningful to
GAT-01)figure_flambing: refpoints.json#.points.figure_flambing.present_value
- points (meaningful to