Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Esempi di tipi di componenti
Questo argomento contiene esempi che mostrano come implementare i concetti chiave dei tipi di componenti.
Allarme (astratto)
L'esempio seguente è il tipo di componente di allarme astratto che appare nella AWS IoT TwinMaker console. Contiene un functions
elenco composto da un dataReader
che non ha implementedBy
valore.
{ "componentTypeId": "com.example.alarm.basic:1", "workspaceId": "
MyWorkspace
", "description": "Abstract alarm component type", "functions": { "dataReader": { "isInherited": false } }, "isSingleton": false, "propertyDefinitions": { "alarm_key": { "dataType": { "type": "STRING" }, "isExternalId": true, "isRequiredInEntity": true, "isStoredExternally": false, "isTimeSeries": false }, "alarm_status": { "dataType": { "allowedValues": [ { "stringValue": "ACTIVE" }, { "stringValue": "SNOOZE_DISABLED" }, { "stringValue": "ACKNOWLEDGED" }, { "stringValue": "NORMAL" } ], "type": "STRING" }, "isRequiredInEntity": false, "isStoredExternally": true, "isTimeSeries": true } } }
Note:
I valori per componentTypeId
e workspaceID
sono obbligatori. Il valore di componentTypeId
deve essere univoco per l'area di lavoro. Il valore di alarm_key
è un identificatore univoco che una funzione può utilizzare per recuperare i dati di allarme da una fonte esterna. Il valore della chiave è obbligatorio e memorizzato in. AWS IoT TwinMaker I valori delle serie alarm_status
temporali vengono memorizzati nella fonte esterna.
Altri esempi sono disponibili nella sezione AWS IoT TwinMaker Esempi
Telemetria Timestream
L'esempio seguente è un tipo di componente semplice che recupera i dati di telemetria su un tipo specifico di componente (come un allarme o un cookie mixer) da una fonte esterna. Specifica una funzione Lambda ereditata dai tipi di componenti.
{ "componentTypeId": "com.example.timestream-telemetry", "workspaceId": "
MyWorkspace
", "functions": { "dataReader": { "implementedBy": { "lambda": { "arn": "lambdaArn
" } } } }, "propertyDefinitions": { "telemetryType": { "dataType": { "type": "STRING" }, "isExternalId": false, "isStoredExternally": false, "isTimeSeries": false, "isRequiredInEntity": true }, "telemetryId": { "dataType": { "type": "STRING" }, "isExternalId": false, "isStoredExternally": false, "isTimeSeries": false, "isRequiredInEntity": true } } }
Allarme (eredita dall'allarme astratto)
L'esempio seguente eredita sia dall'allarme astratto che dal tipo di componente di telemetria timestream. Specifica la propria funzione Lambda che recupera i dati di allarme.
{ "componentTypeId": "com.example.cookiefactory.alarm", "workspaceId": "
MyWorkspace
", "extendsFrom": [ "com.example.timestream-telemetry", "com.amazon.iottwinmaker.alarm.basic" ], "propertyDefinitions": { "telemetryType": { "defaultValue": { "stringValue": "Alarm" } } }, "functions": { "dataReader": { "implementedBy": { "lambda": { "arn": "lambdaArn
" } } } } }
Nota
Poiché il connettore di allarme eredita dal tipo di componente di allarme astratto, la funzione Lambda deve restituire alarm_key
il valore. Se non restituisci questo valore, Grafana non lo riconoscerà come allarme. Questo è necessario per tutti i componenti che restituiscono allarmi.
Esempi di apparecchiature
Gli esempi in questa sezione mostrano come modellare potenziali apparecchiature. È possibile utilizzare questi esempi per avere alcune idee su come modellare le apparecchiature nei propri processi.
Miscelatore per biscotti
L'esempio seguente eredita dal tipo di componente di telemetria timestream. Specifica proprietà di serie temporali aggiuntive per la velocità di rotazione e la temperatura di un mixer per biscotti.
{ "componentTypeId": "com.example.cookiefactory.mixer", "workspaceId": "
MyWorkspace
", "extendsFrom": [ "com.example.timestream-telemetry" ], "propertyDefinitions": { "telemetryType": { "defaultValue" : { "stringValue": "Mixer" } }, "RPM": { "dataType": { "type": "DOUBLE" }, "isTimeSeries": true, "isStoredExternally": true }, "Temperature": { "dataType": { "type": "DOUBLE" }, "isTimeSeries": true, "isStoredExternally": true } } }
Serbatoio d'acqua
L'esempio seguente eredita dal tipo di componente di telemetria timestream. Specifica proprietà di serie temporali aggiuntive per il volume e la portata di un serbatoio d'acqua.
{ "componentTypeId": "com.example.cookiefactory.watertank", "workspaceId": "
MyWorkspace
", "extendsFrom": [ "com.example.timestream-telemetry" ], "propertyDefinitions": { "telemetryType": { "defaultValue" : { "stringValue": "WaterTank" } }, "tankVolume1": { "dataType": { "type": "DOUBLE" }, "isTimeSeries": true, "isStoredExternally": true }, "tankVolume2": { "dataType": { "type": "DOUBLE" }, "isTimeSeries": true, "isStoredExternally": true }, "flowRate1": { "dataType": { "type": "DOUBLE" }, "isTimeSeries": true, "isStoredExternally": true }, "flowrate2": { "dataType": { "type": "DOUBLE" }, "isTimeSeries": true, "isStoredExternally": true } } }
Ubicazione nello spazio
L'esempio seguente contiene proprietà, i cui valori sono memorizzati in AWS IoT TwinMaker. Poiché i valori sono specificati dagli utenti e memorizzati internamente, non è richiesta alcuna funzione per recuperarli. L'esempio utilizza il tipo di RELATIONSHIP
dati anche per specificare una relazione con un altro tipo di componente.
Questo componente fornisce un meccanismo leggero per aggiungere contesto a un gemello digitale. Puoi usarlo per aggiungere metadati che indicano dove si trova qualcosa. È inoltre possibile utilizzare queste informazioni nella logica utilizzata per determinare quali telecamere possono vedere un'attrezzatura o uno spazio o per sapere come inviare qualcuno in un luogo.
{ "componentTypeId": "com.example.cookiefactory.space", "workspaceId": "
MyWorkspace
", "propertyDefinitions": { "position": {"dataType": {"nestedType": {"type": "DOUBLE"},"type": "LIST"}}, "rotation": {"dataType": {"nestedType": {"type": "DOUBLE"},"type": "LIST"}}, "bounds": {"dataType": {"nestedType": {"type": "DOUBLE"},"type": "LIST"}}, "parent_space" : { "dataType": {"type": "RELATIONSHIP"}} } }