Berinteraksi dengan dan menyinkronkan bayangan perangkat klien - AWS IoT Greengrass

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

Berinteraksi dengan dan menyinkronkan bayangan perangkat klien

Anda dapat menggunakan komponen pengelola bayangan untuk mengelola bayangan lokal, termasuk bayangan perangkat klien. Anda dapat menggunakan shadow manager untuk melakukan hal berikut:

  • Berinteraksi dengan bayangan perangkat klien dalam komponen Greengrass.

  • Menyinkronkan bayangan perangkat klien dengan AWS IoT Core.

catatan

Komponen manajer bayangan tidak menyinkronkan bayangan dengan AWS IoT Core secara default. Anda harus mengonfigurasi komponen manajer bayangan untuk menentukan bayangan perangkat klien yang akan disinkronkan.

Prasyarat

Untuk berinteraksi dengan bayangan perangkat klien dan menyinkronkan bayangan perangkat klienAWS IoT Core, perangkat inti harus memenuhi persyaratan berikut:

Aktifkan pengelola bayangan untuk berkomunikasi dengan perangkat klien

Secara default, komponen manajer bayangan tidak mengelola bayangan perangkat klien. Untuk mengaktifkan fitur ini, Anda harus menyampaikan pesan MQTT antara perangkat klien dan komponen shadow manager. Perangkat klien menggunakan pesan MQTT untuk menerima dan mengirim pembaruan bayangan perangkat. Komponen pengelola bayangan berlangganan antarmuka penerbitan/langganan Greengrass lokal, sehingga Anda dapat mengonfigurasi komponen jembatan MQTT untuk menyampaikan pesan MQTT pada topik bayangan perangkat.

Komponen jembatan MQTT mengonsumsi daftar pemetaan topik yang masing-masing menentukan sumber pesan dan tujuan pesan. Untuk mengaktifkan komponen pengelola bayangan mengelola bayangan perangkat klien, gunakan komponen jembatan MQTT, dan tentukan topik bayangan untuk bayangan perangkat klien. Anda harus mengonfigurasi jembatan untuk merelai pesan di kedua arah antara MQTT lokal dan publish/subscribe lokal.

Untuk men-deploy komponen jembatan MQTT ke perangkat inti atau kelompok perangkat inti, buat deployment yang mencakup komponen aws.greengrass.clientdevices.mqtt.Bridge. Tentukan pemetaan topik,mqttTopicMapping, dalam konfigurasi komponen jembatan MQTT dalam penerapan.

Gunakan contoh berikut untuk mengonfigurasi komponen jembatan MQTT untuk mengaktifkan komunikasi antara perangkat klien dan komponen shadow manager.

catatan

Anda dapat menggunakan contoh-contoh konfigurasi ini di konsol AWS IoT Greengrass. Jika Anda menggunakan API AWS IoT Greengrass, pembaruan konfigurasi mergeakan memerlukan objek JSON berserial, sehingga Anda harus membuat serial objek JSON berikut ke dalam string. Untuk informasi selengkapnya, lihat Perbarui konfigurasi komponen.

contoh Contoh: Kelola semua bayangan perangkat klien

Contoh konfigurasi jembatan MQTT berikut memungkinkan shadow manager untuk mengelola semua bayangan untuk semua perangkat klien.

{ "mqttTopicMapping": { "ShadowsLocalMqttToPubsub": { "topic": "$aws/things/+/shadow/#", "source": "LocalMqtt", "target": "Pubsub" }, "ShadowsPubsubToLocalMqtt": { "topic": "$aws/things/+/shadow/#", "source": "Pubsub", "target": "LocalMqtt" } } }
contoh Contoh: Mengelola bayangan untuk perangkat klien

Contoh konfigurasi jembatan MQTT berikut memungkinkan shadow manager untuk mengelola semua bayangan untuk perangkat klien bernama. MyClientDevice

{ "mqttTopicMapping": { "ShadowsLocalMqttToPubsub": { "topic": "$aws/things/MyClientDevice/shadow/#", "source": "LocalMqtt", "target": "Pubsub" }, "ShadowsPubsubToLocalMqtt": { "topic": "$aws/things/MyClientDevice/shadow/#", "source": "Pubsub", "target": "LocalMqtt" } } }
contoh Contoh: Mengelola bayangan bernama untuk semua perangkat klien

Contoh konfigurasi jembatan MQTT berikut memungkinkan shadow manager untuk mengelola bayangan bernama DeviceConfiguration untuk semua perangkat klien.

{ "mqttTopicMapping": { "ShadowsLocalMqttToPubsub": { "topic": "$aws/things/+/shadow/name/DeviceConfiguration/#", "source": "LocalMqtt", "target": "Pubsub" }, "ShadowsPubsubToLocalMqtt": { "topic": "$aws/things/+/shadow/name/DeviceConfiguration/#", "source": "Pubsub", "target": "LocalMqtt" } } }
contoh Contoh: Kelola bayangan tanpa nama semua perangkat klien

Contoh konfigurasi jembatan MQTT berikut memungkinkan pengelola bayangan untuk mengelola bayangan yang tidak disebutkan namanya, tetapi bukan bayangan bernama, untuk semua perangkat klien.

{ "mqttTopicMapping": { "DeleteShadowLocalMqttToPubsub": { "topic": "$aws/things/+/shadow/delete", "source": "LocalMqtt", "target": "Pubsub" }, "DeleteShadowPubsubToLocalMqtt": { "topic": "$aws/things/+/shadow/delete/#", "source": "Pubsub", "target": "LocalMqtt" }, "GetShadowLocalMqttToPubsub": { "topic": "$aws/things/+/shadow/get", "source": "LocalMqtt", "target": "Pubsub" }, "GetShadowPubsubToLocalMqtt": { "topic": "$aws/things/+/shadow/get/#", "source": "Pubsub", "target": "LocalMqtt" }, "UpdateShadowLocalMqttToPubsub": { "topic": "$aws/things/+/shadow/update", "source": "LocalMqtt", "target": "Pubsub" }, "UpdateShadowPubsubToLocalMqtt": { "topic": "$aws/things/+/shadow/update/#", "source": "Pubsub", "target": "LocalMqtt" } } }

Berinteraksi dengan bayangan perangkat klien dalam komponen

Anda dapat mengembangkan komponen kustom yang menggunakan layanan bayangan lokal untuk membaca dan memodifikasi dokumen bayangan lokal perangkat klien. Untuk informasi selengkapnya, lihat Berinteraksilah dengan bayangan dalam komponen.

Sinkronkan bayangan perangkat klien dengan AWS IoT Core

Anda dapat mengonfigurasi komponen shadow manager untuk menyinkronkan status bayangan perangkat klien lokal denganAWS IoT Core. Lihat informasi yang lebih lengkap di Sinkronkan bayangan perangkat lokal dengan AWS IoT Core.