Konfigurasikan alur publikasi data - AWS IoT SiteWise

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

Konfigurasikan alur publikasi data

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

  • 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

Konfigurasikan simpul input data

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. Node-RED

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

contoh : 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:

  • nameBidang mengidentifikasi properti atau pengukuran tertentu, memungkinkan Anda melacak beberapa titik data dari perangkat yang sama

  • timestampDalam nanodetik memastikan pelacakan waktu yang tepat untuk analisis historis yang akurat

  • qualityIndikator membantu Anda memfilter dan mengelola data berdasarkan keandalannya

  • valueBidang fleksibel mendukung tipe data yang berbeda untuk mengakomodasi berbagai output sensor

contoh : 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

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:

contoh : 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

propertyAliasCocokkan dengan hierarki topik MQTT Anda (misalnya,). /Renton/WindFarm/Turbine/WindSpeed Ini memastikan bahwa data Anda terkait dengan properti aset yang benar di AWS IoT SiteWise. Untuk informasi selengkapnya, lihat konsep “Alias aliran data” diAWS IoT SiteWise konsep.

  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" ] ] } ]
  2. 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

  3. 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 dalam Node-REDDokumentasi

Konfigurasikan penerbit MQTT

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.

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

Impor mqtt out simpul contoh.

[ { "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

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

Untuk menyebarkan dan memverifikasi koneksi
  1. Connect ketiga node seperti yang ditunjukkan dalam aliran data publish.

    Data publish flow diagram showing input from turbine simulator to AWS IoT SiteWise to MQTT broker.
  2. Pilih Deploy untuk menerapkan semua perubahan koneksi node.

  3. Arahkan ke AWS IoT SiteWise konsol dan pilih Aliran data.

  4. 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.