Uji komunikasi - AWS IoT Greengrass

AWS IoT Greengrass Version 1 memasuki fase umur panjang pada 30 Juni 2023. Untuk informasi selengkapnya, lihat kebijakan AWS IoT Greengrass V1 pemeliharaan. Setelah tanggal ini, tidak AWS IoT Greengrass V1 akan merilis pembaruan yang menyediakan fitur, penyempurnaan, perbaikan bug, atau patch keamanan. Perangkat yang berjalan AWS IoT Greengrass V1 tidak akan terganggu dan akan terus beroperasi dan terhubung ke cloud. Kami sangat menyarankan Anda bermigrasi ke AWS IoT Greengrass Version 2, yang menambahkan fitur baru yang signifikan dan dukungan untuk platform tambahan.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Uji komunikasi

  1. Pastikan komputer Anda dan perangkat AWS IoT Greengrass inti terhubung ke internet menggunakan jaringan yang sama.

    1. Pada perangkat AWS IoT Greengrass inti, jalankan perintah berikut untuk menemukan alamat IP-nya.

      hostname -I
    2. Dalam komputer Anda, jalankan perintah berikut menggunakan alamat IP core. Anda dapat menggunakan Ctrl + C untuk menghentikan perintah ping ini.

      ping IP-address

      Output yang mirip dengan berikut ini menunjukkan komunikasi yang berhasil antara komputer dan perangkat AWS IoT Greengrass inti (0% packet loss):

      Output perintah ping yang berhasil.
      catatan

      Jika Anda tidak dapat melakukan ping ke instans EC2 yang sedang berjalan AWS IoT Greengrass, pastikan bahwa aturan grup keamanan masuk untuk instance mengizinkan lalu lintas ICMP untuk pesan permintaan Echo. Untuk informasi selengkapnya, lihat Menambahkan aturan ke grup keamanan di Panduan Pengguna Amazon EC2.

      Pada komputer host Windows, di Windows Firewall dengan aplikasi Keamanan Lanjutan, Anda mungkin juga perlu mengaktifkan aturan masuk yang mengizinkan permintaan inbound echo (sebagai contoh, Berbagi File dan Printer (Permintaan Echo - ICMPv4-In)), atau buat satu.

  2. Dapatkan AWS IoT titik akhir Anda.

    1. Dari panel navigasi AWS IoT konsol, pilih Pengaturan.

    2. Di bawah titik akhir data perangkat, catat nilai Endpoint. Anda menggunakan nilai ini untuk mengganti AWS_IOT_ENDPOINT placeholder di perintah dalam langkah-langkah berikut.

  3. Di komputer Anda (bukan perangkat AWS IoT Greengrass inti), buka dua jendela baris perintah (terminal atau command prompt). Satu jendela mewakili perangkat klien HelloWorld _Publisher dan yang lainnya mewakili perangkat klien HelloWorld _Subscriber.

    Setelah eksekusi, basicDiscovery.py upaya untuk mengumpulkan informasi tentang lokasi AWS IoT Greengrass inti di titik akhir. Informasi ini disimpan setelah perangkat klien ditemukan dan berhasil terhubung ke inti. Ini mengizinkan pengiriman pesan dan operasi di masa mendatang dijalankan secara lokal (tanpa memerlukan koneksi internet).

    catatan

    ID klien yang digunakan untuk koneksi MQTT harus sesuai dengan nama hal dari perangkat klien. Skrip basicDiscovery.py mengatur ID klien untuk koneksi MQTT ke nama hal yang Anda tentukan ketika Anda menjalankan skrip.

    Jalankan perintah berikut dari folder yang berisi basicDiscovery.py file untuk informasi penggunaan skrip terperinci:

    python basicDiscovery.py --help
  4. Dari jendela perangkat klien HelloWorld _Publisher, jalankan perintah berikut.

    • Ganti path-to-certs-folder dengan jalur ke folder yang berisi sertifikat, kunci, dan basicDiscovery.py.

    • Ganti AWS_IOT_ENDPOINT dengan titik akhir Anda.

    • Ganti dua CertId instance penerbit dengan ID sertifikat di nama file untuk perangkat klien HelloWorld _Publisher Anda.

    cd path-to-certs-folder python basicDiscovery.py --endpoint AWS_IOT_ENDPOINT --rootCA AmazonRootCA1.pem --cert publisherCertId-certificate.pem.crt --key publisherCertId-private.pem.key --thingName HelloWorld_Publisher --topic 'hello/world/pubsub' --mode publish --message 'Hello, World! Sent from HelloWorld_Publisher'

    Anda akan melihat output yang serupa dengan yang berikut, yang mencakup entri seperti Published topic 'hello/world/pubsub': {"message": "Hello, World! Sent from HelloWorld_Publisher", "sequence": 1}.

    catatan

    Jika skrip mengembalikan error: unrecognized arguments pesan, mengubah tanda kutip tunggal untuk ganda tanda kutip untuk --topic dan --message parameter dan jalankan perintah lagi.

    Untuk memecahkan masalah koneksi, Anda dapat mencoba menggunakan Deteksi IP manual.

    Screenshot dari output penerbit.
  5. Dari jendela perangkat klien HelloWorld _Subscriber, jalankan perintah berikut.

    • Ganti path-to-certs-folder dengan jalur ke folder yang berisi sertifikat, kunci, dan basicDiscovery.py.

    • Ganti AWS_IOT_ENDPOINT dengan titik akhir Anda.

    • Ganti dua CertId instance pelanggan dengan ID sertifikat dalam nama file untuk perangkat klien HelloWorld _Subscriber Anda.

    cd path-to-certs-folder python basicDiscovery.py --endpoint AWS_IOT_ENDPOINT --rootCA AmazonRootCA1.pem --cert subscriberCertId-certificate.pem.crt --key subscriberCertId-private.pem.key --thingName HelloWorld_Subscriber --topic 'hello/world/pubsub' --mode subscribe

    Anda harus melihat output berikut, yang mencakup entri seperti Received message on topic hello/world/pubsub: {"message": "Hello, World! Sent from HelloWorld_Publisher", "sequence": 1}.

    Screenshot dari output pelanggan.

