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à.
Configura il flusso di pubblicazione dei dati
Il flusso di pubblicazione dei dati utilizza tre nodi per creare una pipeline che invia i dati industriali al cloud. Questo flusso è essenziale per consentire l'analisi basata sul cloud, l'archiviazione a lungo termine e l'integrazione con altri servizi. AWS Innanzitutto, i dati simulati del dispositivo vengono inviati al broker SiteWise Edge MQTT. Il gateway raccoglie i dati dal broker e li trasmette al AWS IoT SiteWise cloud, dove è possibile sfruttare potenti funzionalità di analisi e visualizzazione.
-
Inserimento dati: riceve i dati del dispositivo dalle apparecchiature industriali o dai simulatori
-
Traduttore di dati per AWS IoT SiteWise: traduce i dati in AWS IoT SiteWise formato per garantire la compatibilità con il gateway Edge SiteWise
-
Editore MQTT: pubblica i dati sul broker SiteWise Edge MQTT, rendendoli disponibili sia agli utenti locali che a quelli cloud

Configura il nodo di immissione dei dati
In questo esempio, il nodo di immissione dei dati utilizza un dispositivo simulato di turbina eolica che genera dati sulla velocità del vento. Questo nodo funge da punto di ingresso per i dati industriali, indipendentemente dal fatto che provengano da fonti simulate (come nel nostro esempio) o da apparecchiature industriali reali negli ambienti di produzione.
Utilizziamo un formato JSON personalizzato per il payload di dati per fornire una struttura standardizzata che funzioni in modo efficiente sia con gli strumenti di elaborazione locali che con il servizio cloud. AWS IoT SiteWise Questo formato include metadati essenziali come timestamp e indicatori di qualità oltre ai valori di misurazione effettivi, consentendo una gestione completa dei dati e il monitoraggio della qualità in tutta la pipeline. Importa il nodo di iniezione per ricevere dati simulati in questo formato JSON standardizzato con timestamp, indicatori di qualità e valori.
Il simulatore di turbine genera dati sulla velocità del vento ogni secondo in questo formato JSON standardizzato:
Esempio : Payload di dati sulla turbina
{ name: string, // Property name/identifier timestamp: number, // Epoch time in nanoseconds quality: "GOOD" | "UNCERTAIN" | "BAD", value: number | string | boolean }
Questo formato offre diversi vantaggi:
-
Il
name
campo identifica la proprietà o la misurazione specifica e consente di tracciare più punti dati dallo stesso dispositivo -
La misurazione
timestamp
in nanosecondi garantisce un tracciamento preciso del tempo per un'analisi storica accurata -
L'
quality
indicatore consente di filtrare e gestire i dati in base alla loro affidabilità -
Il
value
campo flessibile supporta diversi tipi di dati per adattarsi a diverse uscite di sensori
Esempio : Nodo di iniezione di un simulatore di turbina
[ { "id": "string", "type": "inject", "z": "string", "name": "
Turbine Simulator
", "props": [ { "p": "payload.timestamp", "v": "", "vt": "date" }, { "p": "payload.quality", "v": "GOOD", "vt": "str" }, { "p": "payload.value", "v": "$random()", "vt": "jsonata" }, { "p": "payload.name", "v": "/Renton/WindFarm/Turbine/WindSpeed
", "vt": "str" } ], "repeat": "1", "crontab": "", "once": false, "onceDelay": "", "topic": "", "x": 270, "y": 200, "wires": [ [ "string" ] ] } ]
Configura un nodo per la traduzione dei dati
Il gateway SiteWise Edge richiede dati in un formato specifico per garantire la compatibilità con il AWS IoT SiteWise cloud. Il nodo Translator è un componente importante che converte i dati di input nel formato di AWS IoT SiteWise payload richiesto. Questa fase di traduzione garantisce che i dati industriali possano essere elaborati, archiviati e successivamente analizzati correttamente nell' AWS IoT SiteWise ambiente cloud.
Standardizzando il formato dei dati in questa fase, si abilita l'integrazione tra i dispositivi edge e il servizio cloud, dove è possibile utilizzare funzionalità di modellazione, analisi e visualizzazione degli asset. Usa questa struttura:
Esempio : Struttura del payload per l'analisi dei dati SiteWise Edge
{ "propertyAlias": "string", "propertyValues": [ { "value": { "booleanValue": boolean, "doubleValue": number, "integerValue": number, "stringValue": "string" }, "timestamp": { "timeInSeconds": number, "offsetInNanos": number }, "quality": "GOOD" | "UNCERTAIN" | "BAD", }] }
Nota
Abbinala propertyAlias
alla tua gerarchia di argomenti MQTT (ad esempio,). /Renton/WindFarm/Turbine/WindSpeed
Ciò garantisce che i dati siano associati correttamente alla proprietà corretta dell'asset in. AWS IoT SiteWise Per ulteriori informazioni, consulta il concetto «Alias del flusso di dati» inAWS IoT SiteWise concetti.
-
Importa il nodo funzionale di esempio per la traduzione del AWS IoT SiteWise payload. Questa funzione gestisce la conversione dal formato di input standardizzato al formato AWS IoT SiteWise compatibile, garantendo la corretta formattazione del timestamp, gli indicatori di qualità e la digitazione dei valori.
[ { "id": "string", "type": "function", "z": "string", "name": "Translate to SiteWise payload", "func": "let input = msg.payload;\nlet output = {};\n\noutput[\"propertyAlias\"] = input.name;\n\nlet propertyVal = {}\n\nlet timeInSeconds = Math.floor(input.timestamp / 1000);\nlet offsetInNanos = (input.timestamp % 1000) * 1000000;\n\npropertyVal[\"timestamp\"] = {\n \"timeInSeconds\": timeInSeconds,\n \"offsetInNanos\": offsetInNanos,\n};\n\npropertyVal[\"quality\"] = input.quality\n\nlet typeNameConverter = {\n \"number\": (x) => Number.isInteger(x) ? \"integerValue\" : \"doubleValue\",\n \"boolean\": (x) => \"booleanValue\",\n \"string\": (x) => \"stringValue\", \n}\nlet typeName = typeNameConverter[typeof input.value](input.value)\npropertyVal[\"value\"] = {}\npropertyVal[\"value\"][typeName] = input.value;\n\noutput[\"propertyValues\"] = [propertyVal]\n\nreturn {\n payload: JSON.stringify(output)\n};", "outputs": 1, "timeout": "", "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 530, "y": 200, "wires": [ [ "string" ] ] } ]
-
Verificate che il JavaScript codice traduca correttamente i dati sulla velocità del vento. La funzione svolge diverse attività importanti:
-
Estrae il nome della proprietà dall'input e lo imposta come PropertyAlias
-
Converte il timestamp da millisecondi al formato richiesto di secondi e nanosecondi
-
Conserva l'indicatore di qualità per il monitoraggio dell'affidabilità dei dati
-
Rileva automaticamente il tipo di valore e lo formatta in base ai requisiti AWS IoT SiteWise
-
-
Connetti il nodo al flusso, collegandolo tra il nodo di input dei dati e l'editore MQTT.
Per indicazioni sulla scrittura di una funzione specifica per le vostre esigenze aziendali, consultate Writing Functions
Configurare l'editore MQTT
Dopo la traduzione, i dati sono pronti per la pubblicazione sul broker SiteWise Edge MQTT.
Configura l'editore MQTT con queste impostazioni per inviare dati al broker SiteWise Edge MQTT:
Per importare il nodo di uscita MQTT
-
Importa un nodo di configurazione in uscita MQTT utilizzando.
"type": "mqtt out"
I nodi di uscita MQTT consentono di condividere la configurazione di un broker. -
Inserite le coppie chiave-valore per le informazioni relative alla connessione del broker MQTT e al routing dei messaggi.
Importa il nodo di esempio. mqtt out
[ { "id": "string", "type": "mqtt out", "z": "string", "name": "Publish to MQTT broker", "topic": "
/Renton/WindFarm/Turbine/WindSpeed
", "qos": "1", "retain": "", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "string", "x": 830, "y": 200, "wires": [] }, { "id": "string", "type": "mqtt-broker", "name": "emqx", "broker": "127.0.0.1", "port": "1883", "clientid": "", "autoConnect": true, "usetls": false, "protocolVersion": "5", "keepalive": 15, "cleansession": true, "autoUnsubscribe": true, "birthTopic": "", "birthQos": "0", "birthPayload": "", "birthMsg": {}, "closeTopic": "", "closePayload": "", "closeMsg": {}, "willTopic": "", "willQos": "0", "willPayload": "", "willMsg": {}, "userProps": "", "sessionExpiry": "" } ]
Il nodo di uscita MQTT di esempio crea la connessione MQTT con le seguenti informazioni:
-
Server:
127.0.0.1
-
Porta:
1883
-
Protocollo:
MQTT V5
Quindi, il nodo di uscita MQTT configura il routing dei messaggi con le seguenti informazioni:
-
Argomento:
/Renton/WindFarm/Turbine/WindSpeed
-
QoS:
1
Implementa e verifica i nodi
Dopo aver configurato i tre nodi del flusso di pubblicazione dei dati, segui questi passaggi per distribuire il flusso e verificare che i dati vengano trasmessi correttamente a AWS IoT SiteWise
Per distribuire e verificare le connessioni
-
Connect i tre nodi come mostrato nel flusso di pubblicazione dei dati.
-
Scegli Deploy per applicare tutte le modifiche alla connessione dei nodi.
-
Vai alla AWS IoT SiteWise console
e scegli Flussi di dati. -
Assicurati che il prefisso Alias sia selezionato nel menu a discesa. Quindi, cerca l'alias.
/Renton/WindFarm/Turbine/WindSpeed
Se vedi l'alias corretto nella tua ricerca, significa che hai distribuito il flusso e verificato la trasmissione dei dati.