

Pemberitahuan akhir dukungan: Pada 7 Oktober 2026, AWS akan menghentikan dukungan untuk. AWS IoT Greengrass Version 1 Setelah 7 Oktober 2026, Anda tidak akan lagi dapat mengakses sumber daya. AWS IoT Greengrass V1 Untuk informasi lebih lanjut, silakan kunjungi [Migrasi dari AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html).

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

# Modul 4: Berinteraksi dengan perangkat klien dalam grup AWS IoT Greengrass
<a name="module4"></a>

Modul ini menunjukkan kepada Anda bagaimana perangkat IoT lokal, yang disebut *perangkat atau *perangkat* klien*, dapat terhubung dan berkomunikasi dengan perangkat AWS IoT Greengrass inti. Perangkat klien yang terhubung ke AWS IoT Greengrass inti adalah bagian dari AWS IoT Greengrass grup dan dapat berpartisipasi dalam paradigma AWS IoT Greengrass pemrograman. Dalam modul ini, satu perangkat klien mengirimkan pesan Hello World ke perangkat klien lain di grup Greengrass.

![\[AWS IoT terhubung ke AWS IoT Greengrass inti, yang terhubung ke perangkat klien #1 dan perangkat klien #2.\]](http://docs.aws.amazon.com/id_id/greengrass/v1/developerguide/images/gg-get-started-065.5.png)


Sebelum Anda memulai, jalankan perintah [pengaturan perangkat Greengrass](quick-start.md) skrip atau selesai [Modul 1](module1.md) dan [Modul 2](module2.md). Modul ini membuat dua perangkat klien simulasi. Anda tidak memerlukan komponen atau perangkat lain.

Modul ini akan memakan waktu kurang dari 30 menit untuk menyelesaikannya.

**Topics**
+ [Membuat perangkat klien dalam AWS IoT Greengrass grup](device-group.md)
+ [Konfigurasi langganan](config-subs.md)
+ [Instal AWS IoT Device SDK untuk Python](IoT-SDK.md)
+ [Uji komunikasi](test-comms.md)

# Membuat perangkat klien dalam AWS IoT Greengrass grup
<a name="device-group"></a>

Pada langkah ini, Anda menambahkan dua perangkat klien ke grup Greengrass Anda. Proses ini termasuk mendaftarkan perangkat sebagai AWS IoT benda dan mengonfigurasi sertifikat dan kunci untuk memungkinkan mereka terhubung AWS IoT Greengrass.

1. <a name="console-gg-groups"></a>**Di panel navigasi AWS IoT konsol, di bawah **Kelola**, perluas perangkat **Greengrass**, lalu pilih Grup (V1).**

1. <a name="group-choose-target-group"></a>Pilih grup target.

1. <a name="gg-group-add-device"></a>Pada halaman konfigurasi grup, pilih **Perangkat klien**, lalu pilih **Associate**.

1. <a name="gg-group-create-device"></a>Di **Mengaitkan perangkat klien dengan modal grup ini**, pilih **Buat AWS IoT hal baru**.

   Halaman **Buat hal-hal** terbuka di tab baru.

1. <a name="gg-group-create-single-thing"></a>Pada halaman **Create things**, pilih **Create single thing**, lalu pilih **Next**.

1. Pada halaman **Tentukan properti benda**, daftarkan perangkat klien ini sebagai**HelloWorld\$1Publisher**, lalu pilih **Berikutnya**.

1. <a name="gg-group-create-device-configure-certificate"></a>Pada halaman **Konfigurasi sertifikat perangkat**, pilih **Berikutnya**.

1. <a name="gg-group-create-device-attach-policy"></a>Pada halaman **Lampirkan kebijakan ke sertifikat**, lakukan salah satu hal berikut:
   + Pilih kebijakan yang ada yang memberikan izin yang diperlukan perangkat klien, lalu pilih **Buat** sesuatu.

     Modal terbuka di mana Anda dapat mengunduh sertifikat dan kunci yang digunakan perangkat untuk terhubung ke AWS Cloud dan inti.
   + Buat dan lampirkan kebijakan baru yang memberikan izin perangkat klien. Lakukan hal-hal berikut:

     1. Pilih **Buat kebijakan**.

        Halaman **Buat kebijakan** terbuka di tab baru.

     1. Pada halaman **Buat kebijakan**, lakukan hal berikut:

        1. Untuk **nama Kebijakan**, masukkan nama yang menjelaskan kebijakan, seperti**GreengrassV1ClientDevicePolicy**.

        1. Pada tab **Pernyataan kebijakan**, di bawah **Dokumen kebijakan**, pilih **JSON**.

        1. Masukkan dokumen kebijakan berikut. Kebijakan ini memungkinkan perangkat klien menemukan inti Greengrass dan berkomunikasi tentang semua topik MQTT. Untuk informasi tentang cara membatasi akses kebijakan ini, lihat[Otentikasi dan otorisasi perangkat untuk AWS IoT Greengrass](device-auth.md).

------
#### [ JSON ]

****  

           ```
           {
             "Version":"2012-10-17",		 	 	 
             "Statement": [
               {
                 "Effect": "Allow",
                 "Action": [
                   "iot:Publish",
                   "iot:Subscribe",
                   "iot:Connect",
                   "iot:Receive"
                 ],
                 "Resource": [
                   "*"
                 ]
               },
               {
                 "Effect": "Allow",
                 "Action": [
                   "greengrass:*"
                 ],
                 "Resource": [
                   "*"
                 ]
               }
             ]
           }
           ```

------

        1. Pilih **Buat** untuk membuat kebijakan.

     1. Kembali ke tab browser dengan halaman **Lampirkan kebijakan ke sertifikat** terbuka. Lakukan hal-hal berikut:

        1. Dalam daftar **Kebijakan**, pilih kebijakan yang Anda buat, seperti **GreengrassV1ClientDevicePolicy**.

           Jika kebijakan tidak terlihat, pilih tombol refresh.

        1. Pilih **Buat sesuatu**.

           Modal terbuka di mana Anda dapat mengunduh sertifikat dan kunci yang digunakan perangkat untuk terhubung ke AWS Cloud dan inti.

1. <a name="gg-group-create-device-download-certs"></a>Dalam modal **Unduh sertifikat dan kunci**, unduh sertifikat perangkat.
**penting**  
Sebelum Anda memilih **Selesai**, unduh sumber daya keamanan.

   Lakukan hal-hal berikut:

   1. Untuk **sertifikat Perangkat**, pilih **Unduh** untuk mengunduh sertifikat perangkat.

   1. Untuk **file kunci Publik**, pilih **Unduh** untuk mengunduh kunci publik untuk sertifikat.

   1. Untuk **file kunci pribadi**, pilih **Unduh** untuk mengunduh file kunci pribadi untuk sertifikat.

   1. Review [Autentikasi Server](https://docs.aws.amazon.com/iot/latest/developerguide/server-authentication.html) dalam *AWS IoT Panduan Developer* dan memilih root sertifikat CA yang sesuai. Kami merekomendasikan Anda menggunakan Amazon Trust Services (ATS) titik akhir dan ATS root sertifikat CA. Di bawah **sertifikat Root CA**, pilih **Unduh** untuk sertifikat CA root.

   1. Pilih **Selesai**.

   Catat ID sertifikat yang umum dalam nama file untuk sertifikat dan kunci perangkat. Anda membutuhkannya nanti.

1. Kembali ke tab browser dengan **Mengaitkan perangkat klien dengan modal grup ini** terbuka. Lakukan hal-hal berikut:

   1. Untuk **nama AWS IoT benda**, pilih **HelloWorld\$1Publisher**benda yang Anda buat.

      Jika Anda tidak melihatnya, pilih tombol refresh.

   1. Pilih **Kaitkan**.

1. Ulangi langkah 3 - 10 untuk menambahkan perangkat klien kedua ke grup.

   Beri nama perangkat klien ini**HelloWorld\$1Subscriber**. Unduh sertifikat dan kunci untuk perangkat klien ini ke komputer Anda. Sekali lagi, catat ID sertifikat yang umum di nama file untuk perangkat HelloWorld \$1Subscriber.

   Anda sekarang harus memiliki dua perangkat klien di grup Greengrass Anda:
   + HelloWorld\$1Penerbit
   + HelloWorld\$1Pelanggan

1. Buat folder di komputer Anda untuk kredensi keamanan perangkat klien ini. Salin sertifikat dan kunci ke folder ini.

# Konfigurasi langganan
<a name="config-subs"></a>

Pada langkah ini, Anda mengaktifkan perangkat klien HelloWorld \$1Publisher untuk mengirim pesan MQTT ke perangkat klien \$1Subscriber. HelloWorld

1. Pada halaman konfigurasi grup, pilih tab **Langganan**, lalu pilih **Tambah**.

1. Pada halaman **Buat langganan**, lakukan hal berikut untuk mengonfigurasi langganan:

   1. Untuk **tipe Sumber**, pilih **Perangkat klien**, lalu pilih **HelloWorld\$1Publisher**.

   1. Di bawah **Jenis target**, pilih **Perangkat klien**, lalu pilih **HelloWorld\$1Subscriber**.

   1. Untuk **Filter topik**, masukkan **hello/world/pubsub**.
**catatan**  
Anda dapat menghapus langganan dari modul sebelumnya. **Pada halaman **Langganan grup, pilih langganan** yang akan dihapus, lalu pilih Hapus.**

   1. Pilih **Buat langganan**.

1. <a name="enable-automatic-detection"></a>Pastikan bahwa deteksi otomatis diaktifkan sehingga core Greengrass dapat menerbitkan daftar alamat IP-nya. Perangkat klien menggunakan informasi ini untuk menemukan intinya. Lakukan hal-hal berikut:

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

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

   1. **Dalam **pengaturan Edit detektor IP**, pilih **Deteksi dan ganti titik akhir broker MQTT secara otomatis**, lalu pilih Simpan.**

1. Pastikan bahwa Greengrass daemon berjalan, seperti yang dijelaskan dalam [Men-deploy konfigurasi cloud ke perangkat core](configs-core.md).

1. <a name="console-actions-deploy"></a>Pada halaman konfigurasi grup, pilih **Deploy**.

Status deployment ditampilkan di bawah nama grup pada header halaman. Untuk melihat detail penerapan, pilih tab **Deployment**.

# Instal AWS IoT Device SDK untuk Python
<a name="IoT-SDK"></a>

Perangkat klien dapat menggunakan AWS IoT Device SDK untuk Python untuk berkomunikasi dengan AWS IoT dan perangkat AWS IoT Greengrass inti (menggunakan bahasa pemrograman Python). Untuk informasi selengkapnya, termasuk persyaratan, lihat AWS IoT Device SDK untuk Python [Readme](https://github.com/aws/aws-iot-device-sdk-python) di. GitHub

Pada langkah ini, Anda menginstal SDK dan mendapatkan fungsi `basicDiscovery.py` sampel yang digunakan oleh perangkat klien simulasi di komputer Anda.

1. Untuk menginstal SDK pada komputer anda, dengan semua komponen yang diperlukan, pilih sistem operasi Anda:

------
#### [ Windows ]

   1. Buka [prompt perintah yang ditinggikan](https://technet.microsoft.com/en-us/library/cc947813(v=ws.10).aspx) dan jalankan perintah berikut:

      ```
      python --version
      ```

      Jika tidak ada informasi versi dikembalikan atau jika nomor versi kurang dari 2.7 untuk Python 2 atau kurang dari 3.3 untuk Python 3, ikuti petunjuk di [Mengunduh Python](https://wiki.python.org/moin/BeginnersGuide/Download) untuk menginstal Python 2.7\$1 or Python 3.3\$1. Untuk informasi lebih lanjut, lihat [Menggunakan Python pada Windows](https://docs.python.org/3.6/using/windows.html).

   1. Unduh [AWS IoT Device SDK untuk Python](https://github.com/aws/aws-iot-device-sdk-python) sebagai `zip` file dan mengekstraksi ke lokasi yang sesuai pada komputer Anda.

      Buat catatan tentang path file ke `aws-iot-device-sdk-python-master` folder yang berisi `setup.py` file. Pada langkah berikutnya, jalur file ini ditunjukkan oleh*path-to-SDK-folder*.

   1. Dari prompt perintah yang ditinggikan, jalankan yang berikut ini:

      ```
      cd path-to-SDK-folder
      python setup.py install
      ```

------
#### [ macOS ]

   1. Buka jendela Terminal dan jalankan perintah berikut:

      ```
      python --version
      ```

      Jika tidak ada informasi versi dikembalikan atau jika nomor versi kurang dari 2.7 untuk Python 2 atau kurang dari 3.3 untuk Python 3, ikuti petunjuk di [Mengunduh Python](https://wiki.python.org/moin/BeginnersGuide/Download) untuk menginstal Python 2.7\$1 or Python 3.3\$1. Untuk informasi lebih lanjut, lihat [Menggunakan Python pada Macintosh](https://docs.python.org/3/using/mac.html).

   1. Di jendela Terminal, jalankan perintah berikut untuk menentukan versi OpenSSL:

      ```
      python
      >>>import ssl
      >>>print ssl.OPENSSL_VERSION
      ```

      Buat catatan nilai versi OpenSSL. 
**catatan**  
Jika Anda menjalankan Python 3, gunakan **print(ssl.OPENSSL\$1VERSION)**.

      Untuk menutup Python shell, jalankan perintah berikut:

      ```
      >>>exit()
      ```

      Jika versi OpenSSL adalah 1.0.1 atau yang lebih baru, lewati ke [langkah c](#step-c-install-python-sdk). Jika tidak, ikuti langkah-langkah berikut:

      1. Dari jendela Terminal, jalankan perintah berikut untuk menentukan apakah komputer menggunakan Simple Python Version Management:

        ```
        which pyenv
        ```

      Jika path file dikembalikan, kemudian pilih tab **Menggunakan `pyenv`** ini. Jika tidak ada yang dikembalikan, pilih tab **Tidak menggunakan `pyenv`** ini.

------
#### [ Using pyenv ]

      1. Lihat [Phyton Releases for Mac OS X](https://www.python.org/downloads/mac-osx/) (atau serupa) untuk menentukan versi Python stabil terbaru. Dalam contoh berikut, nilai ini ditunjukkan oleh*latest-Python-version*.

      1. Dari jendela Terminal, jalankan perintah berikut:

         ```
         pyenv install latest-Python-version
         pyenv global latest-Python-version
         ```

         Sebagai contoh, jika versi terbaru untuk Python 2 adalah 2.7.14, maka perintah ini adalah:

         ```
         pyenv install 2.7.14
         pyenv global 2.7.14
         ```

      1. Tutup lalu buka kembali jendela Terminal lalu jalankan perintah berikut:

         ```
         python
         >>>import ssl
         >>>print ssl.OPENSSL_VERSION
         ```

         Versi OpenSSL harus setidaknya 1.0.1. Jika versi kurang dari 1.0.1, maka pembaruan gagal. Periksa nilai versi Python yang digunakan dalam **pyenv install** dan **pyenv global** perintahkan dan coba lagi.

      1. Jalankan perintah berikut untuk keluar dari Python shell:

         ```
          exit()
         ```

------
#### [ Not using pyenv ]

      1. Dari jendela Terminal, jalankan perintah berikut untuk menentukan apakah [brew](https://brew.sh/) diinstal:

         ```
         which brew
         ```

         Jika path file tidak dikembalikan, instal `brew` sebagai berikut:

         ```
         /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
         ```
**catatan**  
Ikuti petunjuk penginstalan. Unduh untuk alat baris perintah Xcode dapat memakan waktu lama.

      1. Jalankan perintah berikut:

         ```
         brew update
         brew install openssl
         brew install python@2
         ```

          AWS IoT Device SDK Untuk Python memerlukan OpenSSL versi 1.0.1 (atau yang lebih baru) dikompilasi dengan executable Python. Perintah **brew install python** menginstal sebuah `python2` executable yang memenuhi persyaratan ini. Executable `python2` diinstal di `/usr/local/bin` direktori, yang harus menjadi bagian dari `PATH` variabel lingkungan. Untuk mengonfirmasi, jalankan perintah berikut:

         ```
         python2 --version
         ```

         Jika `python2` informasi versi tersedia, lewati ke langkah selanjutnya. Jika tidak, secara permanen menambahkan `/usr/local/bin` jalur ke `PATH` dengan menambahkan baris berikut ke profil shell Anda:

         ```
         export PATH="/usr/local/bin:$PATH"
         ```

         Sebagai contoh, jika Anda menggunakan `.bash_profile` atau belum memiliki profil shell, jalankan perintah berikut dari jendela Terminal:

         ```
         echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile
         ```

         Selanjutnya, [sumber](https://en.wikipedia.org/wiki/Source_(command)) profil shell Anda dan konfirmasikan bahwa `python2 --version` menyediakan informasi versi. Sebagai contoh, jika Anda menggunakan `.bash_profile`, jalankan perintah berikut:

         ```
         source ~/.bash_profile
         python2 --version
         ```

         `python2` informasi versi harus dikembalikan.

      1. Tambahkan baris berikut ke profil shell Anda:

         ```
         alias python="python2"
         ```

         Sebagai contoh, jika Anda menggunakan `.bash_profile` atau belum memiliki profil shell, jalankan perintah berikut:

         ```
         echo 'alias python="python2"' >> ~/.bash_profile
         ```

      1. Selanjutnya, [sumber](https://en.wikipedia.org/wiki/Source_(command)) profil shell Anda. Sebagai contoh, jika Anda menggunakan `.bash_profile`, jalankan perintah berikut:

         ```
         source ~/.bash_profile
         ```

         Memanggil **python** menjalankan Python executable yang berisi versi OpenSSL yang dibutuhkan (`python2`) .

      1. Jalankan perintah berikut:

         ```
         python
          import ssl
          print ssl.OPENSSL_VERSION
         ```

         Versi OpenSSL harus 1.0.1 atau yang lebih baru.

      1. Untuk keluar dari Python shell, jalankan perintah berikut:

         ```
          exit()
         ```

------

   1. <a name="step-c-install-python-sdk"></a>Jalankan perintah berikut untuk menginstal AWS IoT Device SDK untuk Python:

      ```
      cd ~
      git clone https://github.com/aws/aws-iot-device-sdk-python.git
      cd aws-iot-device-sdk-python
      sudo python setup.py install
      ```

------
#### [ UNIX-like system ]

   1. Dari jendela terminal, jalankan perintah berikut:

      ```
      python --version
      ```

      Jika tidak ada informasi versi dikembalikan atau jika nomor versi kurang dari 2.7 untuk Python 2 atau kurang dari 3.3 untuk Python 3, ikuti petunjuk di [Mengunduh Python](https://wiki.python.org/moin/BeginnersGuide/Download) untuk menginstal Python 2.7\$1 or Python 3.3\$1. Untuk informasi lebih lanjut, lihat [Menggunakan Python pada platform Unix](https://docs.python.org/3.6/using/unix.html).

   1. Di terminal, jalankan perintah berikut untuk menentukan versi OpenSSL:

      ```
      python
      >>>import ssl
      >>>print ssl.OPENSSL_VERSION
      ```

      Buat catatan nilai versi OpenSSL. 
**catatan**  
Jika Anda menjalankan Python 3, gunakan **print(ssl.OPENSSL\$1VERSION)**.

      Untuk menutup Python shell, jalankan perintah berikut:

      ```
       exit()
      ```

      Jika versi OpenSSL adalah 1.0.1 atau yang lebih baru, lewati ke langkah selanjutnya. Jika tidak, jalankan perintah untuk memperbarui OpenSSL untuk distribusi Anda (sebagai contoh, `sudo yum update openssl`, `sudo apt-get update`, dan sebagainya).

      Konfirmasikan bahwa versi OpenSSL adalah 1.0.1 atau yang lebih baru dengan menjalankan perintah berikut:

      ```
      python
      >>>import ssl
      >>>print ssl.OPENSSL_VERSION
      >>>exit()
      ```

   1. Jalankan perintah berikut untuk menginstal AWS IoT Device SDK untuk Python:

      ```
      cd ~
      git clone https://github.com/aws/aws-iot-device-sdk-python.git
      cd aws-iot-device-sdk-python
      sudo python setup.py install
      ```

------

1. Setelah AWS IoT Device SDK untuk Python diinstal, navigasikan ke `samples` folder dan buka folder. `greengrass`

   Untuk tutorial ini, Anda menyalin `basicDiscovery.py` fungsi sampel yang menggunakan sertifikat dan kunci yang diunduh di [Membuat perangkat klien dalam AWS IoT Greengrass grup](device-group.md).

1. Salin `basicDiscovery.py` ke folder yang berisi sertifikat dan kunci perangkat HelloWorld \$1Publisher dan HelloWorld \$1Subscriber.

# Uji komunikasi
<a name="test-comms"></a>

1. <a name="ping-device"></a>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
      ```

   1. Dalam komputer Anda, jalankan perintah berikut menggunakan alamat IP core. Anda dapat menggunakan Ctrl \$1 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.\]](http://docs.aws.amazon.com/id_id/greengrass/v1/developerguide/images/gg-get-started-075.5.png)
**catatan**  
Jika Anda tidak dapat melakukan ping ke EC2 instance yang sedang berjalan AWS IoT Greengrass, pastikan bahwa aturan grup keamanan masuk untuk instance mengizinkan lalu lintas ICMP untuk pesan permintaan [Echo](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html#sg-rules-ping). Untuk informasi selengkapnya, lihat [Menambahkan aturan ke grup keamanan](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#adding-security-group-rule) di *Panduan EC2 Pengguna Amazon*.  
Pada komputer host Windows, di Windows Firewall dengan aplikasi Keamanan Lanjutan, Anda mungkin juga perlu mengaktifkan aturan masuk yang memungkinkan permintaan gema masuk (misalnya, **Berbagi File dan Printer (Permintaan Gema - ICMPv4 -In))**, atau buat satu.

1. Dapatkan AWS IoT titik akhir Anda.

   1. <a name="iot-settings"></a>Dari panel navigasi [AWS IoT konsol](https://console.aws.amazon.com/iot/), pilih **Pengaturan**.

   1. <a name="iot-settings-endpoint"></a>Di bawah **titik akhir data perangkat**, catat nilai **Endpoint**. Anda menggunakan nilai ini untuk mengganti *AWS\$1IOT\$1ENDPOINT* placeholder dalam perintah dalam langkah-langkah berikut.
**catatan**  
Pastikan bahwa [titik akhir Anda sesuai dengan jenis sertifikat Anda](gg-core.md#certificate-endpoints).

1. Di komputer Anda (bukan perangkat AWS IoT Greengrass inti), buka dua jendela [baris perintah](https://en.wikipedia.org/wiki/Command-line_interface) (terminal atau command prompt). Satu jendela mewakili perangkat klien HelloWorld \$1Publisher dan yang lainnya mewakili perangkat klien HelloWorld \$1Subscriber.

   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**  
Klien yang IDs digunakan untuk koneksi MQTT harus cocok dengan nama benda 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
   ```

1. Dari jendela perangkat klien HelloWorld \$1Publisher, jalankan perintah berikut.
   + Ganti *path-to-certs-folder* dengan path ke folder yang berisi sertifikat, kunci, dan`basicDiscovery.py`.
   + Ganti *AWS\$1IOT\$1ENDPOINT* dengan endpoint Anda.
   + Ganti dua *publisherCertId* instance dengan ID sertifikat dalam nama file untuk perangkat klien HelloWorld \$1Publisher 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](#corp-network-manual-detection).  
![\[Screenshot dari output penerbit.\]](http://docs.aws.amazon.com/id_id/greengrass/v1/developerguide/images/gg-get-started-076.png)

1. Dari jendela perangkat klien HelloWorld \$1Subscriber, jalankan perintah berikut.
   + Ganti *path-to-certs-folder* dengan path ke folder yang berisi sertifikat, kunci, dan`basicDiscovery.py`.
   + Ganti *AWS\$1IOT\$1ENDPOINT* dengan endpoint Anda.
   + Ganti dua *subscriberCertId* instance dengan ID sertifikat dalam nama file untuk perangkat klien HelloWorld \$1Subscriber 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.\]](http://docs.aws.amazon.com/id_id/greengrass/v1/developerguide/images/gg-get-started-077.png)

Tutup HelloWorld\$1Publisher jendela untuk menghentikan pesan agar tidak bertambah di HelloWorld\$1Subscriber jendela.

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. <a name="console-gg-groups"></a>**Di panel navigasi AWS IoT konsol, di bawah **Kelola**, perluas perangkat **Greengrass**, lalu pilih Grup (V1).**

1. Di bawah **grup Greengrass**, pilih grup Anda.

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

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

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

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

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

   1. Di bawah **Ikhtisar**, pilih inti **Greengrass**.

   1. **Di bawah **titik akhir broker MQTT, pilih Kelola titik akhir**.**

   1. 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`).

   1. Pilih **Perbarui**.