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 sesuai urutan yang ditampilkan di sini, dimulai dengan AWS IoT sumber daya yang perlu Anda buat 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 AWS IoT. Jika Anda tidak memiliki perangkat keras yang diperlukan, Anda dapat mengikuti tutorial ini dengan mengadaptasinya ke 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 yang 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 AWS IoT Device 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 HTTP REST APIs, 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 statusnya 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 Shadow.

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

Untuk memperbarui dokumen Shadow perangkat, Anda dapat menggunakan topik MQTT yang dicadangkan, Device Shadow REST APIs yang mendukung GETUPDATE, dan DELETE operasi dengan HTTP, dan CLI.AWS IoT

Pada contoh sebelumnya, katakanlah Anda ingin mengubah desired warna menjadiyellow. Untuk melakukan ini, kirim permintaan ke UpdateThingShadow API atau publikasikan pesan ke topik Update,$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 Device Shadow.

Untuk informasi selengkapnya tentang penggunaan 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 yang dicadangkan MQTT dan HTTP REST APIs, lihat dan. Topik Device Shadow MQTT Device Shadow REST API