View a markdown version of this page

Mempertahankan status perangkat saat perangkat offline dengan Device Shadows - AWS IoT Core

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

Mempertahankan status perangkat saat perangkat offline dengan Device Shadows

Tutorial ini menunjukkan cara menggunakan layanan AWS IoT Device Shadow untuk menyimpan dan memperbarui informasi status perangkat. Dokumen Shadow, yang merupakan dokumen JSON, menunjukkan perubahan status perangkat berdasarkan pesan yang diterbitkan oleh perangkat, aplikasi lokal, atau layanan. Dalam tutorial ini, dokumen Shadow menunjukkan perubahan warna bola lampu. Tutorial ini juga menunjukkan bagaimana bayangan menyimpan informasi ini bahkan ketika perangkat terputus dari internet, dan meneruskan informasi status terbaru kembali ke perangkat ketika kembali online dan meminta informasi ini.

Kami menyarankan Anda mencoba tutorial ini dalam urutan yang ditampilkan di sini, dimulai dengan AWS IoT sumber daya yang Anda butuhkan untuk membuat dan pengaturan perangkat keras yang diperlukan, yang juga membantu Anda mempelajari konsep secara bertahap. Tutorial ini menunjukkan cara mengkonfigurasi dan menghubungkan perangkat Raspberry Pi untuk digunakan dengan AWS IoT. Jika Anda tidak memiliki perangkat keras yang diperlukan, Anda dapat mengikuti tutorial ini dengan menyesuaikannya dengan perangkat pilihan Anda atau dengan membuat perangkat virtual dengan Amazon EC2.

Ikhtisar skenario tutorial

Skenario untuk tutorial ini adalah aplikasi atau layanan lokal yang mengubah warna bola lampu dan menerbitkan datanya ke topik bayangan yang dicadangkan. Tutorial ini mirip dengan fungsionalitas Device Shadow yang dijelaskan dalam tutorial memulai interaktif dan diimplementasikan pada perangkat Raspberry Pi. Tutorial di bagian ini berfokus pada satu bayangan klasik sambil menunjukkan bagaimana Anda dapat mengakomodasi bayangan bernama atau beberapa perangkat.

Tutorial berikut akan membantu Anda mempelajari cara menggunakan layanan Dev AWS IoT ice Shadow.

AWS IoT Ikhtisar Device Shadow

Device Shadow adalah representasi virtual persisten dari perangkat yang dikelola oleh sumber daya yang Anda buat di AWS IoT registri. Dokumen Shadow adalah JSON atau dokumen JavaScript notasi yang digunakan untuk menyimpan dan mengambil informasi status saat ini untuk perangkat. Anda dapat menggunakan bayangan untuk mendapatkan dan mengatur status perangkat melalui topik MQTT atau API REST HTTP, terlepas dari apakah perangkat terhubung ke internet.

Dokumen Shadow berisi state properti yang menjelaskan aspek-aspek status perangkat ini.

  • desired: Aplikasi menentukan status properti perangkat yang diinginkan dengan memperbarui desired objek.

  • reported: Perangkat melaporkan keadaan mereka saat ini di reported objek.

  • delta: AWS IoT melaporkan perbedaan antara keadaan yang diinginkan dan yang dilaporkan dalam delta objek.

Berikut adalah contoh dokumen status bayangan.

{ "state": { "desired": { "color": "green" }, "reported": { "color": "blue" }, "delta": { "color": "green" } } }

Untuk memperbarui dokumen Shadow perangkat, Anda dapat menggunakan topik MQ TT yang dicadangkan, REST API Device Shadow yang mendukungGET,UPDATE, dan DELETE operasi dengan HTTP, dan AWS IoT CLI.

Dalam contoh sebelumnya, katakanlah Anda ingin mengubah desired warna menjadiyellow. Untuk melakukan ini, kirim permintaan ke UpdateThingShadow API atau publikasikan pesan ke topik Pembaruan,$aws/things/THING_NAME/shadow/update.

{ "state": { "desired": { "color": yellow } } }

Pembaruan hanya memengaruhi bidang yang ditentukan dalam permintaan. Setelah berhasil memperbarui Device Shadow, AWS IoT menerbitkan desired status baru ke delta topik,$aws/things/THING_NAME/shadow/delta. Dokumen Shadow dalam hal ini terlihat seperti ini:

{ "state": { "desired": { "color": yellow }, "reported": { "color": green }, "delta": { "color": yellow } } }

Status baru kemudian dilaporkan ke AWS IoT Device Shadow menggunakan Update topik $aws/things/THING_NAME/shadow/update dengan pesan JSON berikut:

{ "state": { "reported": { "color": yellow } } }

Jika Anda ingin mendapatkan informasi status saat ini, kirim permintaan ke GetThingShadow API atau publikasikan pesan MQTT ke topik Dapatkan,$aws/things/THING_NAME/shadow/get.

Untuk informasi selengkapnya tentang menggunakan layanan Device Shadow, lihatAWS IoT Layanan Bayangan Perangkat.

Untuk informasi selengkapnya tentang menggunakan Device Shadows di perangkat, aplikasi, dan layanan, lihat Menggunakan bayangan di perangkat danMenggunakan bayangan di aplikasi dan layanan.

Untuk informasi tentang berinteraksi dengan AWS IoT bayangan, lihatBerinteraksi dengan bayangan.

Untuk informasi tentang topik cadangan MQTT dan HTTP REST API, lihat Topik MQTT Bayangan Perangkat danREST API Bayangan Perangkat.