View a markdown version of this page

Menunjukkan penerbitan pesan dengan AWS IoT Klien 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 penerbitan pesan dengan AWS IoT Klien 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 Raspberry Pi untuk melakukan tindakan ini:

  • IoT: Menghubungkan

    Memberikan klien bernamaPubSubTestThing, Raspberry Pi Anda yang menjalankan Kli AWS IoT en Perangkat, untuk terhubung.

    { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-west-2:57EXAMPLE833:client/PubSubTestThing" ] }
  • IoT:menerbitkan

    Memberikan izin Raspberry Pi untuk menerbitkan pesan dengan topik MQTT. test/dc/pubtopic

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

    T iot:Publish indakan memberikan izin untuk menerbitkan ke topik MQTT yang tercantum dalam array Resource. I si pesan tersebut tidak dikendalikan oleh pernyataan kebijakan.

Publikasikan pesan default menggunakan AWS IoT Klien Perangkat

Prosedur ini menjalankan Klien AWS IoT Perangkat sehingga menerbitkan pesan MQTT default tunggal yang diterima dan ditampilkan oleh klien uji MQTT.

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

  2. Di jendela terminal, masukkan perintah ini untuk menjalankan Kli AWS IoT en Perangkat 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 uji MQTT.

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

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

  5. Di jendela terminal, masukkan ^C (Ctrl-C) untuk menghentikan Kli AWS IoT en Perangkat.

Setelah Anda menunjukkan bahwa Klien AWS IoT Perangkat menerbitkan pesan MQTT default, Anda dapat melanjutkan kePublikasikan pesan khusus menggunakan AWS IoT Klien Perangkat.

Publikasikan pesan khusus menggunakan AWS IoT Klien Perangkat

Prosedur di bagian ini membuat pesan MQTT khusus dan kemudian menjalankan Klien Perangkat AWS IoT sehingga menerbitkan pesan MQTT kustom satu kali untuk diterima dan ditampilkan oleh klien uji MQTT.

Buat pesan MQTT kustom untuk AWS IoT Klien Perangkat

Lakukan langkah-langkah ini di jendela terminal pada komputer host lokal yang terhubung ke Raspberry Pi Anda.

Untuk membuat pesan khusus untuk AWS IoT Klien Perangkat untuk dipublikasikan
  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 Klien AWS IoT Perangkat.

    { "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 AWS IoT Klien Perangkat untuk digunakan untuk mengirim pesan khusus
  1. Di jendela terminal, di editor teks sepertinano, buka file konfigurasi Klien AWS IoT Perangkat 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 AWS IoT Klien Perangkat

Perubahan ini hanya memengaruhi konten payload pesan MQTT, sehingga kebijakan saat ini akan terus berfungsi. Namun, jika topik MQTT (sebagaimana didefinisikan oleh publish-topic nilai di~/dc-configs/dc-pubsub-custom-config.json) diubah, pernyataan iot::Publish kebijakan juga perlu dimodifikasi untuk memungkinkan Raspberry Pi menerbitkan ke topik MQTT baru.

Untuk mengirim pesan MQTT dari AWS IoT Klien Perangkat
  1. Pastikan jendela terminal dan jendela dengan klien uji MQTT terlihat saat Anda melakukan prosedur ini. Juga, pastikan klien uji MQTT Anda masih berlangganan filter topik #. Jika tidak, berlangganan filter topik # lagi.

  2. Di jendela terminal, masukkan perintah ini untuk menjalankan Kli AWS IoT en Perangkat 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 uji MQTT.

  3. Di klien uji MQTT, di jendela Lang ganan, 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 Anda publikasikan ke test/dc/pubtopic pesan di klien uji MQTT, Anda telah berhasil menerbitkan pesan kustom.

  5. Di jendela terminal, masukkan ^C (Ctrl-C) untuk menghentikan Kli AWS IoT en Perangkat.

Setelah Anda menunjukkan bahwa Klien AWS IoT Perangkat menerbitkan payload pesan khusus, Anda dapat melanjutkanTunjukkan berlangganan pesan dengan AWS IoT Klien Perangkat.