Acme Smart Plant
This example is the plant floor. It does not include fab vision. Vision is Edge AI wafer defect.
Four machines (M001 through M004) publish telemetry on site-a. Operators on ops-b see fleet charts, live alerts, and an event journal. When a fault is open, the dashboard calls diagnostic-service on site-a through the Router.
Default Edgelet node names are site-a and ops-b. You can change agent.name.
Service images are ghcr.io/datasance/pot-edge-patterns/<service>:1.2.0. Use that tag for every service in this example.
Manifests are in pot-edge-patterns under deploy/steps/. Deploy from that repo root:
potctl deploy -f deploy/steps/<file>.yaml
Topology
NATS subjects
| Subject | Path |
|---|---|
telemetry.machine.> | sensor-simulator to smart-anomaly-detector, then exported for fleet charts |
notify.alerts.> | Live alerts from the detector to the dashboard |
journal.events.> | The same alert kept in JetStream stream JOURNAL_PRODUCTION |
The plant account exports those three trees. The operations account imports them. Raw telemetry stays in the plant account until that export exists.
Flow
| Page | Reader does | Already in place |
|---|---|---|
| Plant user rules | User rules for the plant microservices | Nodes site-a and ops-b |
| Account export | Export rule on production-monitoring | |
| Production monitoring | Application on site-a | User rules and the export rule |
| Account public key | get nats-accounts, copy the id | The production-monitoring application, so the account exists |
| Account import | Import rule on operations-center | The copied account id |
| Diagnostic service | kind: Service | diagnostic-service is deployed |
| Diagnostic bridge port | describe service, copy bridgePort | The diagnostic service |
| Operations center | Application on ops-b | The import rule and the bridge port (DIAGNOSTIC_URL) |
| Alert dashboard service | kind: Service for the dashboard | alert-dashboard is deployed |
| Fab gallery link | Optional. Set SNAPSHOT_URL on alert-dashboard | Wafer snapshot service is deployed and you have its bridge port |
Values you copy
| Placeholder | Where you get it |
|---|---|
<production-monitoring-account-id> | get nats-accounts after production monitoring is deployed |
<diagnostic-bridge-port> | describe service diagnostic-service |
<dashboard-bridge-port> | describe service alert-dashboard |
<snapshot-bridge-port> | describe service snapshot-service, only for the optional gallery link |
You need a control plane on v3.9.0, potctl v3.9.0, and Edgelet nodes site-a and ops-b. Quick start or platform deployment covers that setup.