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 klien denganAWS 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 manajer bayangan. Perangkat klien menggunakan pesan MQTT untuk menerima dan mengirim pembaruan bayangan perangkat. Komponen manajer bayangan berlangganan antarmuka publish/subscribe Greengrass lokal, sehingga Anda dapat mengonfigurasi antarmuka publish/subscribe Greengrass lokal, sehingga Anda dapat mengonfigurasiKomponen jembatan MQTTuntuk menyampaikan pesan MQTTtopik bayangan perangkat.

Komponen jembatan MQTT mengonsumsi daftar pemetaan topik yang masing-masing menentukan sumber pesan dan tujuan pesan. Untuk mengaktifkan komponen manajer bayangan untuk mengelola bayangan perangkat klien, deploy 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 deployment.

Gunakan contoh berikut untuk mengonfigurasi komponen jembatan MQTT untuk mengaktifkan komunikasi antara perangkat klien dan komponen manajer bayangan.

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: Mengelola semua bayangan perangkat klien

Contoh konfigurasi jembatan MQTT berikut memungkinkan manajer bayangan 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

Berikut MQTT jembatan konfigurasi contoh memungkinkan shadow manager untuk mengelola semua bayangan untuk perangkat klien bernamaMyClientDevice.

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

Berikut MQTT jembatan konfigurasi contoh memungkinkan shadow manager untuk mengelola bayangan bernamaDeviceConfigurationuntuk 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 semua perangkat klien yang tidak disebutkan namanya

Contoh konfigurasi jembatan MQTT berikut memungkinkan manajer bayangan untuk mengelola bayangan yang tidak disebutkan namanya, tetapi tidak bernama bayangan, 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.

Menyinkronkan bayangan perangkat klien denganAWS IoT Core

Anda dapat mengonfigurasi komponen manajer bayangan untuk menyinkronkan perangkat klien lokal dengan perangkat perangkat klien lokalAWS IoT Core. Untuk informasi selengkapnya, lihat Sinkronkan bayangan perangkat lokal dengan AWS IoT Core.