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.
Topik
Prasyarat
Untuk berinteraksi dengan bayangan perangkat klien dan menyinkronkan bayangan perangkat klienAWS IoT Core, perangkat inti harus memenuhi persyaratan berikut:
-
Perangkat inti harus menjalankan komponen berikut, selain komponen Greengrass untuk dukungan perangkat klien:
-
Greengrass nucleus v2.6.0 atau yang lebih baru
-
Shadow manager v2.2.0 atau yang lebih baru
-
Jembatan MQTT v2.2.0 atau yang lebih baru
-
-
Komponen autentikasi perangkat klien harus dikonfigurasi untuk memungkinkan perangkat klien berkomunikasi pada topik bayangan perangkat.
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 merge
akan 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.