Menunjukkan pesan penerbitan dengan Klien AWS IoT Perangkat - AWS IoT Core

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 MQTT pesan 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 bernamaPubSubTestThing, 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 MQTT topiktest/dc/pubtopic.

    { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": [ "arn:aws:iot:us-west-2:57EXAMPLE833:topic/test/dc/pubtopic" ] }

    iot:PublishTindakan memberikan izin untuk mempublikasikan ke MQTT topik yang tercantum dalam array Resource. 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 MQTT pesan default tunggal yang diterima dan ditampilkan oleh klien MQTT pengujian.

Untuk mengirim MQTT pesan default dari AWS IoT Device Client
  1. Pastikan bahwa kedua jendela terminal pada komputer host lokal Anda yang terhubung ke Raspberry Pi Anda dan jendela dengan klien MQTT pengujian terlihat saat Anda melakukan prosedur ini.

  2. 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 MQTT pengujian.

  3. Di klien MQTT pengujian, di jendela Langganan, lihat Hello World! pesan dikirim ke topik test/dc/pubtopic pesan.

  4. Jika Klien AWS IoT Perangkat tidak menampilkan kesalahan dan Anda melihat Hello World! dikirim ke test/dc/pubtopic pesan di klien MQTT pengujian, Anda telah menunjukkan koneksi yang berhasil.

  5. Di jendela terminal, masukkan ^C (Ctrl-C) untuk menghentikan Device Client. AWS IoT

Setelah menunjukkan bahwa AWS IoT Device Client menerbitkan MQTT pesan default, Anda dapat melanjutkan ke pesanMempublikasikan pesan kustom menggunakan AWS IoT Device Client.

Mempublikasikan pesan kustom menggunakan AWS IoT Device Client

Prosedur di bagian ini membuat MQTT pesan kustom dan kemudian menjalankan AWS IoT Device Client sehingga menerbitkan MQTT pesan kustom satu kali untuk klien MQTT pengujian untuk menerima dan menampilkan.

Membuat MQTT pesan kustom untuk AWS IoT Device Client

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
  1. Di jendela terminal, buka editor teks, sepertinano.

  2. Ke editor teks, salin dan tempel JSON dokumen berikut. Ini akan menjadi payload MQTT pesan yang diterbitkan oleh AWS IoT Device Client.

    { "temperature": 28, "humidity": 80, "barometer": 1013, "wind": { "velocity": 22, "bearing": 255 } }
  3. Simpan konten editor teks sebagai~/messages/sample-ws-message.json.

  4. 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
  1. Di jendela terminal, dalam editor teks sepertinano, buka file konfigurasi AWS IoT Device Client yang ada:~/dc-configs/dc-pubsub-config.json.

  2. 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"
  3. Simpan konten editor teks sebagai~/dc-configs/dc-pubsub-custom-config.json.

  4. Jalankan perintah ini untuk mengatur izin pada file konfigurasi baru.

    chmod 644 ~/dc-configs/dc-pubsub-custom-config.json

Publikasikan MQTT pesan kustom dengan menggunakan AWS IoT Device Client

Perubahan ini hanya memengaruhi isi muatan MQTT pesan, sehingga kebijakan saat ini akan terus berfungsi. Namun, jika MQTTtopik (seperti yang 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 MQTT topik baru.

Untuk mengirim MQTT pesan dari AWS IoT Device Client
  1. Pastikan jendela terminal dan jendela dengan klien MQTT pengujian terlihat saat Anda melakukan prosedur ini. Selain itu, pastikan klien MQTT pengujian Anda masih berlangganan filter topik #. Jika tidak, berlangganan filter # topik lagi.

  2. 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 MQTT pengujian.

  3. Di klien MQTT pengujian, di jendela Langganan, lihat payload pesan kustom yang dikirim ke topik test/dc/pubtopic pesan.

  4. Jika Klien AWS IoT Perangkat tidak menampilkan kesalahan dan Anda melihat payload pesan kustom yang dipublikasikan ke test/dc/pubtopic pesan di klien MQTT pengujian, Anda telah berhasil menerbitkan pesan kustom.

  5. 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.