Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menunjukkan pesan penerbitan dengan Klien AWS IoT Perangkat
Prosedur di bagian ini menunjukkan bagaimana Klien AWS IoT Perangkat dapat mengirim pesan MQTT default dan kustom.
Pernyataan kebijakan ini dalam kebijakan yang Anda buat pada langkah sebelumnya untuk latihan ini memberikan izin kepada Raspberry Pi untuk melakukan tindakan ini:
-
iot:Connect
Memberikan klien bernama
PubSubTestThing
, Raspberry Pi Anda menjalankan AWS IoT Device Client, untuk terhubung.{ "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-west-2:57EXAMPLE833:client/PubSubTestThing" ] }
-
iot:Publish
Memberikan izin Raspberry Pi untuk mempublikasikan pesan dengan topik MQTT.
test/dc/pubtopic
{ "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": [ "arn:aws:iot:us-west-2:57EXAMPLE833:topic/test/dc/pubtopic" ] }
iot:Publish
Tindakan memberikan izin untuk mempublikasikan ke topik MQTT yang tercantum dalam larik Sumber Daya. Isi pesan tersebut tidak dikontrol oleh pernyataan kebijakan.
Publikasikan pesan default menggunakan AWS IoT Device Client
Prosedur ini menjalankan AWS IoT Device Client sehingga menerbitkan pesan MQTT default tunggal yang diterima dan ditampilkan oleh klien pengujian MQTT.
Untuk mengirim pesan MQTT default dari Device Client AWS IoT
-
Pastikan bahwa kedua jendela terminal pada komputer host lokal Anda yang terhubung ke Raspberry Pi Anda dan jendela dengan klien pengujian MQTT terlihat saat Anda melakukan prosedur ini.
-
Di jendela terminal, masukkan perintah ini untuk menjalankan AWS IoT Device Client menggunakan file konfigurasi yang dibuat diBuat file konfigurasi.
cd ~/aws-iot-device-client/build ./aws-iot-device-client --config-file ~/dc-configs/dc-pubsub-config.json
Di jendela terminal, Klien AWS IoT Perangkat menampilkan pesan informasi dan kesalahan apa pun yang terjadi saat dijalankan.
Jika tidak ada kesalahan yang ditampilkan di jendela terminal, tinjau klien pengujian MQTT.
-
Di klien pengujian MQTT, di jendela Langganan, lihat Hello World! pesan dikirim ke topik
test/dc/pubtopic
pesan. -
Jika Klien AWS IoT Perangkat tidak menampilkan kesalahan dan Anda melihat Hello World! dikirim ke
test/dc/pubtopic
pesan di klien pengujian MQTT, Anda telah menunjukkan koneksi yang berhasil. -
Di jendela terminal, masukkan
^C
(Ctrl-C) untuk menghentikan Device Client. AWS IoT
Setelah menunjukkan bahwa AWS IoT Device Client menerbitkan pesan MQTT default, Anda dapat melanjutkan ke pesan. Mempublikasikan pesan kustom menggunakan AWS IoT Device Client
Mempublikasikan pesan kustom menggunakan AWS IoT Device Client
Prosedur di bagian ini membuat pesan MQTT kustom dan kemudian menjalankan AWS IoT Device Client sehingga menerbitkan pesan MQTT kustom satu kali untuk klien pengujian MQTT untuk menerima dan menampilkan.
Buat pesan MQTT khusus untuk Klien Perangkat AWS IoT
Lakukan langkah-langkah ini di jendela terminal pada komputer host lokal yang terhubung ke Raspberry Pi Anda.
Untuk membuat pesan kustom untuk Klien AWS IoT Perangkat untuk memublikasikan
-
Di jendela terminal, buka editor teks, seperti
nano
. -
Ke editor teks, salin dan tempel dokumen JSON berikut. Ini akan menjadi payload pesan MQTT yang diterbitkan oleh Device Client. AWS IoT
{ "temperature": 28, "humidity": 80, "barometer": 1013, "wind": { "velocity": 22, "bearing": 255 } }
-
Simpan konten editor teks sebagai
~/messages/sample-ws-message.json
. -
Masukkan perintah berikut untuk mengatur izin file pesan yang baru saja Anda buat.
chmod 600 ~/messages/*
Untuk membuat file konfigurasi untuk Klien AWS IoT Perangkat yang akan digunakan untuk mengirim pesan kustom
-
Di jendela terminal, dalam editor teks seperti
nano
, buka file konfigurasi AWS IoT Device Client yang ada:~/dc-configs/dc-pubsub-config.json
. -
Edit
samples
objek agar terlihat seperti ini. Tidak ada bagian lain dari file ini yang perlu diubah."samples": { "pub-sub": { "enabled": true, "publish-topic": "test/dc/pubtopic", "publish-file": "
~/messages/sample-ws-message.json
", "subscribe-topic": "test/dc/subtopic", "subscribe-file": "~/.aws-iot-device-client/log/pubsub_rx_msgs.log" -
Simpan konten editor teks sebagai
~/dc-configs/dc-pubsub-custom-config.json
. -
Jalankan perintah ini untuk mengatur izin pada file konfigurasi baru.
chmod 644 ~/dc-configs/dc-pubsub-custom-config.json
Publikasikan pesan MQTT kustom dengan menggunakan Device Client AWS IoT
Perubahan ini hanya memengaruhi isi muatan pesan MQTT, sehingga kebijakan saat ini akan terus berfungsi. Namun, jika topik MQTT (sebagaimana didefinisikan oleh publish-topic
nilai dalam~/dc-configs/dc-pubsub-custom-config.json
) diubah, pernyataan iot::Publish
kebijakan juga perlu dimodifikasi untuk memungkinkan Raspberry Pi mempublikasikan ke topik MQTT baru.
Untuk mengirim pesan MQTT dari Device Client AWS IoT
-
Pastikan jendela terminal dan jendela dengan klien pengujian MQTT terlihat saat Anda melakukan prosedur ini. Selain itu, pastikan klien pengujian MQTT Anda masih berlangganan filter topik #. Jika tidak, berlangganan filter # topik lagi.
-
Di jendela terminal, masukkan perintah ini untuk menjalankan AWS IoT Device Client menggunakan file konfigurasi yang dibuat diBuat file konfigurasi.
cd ~/aws-iot-device-client/build ./aws-iot-device-client --config-file ~/dc-configs/dc-pubsub-custom-config.json
Di jendela terminal, Klien AWS IoT Perangkat menampilkan pesan informasi dan kesalahan apa pun yang terjadi saat dijalankan.
Jika tidak ada kesalahan yang ditampilkan di jendela terminal, tinjau klien pengujian MQTT.
-
Di klien pengujian MQTT, di jendela Langganan, lihat payload pesan khusus yang dikirim ke topik pesan.
test/dc/pubtopic
-
Jika Klien AWS IoT Perangkat tidak menampilkan kesalahan dan Anda melihat payload pesan kustom yang dipublikasikan ke
test/dc/pubtopic
pesan di klien pengujian MQTT, Anda telah berhasil menerbitkan pesan kustom. -
Di jendela terminal, masukkan
^C
(Ctrl-C) untuk menghentikan Device Client. AWS IoT
Setelah mendemonstrasikan bahwa Klien AWS IoT Perangkat menerbitkan payload pesan khusus, Anda dapat melanjutkanMenunjukkan berlangganan pesan dengan Klien AWS IoT Perangkat.