

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Konfigurasikan alur publikasi data
<a name="windows-nodered-data-publish-flow"></a>

Aliran publikasi data menggunakan tiga node untuk membuat pipeline yang mengirimkan data industri Anda ke cloud. Alur ini penting untuk memungkinkan analitik berbasis cloud, penyimpanan jangka panjang, dan integrasi dengan layanan lain. AWS Pertama, data perangkat simulasi dikirim ke broker SiteWise Edge MQTT. Gateway mengambil data dari broker yang memungkinkan transmisi ke AWS IoT SiteWise cloud, di mana Anda dapat memanfaatkan kemampuan analitik dan visualisasi yang kuat.
+ **Input data** - Menerima data perangkat dari peralatan industri atau simulator Anda
+ **Penerjemah data untuk AWS IoT SiteWise** - Menerjemahkan data ke AWS IoT SiteWise format untuk memastikan kompatibilitas dengan gateway SiteWise Edge
+ **Penerbit MQTT** - Menerbitkan data ke broker SiteWise Edge MQTT, membuatnya tersedia untuk konsumen lokal dan cloud

![Diagram yang menunjukkan aliran penerbitan data NODE-Red. Ini mengirimkan data perangkat simulasi ke broker SiteWise Edge MQTT untuk diambil oleh SiteWise Edge Gateway dan kemudian ke Cloud. AWS IoT SiteWise](http://docs.aws.amazon.com/id_id/iot-sitewise/latest/userguide/images/gateway-open-source-nodered-publish-flow.png)


## Konfigurasikan simpul input data
<a name="windows-nodered-data-input-config"></a>

Dalam contoh ini, simpul input data menggunakan perangkat turbin angin simulasi yang menghasilkan data kecepatan angin. Node ini berfungsi sebagai titik masuk untuk data industri Anda, apakah itu berasal dari sumber simulasi (seperti dalam contoh kami) atau dari peralatan industri aktual di lingkungan produksi.

Kami menggunakan format JSON khusus untuk muatan data guna menyediakan struktur standar yang bekerja secara efisien dengan alat pemrosesan lokal dan layanan cloud. AWS IoT SiteWise Format ini mencakup metadata penting seperti stempel waktu dan indikator kualitas di samping nilai pengukuran aktual, memungkinkan manajemen data yang komprehensif dan pelacakan kualitas di seluruh pipeline Anda. Impor node injeksi untuk menerima data simulasi dalam format JSON standar ini dengan stempel waktu, indikator kualitas, dan nilai.

*Untuk informasi selengkapnya tentang node-Red inject node, lihat bagian [Inject di Dokumentasi](https://nodered.org/docs/user-guide/nodes#inject). Node-RED*

Simulator turbin menghasilkan data kecepatan angin setiap detik dalam format JSON standar ini:

**Example : Muatan data turbin**  

```
{
    name: string,         // Property name/identifier
    timestamp: number,    // Epoch time in nanoseconds
    quality: "GOOD" | "UNCERTAIN" | "BAD",
    value: number | string | boolean
}
```

Format ini memberikan beberapa manfaat:
+ `name`Bidang mengidentifikasi properti atau pengukuran tertentu, memungkinkan Anda melacak beberapa titik data dari perangkat yang sama
+ `timestamp`Dalam nanodetik memastikan pelacakan waktu yang tepat untuk analisis historis yang akurat
+ `quality`Indikator membantu Anda memfilter dan mengelola data berdasarkan keandalannya
+ `value`Bidang fleksibel mendukung tipe data yang berbeda untuk mengakomodasi berbagai output sensor

**Example : Menyuntikkan simpul simulator turbin**  

```
[
    {
        "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"
            ]
        ]
    }
]
```

## Konfigurasikan node untuk terjemahan data
<a name="windows-nodered-sitewiseise-translator-config"></a>

Gateway SiteWise Edge membutuhkan data dalam format tertentu untuk memastikan kompatibilitas dengan AWS IoT SiteWise cloud. Node penerjemah adalah komponen penting yang mengubah data input Anda ke format AWS IoT SiteWise payload yang diperlukan. Langkah penerjemahan ini memastikan bahwa data industri Anda dapat diproses, disimpan, dan kemudian dianalisis dengan benar di lingkungan AWS IoT SiteWise cloud.

Dengan menstandarisasi format data pada tahap ini, Anda mengaktifkan integrasi antara perangkat edge dan layanan cloud tempat Anda dapat menggunakan pemodelan aset, analitik, dan kemampuan visualisasi. Gunakan struktur ini:

**Example : Struktur muatan untuk penguraian data SiteWise Edge**  

```
{
  "propertyAlias": "string",  
  "propertyValues": [
    {
      "value": { 
          "booleanValue": boolean, 
          "doubleValue": number, 
          "integerValue": number,
          "stringValue": "string" 
     },
      "timestamp": {
          "timeInSeconds": number,
          "offsetInNanos": number
      },
      "quality": "GOOD" | "UNCERTAIN" | "BAD",
  }]
}
```

**catatan**  
`propertyAlias`Cocokkan dengan hierarki topik MQTT Anda (misalnya,). `/Renton/WindFarm/Turbine/WindSpeed` Ini memastikan bahwa data Anda terkait dengan benar dengan properti aset yang benar di AWS IoT SiteWise. Untuk informasi selengkapnya, lihat konsep “Alias aliran data” di[AWS IoT SiteWise konsep](concept-overview.md). 

1. Impor node fungsi contoh untuk terjemahan AWS IoT SiteWise payload. Fungsi ini menangani konversi dari format input standar Anda ke format AWS IoT SiteWise-kompatibel, memastikan pemformatan stempel waktu yang tepat, indikator kualitas, dan pengetikan nilai.

   ```
   [
       {
           "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"
               ]
           ]
       }
   ]
   ```

1. Verifikasi bahwa JavaScript kode menerjemahkan data kecepatan angin dengan benar. Fungsi ini melakukan beberapa tugas penting:
   + Mengekstrak nama properti dari input dan menetapkannya sebagai PropertyAlias
   + Mengonversi stempel waktu dari milidetik ke format detik dan nanodetik yang diperlukan
   + Mempertahankan indikator kualitas untuk pelacakan keandalan data
   + Secara otomatis mendeteksi jenis nilai dan memformatnya sesuai dengan persyaratan AWS IoT SiteWise 

1. Hubungkan node ke alur Anda, hubungkan antara node input data dan penerbit MQTT.

Untuk panduan tentang menulis fungsi khusus untuk kebutuhan bisnis Anda, lihat [Fungsi Menulis](https://nodered.org/docs/user-guide/writing-functions) dalam *Node-REDDokumentasi*

## Konfigurasikan penerbit MQTT
<a name="windows-nodered-mqtt-publisher-config"></a>

Setelah terjemahan, data siap untuk dipublikasikan ke broker SiteWise Edge MQTT.

Konfigurasikan penerbit MQTT dengan pengaturan ini untuk mengirim data ke broker Edge MQTT: SiteWise 

**Untuk mengimpor node keluar MQTT**

1. Impor node konfigurasi MQTT keluar menggunakan. `"type": "mqtt out"` Node keluar MQTT memungkinkan Anda berbagi konfigurasi broker.

1. Masukkan pasangan nilai kunci untuk informasi yang relevan dengan koneksi broker MQTT dan perutean pesan.

Impor `mqtt out` simpul contoh.

**Example**  

```
[
    {
        "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": ""
    }
]
```

Contoh MQTT out node menciptakan koneksi MQTT dengan informasi berikut:
+ Server: `127.0.0.1`
+ Pelabuhan: `1883`
+ Protokol: `MQTT V5`

Kemudian, node keluar MQTT mengonfigurasi perutean pesan dengan informasi berikut:
+ Topik: `/Renton/WindFarm/Turbine/WindSpeed`
+ QoS: `1`

## Menyebarkan dan memverifikasi node
<a name="windows-verify-deployment"></a>

Setelah mengonfigurasi tiga node aliran publikasi data, ikuti langkah-langkah ini untuk menyebarkan aliran dan memverifikasi bahwa data sedang dikirim dengan benar AWS IoT SiteWise

**Untuk menyebarkan dan memverifikasi koneksi**

1. Connect ketiga node seperti yang ditunjukkan dalam aliran data publish.  
![](http://docs.aws.amazon.com/id_id/iot-sitewise/latest/userguide/images/gateway-open-source-nodered-publish-flow.png)

1. Pilih **Deploy** untuk menerapkan semua perubahan koneksi node.

1. Arahkan ke [AWS IoT SiteWise konsol](https://console.aws.amazon.com/iotsitewise/) dan pilih **Aliran data**.

1. Pastikan **awalan Alias** dipilih di menu dropdown. Kemudian, cari `/Renton/WindFarm/Turbine/WindSpeed` alias.

Jika Anda melihat alias yang benar dalam pencarian Anda, Anda telah menerapkan aliran dan transmisi data yang diverifikasi.