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 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 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 topik MQTT. test/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 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
  1. 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.

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

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

  2. 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 } }
  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 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
  1. 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.

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

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

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

  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.