Tutup HelloWorld_Publisher jendela untuk menghentikan pesan agar tidak bertambah di jendela. HelloWorld_Subscriber

Pengujian pada jaringan perusahaan mungkin mengganggu koneksi ke core. Sebagai solusi, Anda dapat secara manual memasukkan titik akhir. Ini memastikan bahwa basicDiscovery.py skrip terhubung ke alamat IP yang benar dari perangkat AWS IoT Greengrass inti.

Untuk memasukkan titik akhir secara manual
  1. Di panel navigasi AWS IoT konsol, di bawah Kelola, perluas perangkat Greengrass, lalu pilih Grup (V1).

  2. Di bawah grup Greengrass, pilih grup Anda.

  3. Konfigurasikan inti untuk mengelola titik akhir broker MQTT secara manual. Lakukan hal-hal berikut:

    1. Pada halaman konfigurasi grup, pilih tab fungsi Lambda.

    2. Di bawah fungsi Sistem Lambda, pilih detektor IP, lalu pilih Edit.

    3. Dalam pengaturan Edit detektor IP, pilih Kelola titik akhir broker MQTT secara manual, lalu pilih Simpan.

  4. Masukkan titik akhir broker MQTT untuk inti. Lakukan hal-hal berikut:

    1. Di bawah Ikhtisar, pilih inti Greengrass.

    2. Di bawah titik akhir broker MQTT, pilih Kelola titik akhir.

    3. Pilih Tambahkan titik akhir dan pastikan Anda hanya memiliki satu nilai titik akhir. Nilai ini harus berupa titik akhir alamat IP untuk port 8883 perangkat AWS IoT Greengrass inti Anda (misalnya,192.168.1.4).

    4. Pilih Perbarui.