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 bahwa komputer Anda dan AWS IoT Greengrass perangkat core terhubung ke internet menggunakan jaringan yang sama.

    1. Pada AWS IoT Greengrass perangkat core, 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 sukses komunikasi antara komputer dan AWS IoT Greengrass perangkat core (0% packet loss):

      
                        Output perintah ping yang berhasil.
      catatan

      Jika Anda tidak dapat melakukan ping ke instans EC2 yang sedang menjalankan AWS IoT Greengrass, pastikan bahwa aturan inbound grup keamanan pada instans mengizinkan lalu lintas ICMP untuk pesan permintaan Echo ini. Untuk informasi lebih lanjut, lihat Penambahan aturan ke sebuah grup keamanan dalam Panduan Pengguna Amazon EC2 untuk Instans Linux.

      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 titik akhir AWS IoT Anda.

    1. DariAWS IoTkonsolpanel navigasi, pilihPengaturan.

    2. Di bawahEndpoint data perangkat, buat catatan dari nilaiTitik akhir. Anda menggunakan nilai ini untuk mengganti AWS_IOT_ENDPOINT placeholder di perintah dalam langkah-langkah berikut.

  3. Pada komputer Anda (bukan AWS IoT Greengrass perangkat core), buka dua jendela baris perintah (terminal atau prompt perintah). Satu jendela mewakili HelloWorldPerangkat klien _Publisher dan yang lainnya mewakili HelloWorld_Subscriber perangkat klien.

    Setelah eksekusi, basicDiscovery.py mencoba untuk mengumpulkan informasi tentang lokasi AWS IoT Greengrass core pada titik akhirnya. Informasi ini disimpan setelah perangkat klien ditemukan dan berhasil terhubung ke core. 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 HelloWorldJendela perangkat klien _Publisher, jalankan perintah berikut.

    • Gantipath-to-certs-folderdengan jalur ke folder yang berisi sertifikat, kunci, danbasicDiscovery.py.

    • Ganti AWS_IOT_ENDPOINT dengan titik akhir Anda.

    • Ganti keduanyapublisherCertIdinstance dengan ID sertifikat dalam nama file untuk Anda HelloWorld_Penerbit perangkat klien.

    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 HelloWorldJendela perangkat klien _Subscriber, jalankan perintah berikut.

    • Gantipath-to-certs-folderdengan jalur ke folder yang berisi sertifikat, kunci, danbasicDiscovery.py.

    • Ganti AWS_IOT_ENDPOINT dengan titik akhir Anda.

    • Ganti keduanyasubscriberCertIdinstance dengan ID sertifikat dalam nama file untuk Anda HelloWorld_Subscriber perangkat klien.

    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.

TutupHelloWorld_Publisherjendela untuk menghentikan pesan dari diperoleh diHelloWorld_Subscriberjendela.

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

Untuk memasukkan titik akhir secara manual
  1. DiAWS IoTpanel navigasi konsol, di bawahKelola, perluasPerangkat Greengrass, lalu pilihGrup (V1).

  2. Di bawah grup Greengrass, pilih grup Anda.

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

    1. Pada halaman konfigurasi grup, pilihFungsi Lambdatab.

    2. Di bawahFungsi Lambda sistemchooseDetektor IP, lalu pilihEdit.

    3. DiEdit pengaturan detektor IPchooseKelola endpoint broker MQTT secara manual, lalu pilihSimpan.

  4. Masukkan endpoint broker MQTT untuk inti. Lakukan hal berikut:

    1. Di bawahIkhtisar, chooseCore Greengrass.

    2. Di bawahEndpoint broker MQTTchooseMengelola titik akhir.

    3. MemiilihTambahkan titik akhirdan pastikan bahwa Anda hanya memiliki satu nilai titik akhir. Nilai ini harus menjadi titik akhir alamat IP untuk port 8883 dari AWS IoT Greengrass perangkat core (sebagai contoh, 192.168.1.4).

    4. Pilih Pembaruan.