

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

# Memulai dengan AWS IoT Core tutorial
<a name="iot-gs"></a>

Apakah Anda baru mengenal IoT atau Anda memiliki pengalaman bertahun-tahun, sumber daya ini menyajikan AWS IoT konsep dan istilah yang akan membantu Anda mulai menggunakannya. AWS IoT
+ **Lihat** ke dalam AWS IoT dan komponennya masuk[Bagaimana cara AWS IoT kerja](aws-iot-how-it-works.md).
+ [**Pelajari** lebih lanjut AWS IoT](aws-iot-learn-more.md) dari koleksi materi dan video pelatihan kami. Topik ini juga mencakup daftar layanan yang AWS IoT dapat terhubung, tautan media sosial, dan tautan ke spesifikasi protokol komunikasi.
+ **[Connect perangkat pertama Anda ke AWS IoT Core](#aws-iot-get-started)**.
+ **Kembangkan** solusi IoT Anda dengan [Connect ke AWS IoT Core](connect-to-iot.md) dan jelajahi. [AWS IoT tutorial](iot-tutorials.md)
+ **Uji dan validasi** perangkat IoT Anda untuk komunikasi yang aman dan andal dengan menggunakan. [Penasihat Perangkat](device-advisor.md)
+ **Kelola** solusi Anda dengan menggunakan layanan AWS IoT Core manajemen seperti[Pengindeksan armada](iot-indexing.md),[AWS IoT Lowongan](iot-jobs.md), dan [AWS IoT Device Defender](https://docs.aws.amazon.com/iot-device-defender/latest/devguide/what-is-device-defender.html).
+ **Analisis** data dari perangkat Anda dengan menggunakan[AWS IoT layanan data](aws-iot-how-it-works.md#aws-iot-components-data).

## Connect perangkat pertama Anda ke AWS IoT Core
<a name="aws-iot-get-started"></a>

AWS IoT Core layanan menghubungkan perangkat IoT ke AWS IoT layanan dan layanan lainnya AWS . AWS IoT Core termasuk gateway perangkat dan broker pesan, yang menghubungkan dan memproses pesan antara perangkat IoT Anda dan cloud.

Inilah cara Anda dapat memulai dengan AWS IoT Core dan AWS IoT.

![\[AWS IoT Core memulai peta tur.\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/iot-gs-tour-map.png)


Bagian ini menyajikan tur AWS IoT Core untuk memperkenalkan layanan utamanya dan memberikan beberapa contoh cara menghubungkan perangkat ke AWS IoT Core dan menyampaikan pesan di antara mereka. Meneruskan pesan antara perangkat dan cloud sangat penting untuk setiap solusi IoT dan bagaimana perangkat Anda dapat berinteraksi dengan layanan lain AWS .
+ 

**[Mengatur Akun AWS](setting-up.md)**  
Sebelum Anda dapat menggunakan AWS IoT layanan, Anda harus mengatur Akun AWS. Jika Anda sudah memiliki Akun AWS dan pengguna IAM untuk diri sendiri, Anda dapat menggunakannya dan melewati langkah ini.
+ 

**[Coba tutorial koneksi cepat](iot-quick-start.md)**  
Tutorial ini paling baik jika Anda ingin memulai dengan cepat AWS IoT dan melihat cara kerjanya dalam skenario terbatas. Dalam tutorial ini, Anda akan memerlukan perangkat dan Anda akan menginstal beberapa AWS IoT perangkat lunak di dalamnya. Jika Anda tidak memiliki perangkat IoT, Anda dapat menggunakan komputer pribadi Windows, Linux, atau macOS Anda sebagai perangkat untuk tutorial ini. Jika Anda ingin mencoba AWS IoT, tetapi Anda tidak memiliki perangkat, coba opsi berikutnya.
+ 

**[Coba tutorial interaktif](interactive-demo.md)**  
Demo ini paling baik jika Anda ingin melihat apa yang dapat dilakukan AWS IoT solusi dasar tanpa menghubungkan perangkat atau mengunduh perangkat lunak apa pun. Tutorial interaktif menyajikan solusi simulasi yang dibangun di atas AWS IoT Core layanan yang menggambarkan bagaimana mereka berinteraksi.
+ 

**[Jelajahi AWS IoT Core layanan dengan tutorial langsung](iot-gs-first-thing.md)**  
Tutorial ini terbaik untuk pengembang yang ingin memulai AWS IoT sehingga mereka dapat terus mengeksplorasi AWS IoT Core fitur lain seperti mesin aturan dan bayangan. Tutorial ini mengikuti proses yang mirip dengan tutorial koneksi cepat, tetapi memberikan rincian lebih lanjut pada setiap langkah untuk memungkinkan transisi yang lebih lancar ke tutorial yang lebih maju.
+ 

**[Lihat pesan MQTT dengan klien MQTT AWS IoT](view-mqtt-messages.md)**  
Pelajari cara menggunakan klien pengujian MQTT untuk menonton perangkat pertama Anda mempublikasikan pesan MQTT. AWS IoT Klien pengujian MQTT adalah alat yang berguna untuk memantau dan memecahkan masalah koneksi perangkat.

**catatan**  
Jika Anda ingin mencoba lebih dari satu tutorial memulai ini atau mengulangi tutorial yang sama, Anda harus menghapus objek benda yang Anda buat dari tutorial sebelumnya sebelum Anda memulai yang lain. Jika Anda tidak menghapus objek benda dari tutorial sebelumnya, Anda harus menggunakan nama hal yang berbeda untuk tutorial berikutnya. Ini karena nama benda harus unik di akun Anda dan Wilayah AWS.

Untuk informasi lebih lanjut tentang AWS IoT Core, lihat [Apa itu AWS IoT Core](what-is-aws-iot.md)?

# Mengatur Akun AWS
<a name="setting-up"></a>

Sebelum Anda menggunakan AWS IoT Core untuk pertama kalinya, selesaikan tugas-tugas berikut:

**Topics**
+ [Mendaftar untuk Akun AWS](#sign-up-for-aws)
+ [Buat pengguna dengan akses administratif](#create-an-admin)
+ [Buka AWS IoT konsol](#iot-console-signin)

## Mendaftar untuk Akun AWS
<a name="sign-up-for-aws"></a>

Jika Anda tidak memiliki Akun AWS, selesaikan langkah-langkah berikut untuk membuatnya.

**Untuk mendaftar untuk Akun AWS**

1. Buka [https://portal.aws.amazon.com/billing/pendaftaran.](https://portal.aws.amazon.com/billing/signup)

1. Ikuti petunjuk online.

   Bagian dari prosedur pendaftaran melibatkan menerima panggilan telepon atau pesan teks dan memasukkan kode verifikasi pada keypad telepon.

   Saat Anda mendaftar untuk sebuah Akun AWS, sebuah *Pengguna root akun AWS*dibuat. Pengguna root memiliki akses ke semua Layanan AWS dan sumber daya di akun. Sebagai praktik keamanan terbaik, tetapkan akses administratif ke pengguna, dan gunakan hanya pengguna root untuk melakukan [tugas yang memerlukan akses pengguna root](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

AWS mengirimi Anda email konfirmasi setelah proses pendaftaran selesai. Kapan saja, Anda dapat melihat aktivitas akun Anda saat ini dan mengelola akun Anda dengan masuk [https://aws.amazon.com.rproxy.govskope.cake/](https://aws.amazon.com/) dan memilih **Akun Saya**.

## Buat pengguna dengan akses administratif
<a name="create-an-admin"></a>

Setelah Anda mendaftar Akun AWS, amankan Pengguna root akun AWS, aktifkan AWS IAM Identity Center, dan buat pengguna administratif sehingga Anda tidak menggunakan pengguna root untuk tugas sehari-hari.

**Amankan Anda Pengguna root akun AWS**

1.  Masuk ke [Konsol Manajemen AWS](https://console.aws.amazon.com/)sebagai pemilik akun dengan memilih **pengguna Root** dan memasukkan alamat Akun AWS email Anda. Di laman berikutnya, masukkan kata sandi.

   Untuk bantuan masuk dengan menggunakan pengguna root, lihat [Masuk sebagai pengguna root](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) di *AWS Sign-In Panduan Pengguna*.

1. Mengaktifkan autentikasi multi-faktor (MFA) untuk pengguna root Anda.

   Untuk petunjuk, lihat [Mengaktifkan perangkat MFA virtual untuk pengguna Akun AWS root (konsol) Anda](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) di Panduan Pengguna *IAM*.

**Buat pengguna dengan akses administratif**

1. Aktifkan Pusat Identitas IAM.

   Untuk mendapatkan petunjuk, silakan lihat [Mengaktifkan AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html) di *Panduan Pengguna AWS IAM Identity Center *.

1. Di Pusat Identitas IAM, berikan akses administratif ke pengguna.

   Untuk tutorial tentang menggunakan Direktori Pusat Identitas IAM sebagai sumber identitas Anda, lihat [Mengkonfigurasi akses pengguna dengan default Direktori Pusat Identitas IAM](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html) di *Panduan AWS IAM Identity Center Pengguna*.

**Masuk sebagai pengguna dengan akses administratif**
+ Untuk masuk dengan pengguna Pusat Identitas IAM, gunakan URL masuk yang dikirim ke alamat email saat Anda membuat pengguna Pusat Identitas IAM.

  Untuk bantuan masuk menggunakan pengguna Pusat Identitas IAM, lihat [Masuk ke portal AWS akses](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html) di *Panduan AWS Sign-In Pengguna*.

**Tetapkan akses ke pengguna tambahan**

1. Di Pusat Identitas IAM, buat set izin yang mengikuti praktik terbaik menerapkan izin hak istimewa paling sedikit.

   Untuk petunjuknya, lihat [Membuat set izin](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html) di *Panduan AWS IAM Identity Center Pengguna*.

1. Tetapkan pengguna ke grup, lalu tetapkan akses masuk tunggal ke grup.

   Untuk petunjuk, lihat [Menambahkan grup](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html) di *Panduan AWS IAM Identity Center Pengguna*.
+ [Buka AWS IoT konsol](#iot-console-signin)

Jika Anda sudah memiliki Akun AWS dan pengguna untuk diri sendiri, Anda dapat menggunakannya dan melompat ke depan[Buka AWS IoT konsol](#iot-console-signin).

## Buka AWS IoT konsol
<a name="iot-console-signin"></a>

Sebagian besar topik berorientasi konsol di bagian ini dimulai dari konsol. AWS IoT Jika Anda belum masuk Akun AWS, masuk, lalu buka [AWS IoT konsol](https://console.aws.amazon.com//iot/home) dan lanjutkan ke bagian berikutnya untuk melanjutkan memulai AWS IoT.

# Tutorial interaktif
<a name="interactive-demo"></a>

Tutorial interaktif menunjukkan komponen solusi IoT sederhana yang dibangun di atasnya. AWS IoT Tutorial menunjukkan bagaimana perangkat IoT berinteraksi dengan AWS IoT Core layanan. Topik ini memberikan pratinjau tutorial AWS IoT Core interaktif.

**catatan**  
Gambar di konsol menyertakan animasi yang tidak muncul dalam gambar dalam tutorial ini.

Untuk menjalankan demo, Anda harus terlebih dahulu[Mengatur Akun AWS](setting-up.md). Tutorial, bagaimanapun, tidak memerlukan AWS IoT sumber daya, perangkat lunak tambahan, atau pengkodean apa pun.

Berharap untuk menghabiskan sekitar 5-10 menit pada demo ini. Memberi diri Anda 10 menit akan memungkinkan lebih banyak waktu untuk memahami setiap langkah.

**Untuk menjalankan tutorial AWS IoT Core interaktif**

1. Buka [AWS IoT halaman](https://console.aws.amazon.com//iot/home#/home) beranda di AWS IoT konsol.

   Di **AWS IoT halaman** beranda, di panel jendela **Sumber pembelajaran**, pilih **Mulai tutorial**.  
![\[Ini adalah halaman beranda AWS IoT konsol.\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/aws-iot-learn-home-demo.png)

1. Di halaman **Tutorial AWS IoT Konsol**, tinjau bagian tutorial dan pilih **bagian Mulai** saat Anda siap untuk melanjutkan.

**Bagian berikut menjelaskan bagaimana **Tutorial AWS IoT Konsol** menyajikan AWS IoT Core fitur-fitur ini:**
+ [Menghubungkan perangkat IoT](#interactive-demo-part1)
+ [Menyimpan status perangkat offline](#interactive-demo-part2)
+ [Merutekan data perangkat ke layanan](#interactive-demo-part3)

## Menghubungkan perangkat IoT
<a name="interactive-demo-part1"></a>

Pelajari cara perangkat IoT berkomunikasi. AWS IoT Core

![\[Ini adalah langkah pertama dari tutorial AWS IoT interaktif.\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/aws-iot-learn-demo-step-1.png)


Animasi pada langkah ini menunjukkan bagaimana dua perangkat, perangkat kontrol di sebelah kiri dan lampu pintar di rumah di sebelah kanan, terhubung dan berkomunikasi dengan AWS IoT Core di awan. Animasi menunjukkan perangkat berkomunikasi dengan AWS IoT Core dan bereaksi terhadap pesan yang mereka terima.

Untuk informasi selengkapnya tentang menghubungkan perangkat AWS IoT Core, lihat[Connect ke AWS IoT Core](connect-to-iot.md).

## Menyimpan status perangkat offline
<a name="interactive-demo-part2"></a>

Pelajari cara AWS IoT Core menyimpan status perangkat saat perangkat atau aplikasi sedang offline.

![\[Ini adalah langkah kedua dari tutorial AWS IoT interaktif.\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/aws-iot-learn-demo-step-2.png)


Animasi pada langkah ini menunjukkan bagaimana layanan Device Shadow AWS IoT Core menyimpan informasi status perangkat untuk perangkat kontrol dan lampu pintar. Saat lampu pintar sedang offline, Device Shadow menyimpan perintah dari perangkat kontrol.

Ketika lampu pintar terhubung kembali AWS IoT Core, ia mengambil perintah-perintah itu. Saat perangkat kontrol offline, Device Shadow menyimpan informasi status dari lampu pintar. Ketika perangkat kontrol terhubung kembali, ia mengambil keadaan lampu pintar saat ini untuk memperbarui tampilannya.

Untuk informasi selengkapnya tentang Device Shadows, lihat[AWS IoT Layanan Device Shadow](iot-device-shadows.md).

## Merutekan data perangkat ke layanan
<a name="interactive-demo-part3"></a>

Pelajari cara AWS IoT Core mengirim status perangkat ke AWS layanan lain.

![\[Ini adalah langkah ketiga dari tutorial AWS IoT interaktif.\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/aws-iot-learn-demo-step-3.png)


Animasi pada langkah ini menunjukkan cara AWS IoT Core mengirim data dari perangkat ke AWS layanan lain dengan menggunakan AWS IoT aturan. AWS IoT aturan berlangganan pesan tertentu dari perangkat, menafsirkan data dalam pesan tersebut, dan merutekan data yang ditafsirkan ke layanan lain. Dalam contoh ini, AWS IoT aturan menafsirkan data dari sensor gerak dan mengirimkan perintah ke Device Shadow, yang kemudian mengirimkannya ke bohlam pintar. Seperti pada contoh sebelumnya, Device Shadow menyimpan info status perangkat untuk perangkat kontrol.

Untuk informasi selengkapnya tentang AWS IoT aturan, lihat[Aturan untuk AWS IoT](iot-rules.md).

# Coba tutorial koneksi AWS IoT Core cepat
<a name="iot-quick-start"></a>

Dalam tutorial ini, Anda akan membuat objek hal pertama Anda, menghubungkan perangkat ke sana, dan melihatnya mengirim pesan MQTT.

Anda dapat mengharapkan untuk menghabiskan 15-20 menit pada tutorial ini.

Tutorial ini paling baik bagi orang-orang yang ingin memulai dengan cepat AWS IoT untuk melihat cara kerjanya dalam skenario terbatas. Jika Anda mencari contoh yang akan membantu Anda memulai sehingga Anda dapat menjelajahi lebih banyak fitur dan layanan, cobalah[Jelajahi AWS IoT Core dalam tutorial langsung](iot-gs-first-thing.md).

Dalam tutorial ini, Anda akan mengunduh dan menjalankan perangkat lunak pada perangkat yang terhubung ke *sumber daya* AWS IoT Core sebagai bagian dari solusi IoT yang sangat kecil. Perangkat ini dapat berupa perangkat IoT, seperti Raspberry Pi, atau bisa juga komputer yang menjalankan Linux, OS dan OSX, atau Windows. Jika Anda ingin menghubungkan perangkat Long Range WAN (LoRaWAN) AWS IoT, lihat [tutorial> Menghubungkan perangkat dan gateway ke AWS IoT Core](https://docs.aws.amazon.com/iot-wireless/latest/developerguide/lorawan-getting-started.html) WAN. LoRa

Jika perangkat Anda mendukung browser yang dapat menjalankan [AWS IoT konsol](https://console.aws.amazon.com//iot/home), kami sarankan Anda menyelesaikan tutorial ini di perangkat itu.

**catatan**  
Jika perangkat Anda tidak memiliki browser yang kompatibel, ikuti tutorial ini di komputer. Ketika prosedur meminta Anda untuk mengunduh file, unduh ke komputer Anda, dan kemudian transfer file yang diunduh ke perangkat Anda dengan menggunakan Secure Copy (SCP) atau proses serupa.

Tutorial ini mengharuskan perangkat IoT Anda untuk berkomunikasi dengan port 8443 pada titik akhir data perangkat Anda Akun AWS. Untuk menguji apakah ia dapat mengakses port itu, coba prosedurnya di[Uji konektivitas dengan titik akhir data perangkat](iot-quick-start-test-connection.md).

## Langkah 1. Mulai tutorialnya
<a name="iot-quick-start-connect"></a>

Jika memungkinkan, selesaikan prosedur ini di perangkat Anda; jika tidak, bersiaplah untuk mentransfer file ke perangkat Anda nanti dalam prosedur ini.

Untuk memulai tutorial, masuk ke [AWS IoT konsol](https://console.aws.amazon.com//iot/home). Di halaman beranda AWS IoT konsol, di sebelah kiri, pilih **Connect** dan kemudian pilih **Connect one device**.

![\[Halaman beranda AWS IoT konsol ini menunjukkan cara menghubungkan satu perangkat.\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/aws-iot-quick-connect.PNG)


## Langkah 2. Buat objek benda
<a name="iot-quick-start-configure"></a>

1. Di bagian **Siapkan perangkat Anda**, ikuti petunjuk di layar untuk mempersiapkan perangkat Anda untuk AWS IoT terhubung.  
![\[Cara menyiapkan perangkat di AWS IoT konsol.\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/aws-iot-learn-prepare-device.png)

1. Di bagian **Daftar dan amankan perangkat Anda**, pilih **Buat hal baru** atau **Pilih hal yang sudah ada**. Di bidang **Thing name**, masukkan nama untuk objek benda Anda. Nama benda yang digunakan dalam contoh ini adalah **TutorialTestThing**
**penting**  
Periksa kembali nama barang Anda sebelum melanjutkan.  
Nama benda tidak dapat diubah setelah objek benda dibuat. Jika Anda ingin mengubah nama benda, Anda harus membuat objek benda baru dengan nama benda yang benar dan kemudian menghapus yang dengan nama yang salah.

   Di bagian **Konfigurasi tambahan**, sesuaikan sumber daya benda Anda lebih lanjut menggunakan konfigurasi opsional yang terdaftar.

   Setelah Anda memberikan nama objek benda Anda dan memilih konfigurasi tambahan apa pun, pilih **Berikutnya**.  
![\[Gunakan AWS IoT konsol untuk mendaftar dan mengamankan perangkat Anda.\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/aws-iot-learn-register-and-secure-your-device.png)

1. Di bagian **Pilih platform dan SDK**, pilih platform dan bahasa SDK AWS IoT Perangkat yang ingin Anda gunakan. Contoh ini menggunakan Linux/OSX platform dan Python SDK. Pastikan bahwa Anda memiliki python3 dan pip3 diinstal pada perangkat target Anda sebelum Anda melanjutkan ke langkah berikutnya.
**catatan**  
Pastikan untuk memeriksa daftar perangkat lunak prasyarat yang diperlukan oleh SDK pilihan Anda di bagian bawah halaman konsol.  
Anda harus memiliki perangkat lunak yang diperlukan diinstal pada komputer target Anda sebelum Anda melanjutkan ke langkah berikutnya.

   Setelah Anda memilih bahasa SDK platform dan perangkat, pilih **Berikutnya**.  
![\[Gunakan AWS IoT konsol untuk memilih platform dan SDK.\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/aws-iot-learn-choose-platform-and-SDK.png)

## Langkah 3. Unduh file ke perangkat Anda
<a name="iot-quick-start-name"></a>

Halaman ini muncul AWS IoT setelah membuat kit koneksi, yang mencakup file dan sumber daya berikut yang dibutuhkan perangkat Anda:
+ File sertifikat benda yang digunakan untuk mengautentikasi perangkat
+ Sumber daya kebijakan untuk mengotorisasi objek benda Anda untuk berinteraksi AWS IoT
+ Skrip untuk mengunduh SDK AWS Perangkat dan menjalankan program sampel di perangkat Anda

1. Saat Anda siap untuk melanjutkan, pilih **Unduh kit koneksi untuk** tombol untuk mengunduh kit koneksi untuk platform yang Anda pilih sebelumnya.  
![\[Ini adalah halaman AWS IoT konsol untuk mengunduh file sertifikat.\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/aws-iot-learn-download-connection-kit_1.png)

1. Jika Anda menjalankan prosedur ini di perangkat Anda, simpan file kit koneksi ke direktori tempat Anda dapat menjalankan perintah baris perintah.

   Jika Anda tidak menjalankan prosedur ini di perangkat Anda, simpan file kit koneksi ke direktori lokal dan kemudian transfer file ke perangkat Anda.

1. Di **kit koneksi Unzip di bagian perangkat Anda**, masukkan **unzip connect\$1device\$1package.zip** di direktori tempat file kit koneksi berada.

   Jika Anda menggunakan jendela PowerShell perintah Windows dan **unzip** perintah tidak berfungsi, ganti **unzip** dengan**expand-archive**, dan coba baris perintah lagi.

1. Setelah Anda memiliki file kit koneksi pada perangkat, lanjutkan tutorial dengan memilih **Berikutnya**.  
![\[AWS IoT halaman unduhan file sertifikat konsol setelah pengunduhan kit koneksi.\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/aws-iot-learn-download-connection-kit_2.png)

## Langkah 4. Jalankan sampel
<a name="iot-quick-start-install-run"></a>

Anda melakukan prosedur ini di terminal atau jendela perintah pada perangkat Anda saat Anda mengikuti petunjuk yang ditampilkan di konsol. Perintah yang Anda lihat di konsol adalah untuk sistem operasi yang Anda pilih[Langkah 2. Buat objek benda](#iot-quick-start-configure). Yang ditampilkan di sini adalah untuk sistem Linux/OSX operasi.

1. Di terminal atau jendela perintah di perangkat Anda, di direktori dengan file kit koneksi, lakukan langkah-langkah yang ditunjukkan di AWS IoT konsol.  
![\[AWS IoT konsol mulai cepat instal dan jalankan halaman.\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/aws-iot-learn-run-connection-kit.png)

1. Setelah Anda memasukkan perintah dari **Langkah 2** di konsol, Anda akan melihat output di terminal perangkat atau jendela perintah yang mirip dengan yang berikut ini. Output ini berasal dari pesan yang dikirim oleh program dan kemudian menerima kembali AWS IoT Core.  
![\[AWS IoT konsol mulai cepat contoh output program.\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/aws-iot-learn-connect-console-output-python_updated.png)

   Saat program sampel sedang berjalan, pesan pengujian `Hello World!` akan muncul juga. Pesan pengujian muncul di terminal atau jendela perintah di perangkat Anda.
**catatan**  
Untuk informasi selengkapnya tentang langganan topik dan publikasi, lihat contoh kode SDK yang Anda pilih.

1. Untuk menjalankan program sampel lagi, Anda dapat mengulangi perintah dari **Langkah 2** di konsol prosedur ini.

1. **(Opsional) Jika Anda ingin melihat pesan dari klien IoT Anda di [AWS IoT konsol](https://console.aws.amazon.com//iot/home), buka klien pengujian [MQTT di halaman Uji](https://console.aws.amazon.com//iot/home#/test) konsol.** AWS IoT Jika Anda memilih Python SDK, maka di **klien pengujian MQTT**, di **filter Topik, masukkan topik**, seperti berlangganan pesan dari **sdk/test/*python*** perangkat Anda. Filter topik peka huruf besar/kecil dan bergantung pada bahasa pemrograman SDK yang Anda pilih di **Langkah 1**. Untuk informasi selengkapnya tentang langganan topik dan publikasi, lihat contoh kode SDK yang Anda pilih.

1. Setelah Anda berlangganan topik pengujian, jalankan **./start.sh** di perangkat Anda. Untuk informasi selengkapnya, lihat [Lihat pesan MQTT dengan klien MQTT AWS IoT](view-mqtt-messages.md).

   Setelah Anda menjalankan**./start.sh**, pesan muncul di klien MQTT, mirip dengan yang berikut ini:

   ```
   {
     "message": "Hello World!" [1]
   }
   ```

   `sequence`Nomor terbungkus secara `[]` bertahap oleh satu setiap kali `Hello World!` pesan baru diterima dan berhenti ketika Anda mengakhiri program.

1. Untuk menyelesaikan tutorial dan melihat ringkasan, di AWS IoT konsol, pilih **Lanjutkan**.   
![\[AWS IoT konsol halaman penyelesaian mulai cepat.\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/aws-iot-learn-connect-complete_updated1.png)

1. Ringkasan tutorial koneksi AWS IoT cepat Anda sekarang akan muncul.  
![\[AWS IoT halaman ringkasan mulai cepat konsol.\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/aws-iot-learn-device-is-connected.png)

## Langkah 5. Jelajahi lebih lanjut
<a name="iot-quick-start-test"></a>

Berikut adalah beberapa ide untuk dijelajahi AWS IoT lebih lanjut setelah Anda menyelesaikan awal yang cepat.
+ 

**[Lihat pesan MQTT di klien pengujian MQTT](https://console.aws.amazon.com/iot/home#/test)**  
Dari [AWS IoT konsol](https://console.aws.amazon.com//iot/home), Anda dapat membuka [klien MQTT](https://console.aws.amazon.com//iot/home#/test) di halaman **Uji** konsol. AWS IoT Di **klien pengujian MQTT**, berlangganan, dan kemudian**\$1**, di perangkat Anda, jalankan program **./start.sh** seperti yang dijelaskan pada langkah sebelumnya. Untuk informasi selengkapnya, lihat [Lihat pesan MQTT dengan klien MQTT AWS IoT](view-mqtt-messages.md).
+ 

**Jalankan pengujian pada perangkat Anda dengan [Device Advisor](https://docs.aws.amazon.com//iot/latest/developerguide/device-advisor.html)**  
Gunakan Device Advisor untuk menguji apakah perangkat Anda dapat terhubung dan berinteraksi dengan aman dan andal. AWS IoT
+ 

**[Tutorial interaktif](interactive-demo.md)**  
Untuk memulai tutorial interaktif, dari halaman **Pelajari** AWS IoT konsol, di ubin **Lihat cara AWS IoT kerja**, pilih **Mulai tutorial**.
+ 

**[Bersiaplah untuk menjelajahi lebih banyak tutorial](iot-gs-first-thing.md)**  
Mulai cepat ini memberi Anda hanya contoh AWS IoT. Jika Anda ingin menjelajahi AWS IoT lebih jauh dan mempelajari fitur-fitur yang menjadikannya platform solusi IoT yang kuat, mulailah mempersiapkan platform pengembangan Anda dengan. [Jelajahi AWS IoT Core dalam tutorial langsung](iot-gs-first-thing.md)

# Uji konektivitas dengan titik akhir data perangkat
<a name="iot-quick-start-test-connection"></a>

Topik ini menjelaskan cara menguji koneksi perangkat dengan *titik akhir data perangkat akun Anda, titik* akhir yang digunakan perangkat IoT Anda untuk terhubung. AWS IoT

Lakukan prosedur ini pada perangkat yang ingin Anda uji atau dengan menggunakan sesi terminal SSH yang terhubung ke perangkat yang ingin Anda uji.

**Topics**
+ [Menemukan titik akhir data perangkat](#iot-quick-start-test-connection-endpoint)
+ [Uji koneksi dengan cepat](#iot-quick-start-test-connection-ping)
+ [Dapatkan aplikasi untuk menguji koneksi ke titik akhir dan port data perangkat Anda](#iot-quick-start-test-connection-app)
+ [Uji koneksi ke titik akhir dan port data perangkat](#iot-quick-start-test-connection-test)

## Menemukan titik akhir data perangkat
<a name="iot-quick-start-test-connection-endpoint"></a>

Prosedur ini menjelaskan cara menemukan titik akhir data perangkat Anda di [AWS IoT konsol](https://console.aws.amazon.com//iot/home) untuk menguji koneksi ke perangkat IoT Anda.

**Untuk menemukan titik akhir data perangkat**

1. Di [AWS IoT konsol](https://console.aws.amazon.com//iot/home), di bagian **Connect**, buka **Konfigurasi Domain**.

1. Di halaman **Konfigurasi Domain**, buka wadah **konfigurasi Domain**, dan salin **nama Domain**. Nilai endpoint Anda unik untuk Anda Akun AWS dan mirip dengan contoh ini:`a3qEXAMPLEsffp-ats.iot.eu-west-1.amazonaws.com`.

1. 

   Simpan titik akhir data perangkat Anda untuk digunakan dalam prosedur berikut.

## Uji koneksi dengan cepat
<a name="iot-quick-start-test-connection-ping"></a>

Prosedur ini menguji konektivitas umum dengan titik akhir data perangkat Anda, tetapi tidak menguji port spesifik yang akan digunakan perangkat Anda. Tes ini menggunakan program umum dan biasanya cukup untuk mengetahui apakah perangkat Anda dapat terhubung AWS IoT.

Jika Anda ingin menguji konektivitas dengan port spesifik yang akan digunakan perangkat Anda, lewati prosedur ini dan lanjutkan ke[Dapatkan aplikasi untuk menguji koneksi ke titik akhir dan port data perangkat Anda](#iot-quick-start-test-connection-app).

**Untuk menguji titik akhir data perangkat dengan cepat**

1. Di jendela terminal atau baris perintah pada perangkat Anda, ganti contoh titik akhir data perangkat (`a3qEXAMPLEsffp-ats.iot.eu-west-1.amazonaws.com`) dengan titik akhir data perangkat untuk akun Anda, lalu masukkan perintah ini.

------
#### [ Linux ]

   ```
   ping -c 5 a3qEXAMPLEsffp-ats.iot.eu-west-1.amazonaws.com
   ```

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

   ```
   ping -n 5 a3qEXAMPLEsffp-ats.iot.eu-west-1.amazonaws.com
   ```

------

1. Jika `ping` menampilkan output yang mirip dengan berikut ini, itu berhasil terhubung ke titik akhir data perangkat Anda. Meskipun tidak berkomunikasi AWS IoT secara langsung, ia menemukan server dan kemungkinan AWS IoT tersedia melalui titik akhir ini.

   ```
   PING a3qEXAMPLEsffp-ats.iot.eu-west-1.amazonaws.com (xx.xx.xxx.xxx) 56(84) bytes of data.
   64 bytes from ec2-EXAMPLE-218.eu-west-1.compute.amazonaws.com (xx.xx.xxx.xxx): icmp_seq=1 ttl=231 time=127 ms
   64 bytes from ec2-EXAMPLE-218.eu-west-1.compute.amazonaws.com (xx.xx.xxx.xxx): icmp_seq=2 ttl=231 time=127 ms
   64 bytes from ec2-EXAMPLE-218.eu-west-1.compute.amazonaws.com (xx.xx.xxx.xxx): icmp_seq=3 ttl=231 time=127 ms
   64 bytes from ec2-EXAMPLE-218.eu-west-1.compute.amazonaws.com (xx.xx.xxx.xxx): icmp_seq=4 ttl=231 time=127 ms
   64 bytes from ec2-EXAMPLE-218.eu-west-1.compute.amazonaws.com (xx.xx.xxx.xxx): icmp_seq=5 ttl=231 time=127 ms
   ```

   Jika Anda puas dengan hasil ini, Anda dapat berhenti menguji di sini.

   Jika Anda ingin menguji konektivitas dengan port tertentu yang digunakan oleh AWS IoT, lanjutkan ke[Dapatkan aplikasi untuk menguji koneksi ke titik akhir dan port data perangkat Anda](#iot-quick-start-test-connection-app).

1. Jika `ping` tidak mengembalikan output yang berhasil, periksa nilai titik akhir untuk memastikan Anda memiliki titik akhir yang benar dan periksa koneksi perangkat dengan internet.

## Dapatkan aplikasi untuk menguji koneksi ke titik akhir dan port data perangkat Anda
<a name="iot-quick-start-test-connection-app"></a>

Tes konektivitas yang lebih menyeluruh dapat dilakukan dengan menggunakan`nmap`. Prosedur ini menguji untuk melihat `nmap` apakah diinstal pada perangkat Anda.

**Untuk memeriksa `nmap` di perangkat**

1. Di jendela terminal atau baris perintah pada perangkat yang ingin Anda uji, masukkan perintah ini untuk melihat `nmap` apakah diinstal.

   ```
   nmap --version
   ```

1. Jika Anda melihat output yang mirip dengan berikut `nmap` ini, diinstal dan Anda dapat melanjutkan ke[Uji koneksi ke titik akhir dan port data perangkat](#iot-quick-start-test-connection-test).

   ```
   Nmap version 6.40 ( http://nmap.org )
   Platform: x86_64-koji-linux-gnu
   Compiled with: nmap-liblua-5.2.2 openssl-1.0.2k libpcre-8.32 libpcap-1.5.3 nmap-libdnet-1.12 ipv6
   Compiled without:
   Available nsock engines: epoll poll select
   ```

1. Jika Anda tidak melihat respons yang mirip dengan yang ditunjukkan pada langkah sebelumnya, Anda harus menginstal `nmap` di perangkat. Pilih prosedur untuk sistem operasi perangkat Anda.

------
#### [ Linux ]

Prosedur ini mengharuskan Anda memiliki izin untuk menginstal perangkat lunak di komputer.

**Untuk menginstal nmap di komputer Linux Anda**

1. Di jendela terminal atau baris perintah pada perangkat Anda, masukkan perintah yang sesuai dengan versi Linux yang dijalankannya.

   1. Debian atau Ubuntu:

      ```
      sudo apt install nmap
      ```

   1. CentOS atau RHEL:

      ```
      sudo yum install nmap
      ```

1. Uji instalasi dengan perintah ini:

   ```
   nmap --version
   ```

1. Jika Anda melihat output yang mirip dengan berikut `nmap` ini, diinstal dan Anda dapat melanjutkan ke[Uji koneksi ke titik akhir dan port data perangkat](#iot-quick-start-test-connection-test).

   ```
   Nmap version 6.40 ( http://nmap.org )
   Platform: x86_64-koji-linux-gnu
   Compiled with: nmap-liblua-5.2.2 openssl-1.0.2k libpcre-8.32 libpcap-1.5.3 nmap-libdnet-1.12 ipv6
   Compiled without:
   Available nsock engines: epoll poll select
   ```

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

Prosedur ini mengharuskan Anda memiliki izin untuk menginstal perangkat lunak di komputer.

**Untuk menginstal nmap di komputer macOS Anda**

1. Di browser, buka [https://nmap.org/download\$1macosx](https://nmap.org/download#macosx) dan unduh penginstal **stabil terbaru**.

   Saat diminta, pilih **Buka dengan DiskImageInstaller**.

1. Di jendela instalasi, pindahkan paket ke folder **Aplikasi**.

1. Di **Finder**, cari `nmap-xxxx-mpkg` paket di folder **Applications**. **Ctrl-click**paket on dan pilih **Buka** untuk membuka paket.

1. Tinjau kotak dialog keamanan. Jika Anda siap untuk menginstal**nmap**, pilih **Buka** untuk menginstal**nmap**.

1. Di**Terminal**, uji instalasi dengan perintah ini.

   ```
   nmap --version
   ```

1. Jika Anda melihat output yang mirip dengan berikut `nmap` ini, diinstal dan Anda dapat melanjutkan ke[Uji koneksi ke titik akhir dan port data perangkat](#iot-quick-start-test-connection-test).

   ```
   Nmap version 7.92 ( https://nmap.org )
   Platform: x86_64-apple-darwin17.7.0
   Compiled with: nmap-liblua-5.3.5 openssl-1.1.1k nmap-libssh2-1.9.0 libz-1.2.11 nmap-libpcre-7.6 nmap-libpcap-1.9.1 nmap-libdnet-1.12 ipv6 Compiled without:
   Available nsock engines: kqueue poll select
   ```

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

Prosedur ini mengharuskan Anda memiliki izin untuk menginstal perangkat lunak di komputer.

**Untuk menginstal nmap di komputer Windows Anda**

1. Di browser, buka [https://nmap.org/download\$1windows](https://nmap.org/download#windows) dan unduh rilis **stabil terbaru** dari program pengaturan.

   Jika diminta, pilih **Simpan file**. Setelah file diunduh, buka dari folder unduhan.

1.  Setelah file pengaturan selesai diunduh, buka unduhan **nmap-xxxx-setup.exe** untuk menginstal aplikasi. 

1.  Terima pengaturan default saat program menginstal.

   Anda tidak memerlukan aplikasi Npcap untuk tes ini. Anda dapat membatalkan pilihan itu jika Anda tidak ingin menginstalnya.

1. Di**Command**, uji instalasi dengan perintah ini.

   ```
   nmap --version
   ```

1. Jika Anda melihat output yang mirip dengan berikut `nmap` ini, diinstal dan Anda dapat melanjutkan ke[Uji koneksi ke titik akhir dan port data perangkat](#iot-quick-start-test-connection-test).

   ```
   Nmap version 7.92 ( https://nmap.org )
   Platform: i686-pc-windows-windows
   Compiled with: nmap-liblua-5.3.5 openssl-1.1.1k nmap-libssh2-1.9.0 nmap-libz-1.2.11 nmap-libpcre-7.6 Npcap-1.50 nmap-libdnet-1.12 ipv6
   Compiled without:
   Available nsock engines: iocp poll select
   ```

------

## Uji koneksi ke titik akhir dan port data perangkat
<a name="iot-quick-start-test-connection-test"></a>

Prosedur ini menguji koneksi perangkat IoT Anda ke titik akhir data perangkat menggunakan port yang Anda pilih.

**Untuk menguji titik akhir dan port data perangkat**

1. Di jendela terminal atau baris perintah pada perangkat Anda, ganti contoh titik akhir data perangkat (`a3qEXAMPLEsffp-ats.iot.eu-west-1.amazonaws.com`) dengan titik akhir data perangkat untuk akun Anda, lalu masukkan perintah ini.

   ```
   nmap -p 8443 a3qEXAMPLEsffp-ats.iot.eu-west-1.amazonaws.com
   ```

1. Jika `nmap` menampilkan output yang mirip dengan berikut ini, berhasil `nmap` tersambung ke titik akhir data perangkat Anda di port yang dipilih.

   ```
   Starting Nmap 7.92 ( https://nmap.org ) at 2022-02-18 16:23 Pacific Standard Time
   Nmap scan report for a3qEXAMPLEsffp-ats.iot.eu-west-1.amazonaws.com (xx.xxx.147.160)
   Host is up (0.036s latency).
   Other addresses for a3qEXAMPLEsffp-ats.iot.eu-west-1.amazonaws.com (not scanned): xx.xxx.134.144 xx.xxx.55.139 xx.xxx.110.235 xx.xxx.174.233 xx.xxx.74.65 xx.xxx.122.179 xx.xxx.127.126
   rDNS record for xx.xxx.147.160: ec2-EXAMPLE-160.eu-west-1.compute.amazonaws.com
   
   PORT     STATE SERVICE
   8443/tcp open  https-alt
   MAC Address: 00:11:22:33:44:55 (Cimsys)
   
   Nmap done: 1 IP address (1 host up) scanned in 0.91 seconds
   ```

1. Jika `nmap` tidak menghasilkan output yang berhasil, periksa nilai titik akhir untuk memastikan Anda memiliki titik akhir yang benar dan periksa koneksi perangkat Anda dengan internet.

Anda dapat menguji port lain pada titik akhir data perangkat Anda, seperti port 443, port HTTPS utama, dengan mengganti port yang digunakan pada langkah 1`8443`, dengan port yang ingin Anda uji.

# Jelajahi AWS IoT Core dalam tutorial langsung
<a name="iot-gs-first-thing"></a>

Dalam tutorial ini, Anda akan menginstal perangkat lunak dan membuat AWS IoT sumber daya yang diperlukan untuk menghubungkan perangkat AWS IoT Core sehingga dapat mengirim dan menerima pesan MQTT. AWS IoT Core Anda akan melihat pesan di klien MQTT di konsol. AWS IoT 

Anda dapat menghabiskan 20-30 menit pada tutorial ini. Jika Anda menggunakan perangkat IoT atau Raspberry Pi, tutorial ini mungkin memakan waktu lebih lama jika, misalnya, Anda perlu menginstal sistem operasi dan mengkonfigurasi perangkat.

![\[Memulai dengan AWS IoT Core Page\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/iot-getting-started.png)


Tutorial ini terbaik untuk pengembang yang ingin memulai AWS IoT Core sehingga mereka dapat terus mengeksplorasi fitur-fitur yang lebih canggih, seperti [mesin aturan](https://docs.aws.amazon.com//iot/latest/developerguide/iot-rules.html) dan [bayangan](https://docs.aws.amazon.com//iot/latest/developerguide/iot-device-shadows.html). Tutorial ini mempersiapkan Anda untuk terus belajar tentang AWS IoT Core dan bagaimana berinteraksi dengan AWS layanan lain dengan menjelaskan langkah-langkah secara lebih rinci daripada tutorial mulai [cepat](iot-quick-start.md). Jika Anda hanya mencari pengalaman *Hello World* yang cepat, coba[Coba tutorial koneksi AWS IoT Core cepat](iot-quick-start.md).

Setelah menyiapkan Akun AWS dan AWS IoT konsol, Anda akan mengikuti langkah-langkah ini untuk melihat cara menghubungkan perangkat dan mengirimkannya pesan AWS IoT Core.

**Langkah selanjutnya**
+ [Pilih opsi perangkat mana yang terbaik untuk Anda](#choosing-a-gs-system)
+ [Buat AWS IoT sumber daya](create-iot-resources.md)jika Anda tidak akan membuat perangkat virtual dengan Amazon EC2
+ [Konfigurasikan perangkat Anda](configure-device.md)
+ [Lihat pesan MQTT dengan klien MQTT AWS IoT](view-mqtt-messages.md)

Untuk informasi lebih lanjut tentang AWS IoT Core, lihat [Apa itu AWS IoT Core](what-is-aws-iot.md)?

## Opsi perangkat mana yang terbaik untuk Anda?
<a name="choosing-a-gs-system"></a>

Jika Anda tidak yakin opsi mana yang harus dipilih, gunakan daftar keuntungan dan kerugian masing-masing opsi berikut untuk membantu Anda memutuskan mana yang terbaik untuk Anda.


| Opsi | Ini mungkin pilihan yang baik jika: | Ini mungkin bukan pilihan yang baik jika: | 
| --- | --- | --- | 
| [Buat perangkat virtual dengan Amazon EC2](creating-a-virtual-thing.md) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/iot-gs-first-thing.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/iot-gs-first-thing.html)  | 
| [Gunakan Windows atau Linux PC atau Mac Anda sebagai AWS IoT perangkat](using-laptop-as-device.md) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/iot-gs-first-thing.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/iot-gs-first-thing.html)  | 
| [Connect Raspberry Pi atau perangkat lain](connecting-to-existing-device.md) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/iot-gs-first-thing.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/iot-gs-first-thing.html)  | 

# Buat AWS IoT sumber daya
<a name="create-iot-resources"></a>

Dalam tutorial ini, Anda akan membuat AWS IoT sumber daya yang dibutuhkan perangkat untuk terhubung AWS IoT Core dan bertukar pesan.

![\[Buat halaman AWS IoT sumber daya.\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/iot-gs-create-resources.png)


1. Buat dokumen AWS IoT kebijakan, yang akan mengizinkan perangkat Anda untuk berinteraksi dengan AWS IoT layanan.

1. Buat objek benda AWS IoT dan sertifikat perangkat X.509-nya, lalu lampirkan dokumen kebijakan. Objek benda adalah representasi virtual perangkat Anda di AWS IoT registri. Sertifikat mengautentikasi perangkat Anda ke AWS IoT Core, dan dokumen kebijakan mengizinkan perangkat Anda untuk berinteraksi. AWS IoT
**catatan**  
Jika Anda berencana[Buat perangkat virtual dengan Amazon EC2](creating-a-virtual-thing.md), Anda dapat melewati halaman ini dan melanjutkan ke[Konfigurasikan perangkat Anda](configure-device.md). Anda akan membuat sumber daya ini ketika Anda membuat hal virtual Anda.

Tutorial ini menggunakan AWS IoT konsol untuk membuat AWS IoT sumber daya. Jika perangkat Anda mendukung browser web, mungkin lebih mudah untuk menjalankan prosedur ini di browser web perangkat karena Anda akan dapat mengunduh file sertifikat langsung ke perangkat Anda. Jika Anda menjalankan prosedur ini di komputer lain, Anda harus menyalin file sertifikat ke perangkat Anda sebelum dapat digunakan oleh aplikasi sampel.

## Buat AWS IoT kebijakan
<a name="create-iot-policy"></a>

Perangkat menggunakan sertifikat X.509 untuk mengautentikasi dengan. AWS IoT Core Sertifikat memiliki AWS IoT kebijakan yang dilampirkan padanya. Kebijakan ini menentukan AWS IoT operasi mana, seperti berlangganan atau menerbitkan topik MQTT, perangkat yang diizinkan untuk dilakukan. Perangkat Anda menampilkan sertifikatnya saat terhubung dan mengirim pesan ke AWS IoT Core.

Ikuti langkah-langkah untuk membuat kebijakan yang memungkinkan perangkat Anda melakukan AWS IoT operasi yang diperlukan untuk menjalankan program contoh. Anda harus membuat AWS IoT kebijakan sebelum dapat melampirkannya ke sertifikat perangkat, yang akan Anda buat nanti.

**Untuk membuat AWS IoT kebijakan**

1. Di [AWS IoT konsol](https://console.aws.amazon.com//iot/home), di menu sebelah kiri, pilih **Keamanan** dan kemudian pilih **Kebijakan**.

1. Pada halaman **Anda belum memiliki kebijakan**, pilih **Buat kebijakan**.

   Jika akun Anda memiliki kebijakan yang ada, pilih **Buat kebijakan**.

1. Pada halaman **Buat kebijakan**:

   1. Di bagian **Properti kebijakan**, di bidang **Nama kebijakan**, masukkan nama untuk kebijakan (misalnya,**My\$1Iot\$1Policy**). Jangan gunakan informasi identitas pribadi dalam nama kebijakan Anda.

   1. Di bagian **Dokumen kebijakan**, buat pernyataan kebijakan yang memberikan atau menolak akses sumber daya ke AWS IoT Core operasi. Untuk membuat pernyataan kebijakan yang memberikan semua klien untuk melakukan ****iot:Connect****, ikuti langkah-langkah berikut:
      + Di bidang **Efek kebijakan**, pilih **Izinkan**. Hal ini memungkinkan semua klien yang memiliki kebijakan ini dilampirkan pada sertifikat mereka untuk melakukan tindakan yang tercantum dalam bidang **Tindakan Kebijakan**.
      + Di bidang **Tindakan kebijakan**, pilih tindakan kebijakan seperti ****iot:Connect****. Tindakan kebijakan adalah tindakan yang harus dilakukan oleh perangkat Anda saat menjalankan program contoh dari Device SDK.
      + Di bidang **Sumber daya kebijakan**, masukkan sumber daya Amazon Resource Name (ARN) atau. **\$1** A **\$1** untuk memilih klien (perangkat) apa pun.

      Untuk membuat pernyataan kebijakan untuk ****iot:Receive****,, dan ****iot:Publish******iot:Subscribe******, pilih **Tambahkan pernyataan baru** dan ulangi langkah-langkahnya.  
![\[Halaman untuk membuat kebijakan.\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/gs-create-policy-new.png)
**catatan**  
Dalam start cepat ini, karakter wildcard (\$1) digunakan untuk kesederhanaan. Untuk keamanan yang lebih tinggi, Anda harus membatasi klien (perangkat) mana yang dapat menghubungkan dan mempublikasikan pesan dengan menentukan ARN klien alih-alih karakter wildcard sebagai sumber daya. Klien ARNs mengikuti format ini:`arn:aws:iot:your-region:your-aws-account:client/my-client-id`.   
Namun, Anda harus terlebih dahulu membuat sumber daya (seperti perangkat klien atau bayangan benda) sebelum Anda dapat menetapkan ARN ke kebijakan. Untuk informasi selengkapnya, lihat [sumber AWS IoT Core tindakan](https://docs.aws.amazon.com//iot/latest/developerguide/iot-action-resources.html).

1. Setelah memasukkan informasi untuk kebijakan Anda, pilih **Buat**.

Untuk informasi selengkapnya, lihat [Bagaimana AWS IoT bekerja dengan IAM](security_iam_service-with-iam.md).

## Buat objek benda
<a name="create-aws-thing"></a>

Perangkat yang terhubung ke AWS IoT Core diwakili oleh *benda benda* dalam AWS IoT registri. *Objek benda* mewakili perangkat tertentu atau entitas logis. Ini bisa berupa perangkat fisik atau sensor (misalnya, bola lampu atau sakelar lampu di dinding). Ini juga bisa menjadi entitas logis, seperti contoh aplikasi atau entitas fisik yang tidak terhubung AWS IoT, tetapi terkait dengan perangkat lain yang melakukannya (misalnya, mobil yang memiliki sensor mesin atau panel kontrol).

**Untuk membuat sesuatu di AWS IoT konsol**

1. Di [AWS IoT konsol](https://console.aws.amazon.com/iot/home), di menu sebelah kiri, pilih **Semua perangkat** dan kemudian pilih **Things**.

1. Pada halaman **Things**, pilih **Create things**.

1. Pada halaman **Create things**, pilih **Create a single**, lalu pilih **Next**.

1. Pada halaman **Tentukan properti benda**, untuk **nama Thing**, masukkan nama untuk barang Anda, seperti**MyIotThing**.

   Pilih nama benda dengan hati-hati, karena Anda tidak dapat mengubah nama apa pun nanti.

   Untuk mengubah nama hal, Anda harus membuat hal baru, memberikan nama baru, dan kemudian menghapus hal lama.
**catatan**  
Jangan gunakan informasi yang dapat diidentifikasi secara pribadi dalam nama barang Anda. Nama benda dapat muncul dalam komunikasi dan laporan yang tidak terenkripsi.

1. Biarkan sisa bidang di halaman ini kosong. Pilih **Berikutnya**.

1. Pada halaman **Konfigurasi sertifikat perangkat - *opsional***, pilih **Buat otomatis sertifikat baru (disarankan)**. Pilih **Berikutnya**.

1. Pada halaman **Lampirkan kebijakan ke sertifikat - *opsional***, pilih kebijakan yang Anda buat di bagian sebelumnya. Di bagian itu, kebijakan itu dinamai,**My\$1Iot\$1Policy**. Pilih **Buat sesuatu**.

1. Pada halaman **Unduh sertifikat dan kunci**:

   1. Unduh setiap sertifikat dan file kunci dan simpan untuk nanti. Anda harus menginstal file-file ini di perangkat Anda.

      Saat Anda menyimpan file sertifikat, beri mereka nama di tabel berikut. Ini adalah nama file yang digunakan dalam contoh selanjutnya.  
**Nama berkas sertifikat**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/create-iot-resources.html)

   1. Untuk mengunduh file CA root untuk file-file ini, pilih tautan **Unduh** file sertifikat CA root yang sesuai dengan jenis titik akhir data dan rangkaian sandi yang Anda gunakan. Dalam tutorial ini, pilih **Unduh** di sebelah kanan **kunci bit RSA 2048: Amazon Root CA 1 dan unduh kunci** **RSA 2048 bit: File sertifikat Amazon Root CA** 1.
**penting**  
Anda harus menyimpan file sertifikat sebelum meninggalkan halaman ini. Setelah Anda meninggalkan halaman ini di konsol, Anda tidak akan lagi memiliki akses ke file sertifikat.  
Jika Anda lupa mengunduh file sertifikat yang Anda buat pada langkah ini, Anda harus keluar dari layar konsol ini, buka daftar hal-hal di konsol, hapus objek benda yang Anda buat, lalu mulai ulang prosedur ini dari awal.

   1.  Pilih **Selesai**.

Setelah Anda menyelesaikan prosedur ini, Anda akan melihat objek hal baru dalam daftar hal-hal Anda.

# Konfigurasikan perangkat Anda
<a name="configure-device"></a>

Bagian ini menjelaskan cara mengonfigurasi perangkat Anda untuk terhubung AWS IoT Core. Jika Anda ingin memulai AWS IoT Core tetapi belum memiliki perangkat, Anda dapat membuat perangkat virtual dengan menggunakan Amazon EC2 atau Anda dapat menggunakan PC Windows atau Mac sebagai perangkat IoT.

Pilih opsi perangkat terbaik untuk Anda coba AWS IoT Core. Tentu saja, Anda dapat mencoba semuanya, tetapi cobalah hanya satu per satu. Jika Anda tidak yakin opsi perangkat mana yang terbaik untuk Anda, baca tentang cara memilih [opsi perangkat mana yang terbaik](iot-gs-first-thing.md#choosing-a-gs-system), lalu kembali ke halaman ini.

**Opsi perangkat**
+ [Buat perangkat virtual dengan Amazon EC2](creating-a-virtual-thing.md)
+ [Gunakan Windows atau Linux PC atau Mac Anda sebagai AWS IoT perangkat](using-laptop-as-device.md)
+ [Connect Raspberry Pi atau perangkat lain](connecting-to-existing-device.md)

# Buat perangkat virtual dengan Amazon EC2
<a name="creating-a-virtual-thing"></a>

Dalam tutorial ini, Anda akan membuat instans Amazon EC2 untuk berfungsi sebagai perangkat virtual Anda di cloud.

Untuk menyelesaikan tutorial ini, Anda memerlukan file Akun AWS. Jika Anda tidak memilikinya, selesaikan langkah-langkah yang dijelaskan [Mengatur Akun AWS](setting-up.md) sebelum melanjutkan.

**Topics**
+ [Mengatur instans Amazon EC2](#set-up-ec2)
+ [Instal Git, Node.js dan konfigurasikan AWS CLI](#install-git-node)
+ [Buat AWS IoT sumber daya untuk perangkat virtual Anda](#ec2-create-certificate)
+ [Instal SDK AWS IoT Perangkat untuk JavaScript](#ec2-sdk)
+ [Jalankan aplikasi sampel](#ec2-run-app)
+ [Melihat pesan dari aplikasi sampel di AWS IoT konsol](#ec2-view-msg)

## Mengatur instans Amazon EC2
<a name="set-up-ec2"></a>

Langkah-langkah berikut menunjukkan cara membuat instans Amazon EC2 yang akan bertindak sebagai perangkat virtual Anda sebagai pengganti perangkat fisik.

Jika ini adalah pertama kalinya Anda membuat instans Amazon EC2, Anda mungkin menemukan petunjuk di [Memulai instans Amazon EC2 Linux](https://docs.aws.amazon.com//AWSEC2/latest/UserGuide/EC2_GetStarted.html) agar lebih bermanfaat.

**Untuk meluncurkan sebuah instans**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Dari menu konsol di sebelah kiri, perluas bagian **Instans** dan pilih **Instans**. Dari dasbor **Instans**, pilih **Luncurkan instance** di sebelah kanan untuk menampilkan daftar konfigurasi dasar. 

1. Di bagian **Nama dan tag**, masukkan nama untuk instance dan tambahkan tag secara opsional.

1. Di bagian **Application and OS Images (Amazon Machine Image)**, pilih template AMI untuk instans Anda, seperti *Amazon Linux 2 AMI (HVM*). Perhatikan bahwa AMI ini ditandai “Memenuhi syarat tingkat gratis”.

1. Di bagian **Jenis instans**, Anda dapat memilih konfigurasi perangkat keras instans Anda. Pilih jenis `t2.micro`, yang dipilih secara default. Perhatikan bahwa jenis instans ini memenuhi syarat untuk tingkat gratis.

1. Di bagian **Key pair (login)**, pilih nama key pair dari daftar drop-down atau pilih **Create a new key pair** untuk membuat yang baru. Saat membuat key pair baru, pastikan Anda mengunduh file kunci pribadi dan menyimpannya di tempat yang aman, karena ini adalah satu-satunya kesempatan Anda untuk mengunduh dan menyimpannya. Anda harus menyediakan nama pasangan kunci saat meluncurkan sebuah instans dan kunci privat yang sesuai setiap kali Anda terhubung dengan instans tersebut.
**Awas**  
Jangan memilih opsi **Proceed without a key pair**. Jika Anda meluncurkan instans tanpa pasangan kunci, Anda tidak dapat terhubung dengan instans tersebut.

1. Di bagian **Pengaturan jaringan** dan bagian **Konfigurasi penyimpanan**, Anda dapat menyimpan pengaturan default. Saat Anda siap, pilih **Launch instance.**

1. Halaman konfirmasi memberi tahu Anda bahwa instans Anda sedang diluncurkan. Pilih **Lihat Instans** untuk menutup halaman konfirmasi dan kembali ke konsol.

1. Pada layar **Instans**, Anda dapat melihat status peluncuran. Hanya butuh waktu singkat untuk meluncurkan sebuah instans. Saat Anda meluncurkan sebuah instans, status awalnya adalah `pending`. Setelah instans dimulai, statusnya akan berubah menjadi `running` dan instans tersebut menerima sebuah nama DNS publik. (Jika kolom **DNS Publik (IPv4)** disembunyikan, pilih **Tampilkan/Sembunyikan Kolom** (ikon berbentuk roda gigi) di sudut kanan atas halaman dan kemudian pilih DNS **Publik** ().) IPv4

1. Proses ini mungkin memerlukan waktu beberapa menit sampai instans siap, sehingga Anda dapat terhubung dengannya. Periksa apakah instans Anda telah lulus pemeriksaan statusnya; Anda dapat melihat informasi ini di kolom **Pemeriksaan Status**.

   Setelah instans baru Anda lulus pemeriksaan statusnya, lanjutkan ke prosedur berikutnya dan sambungkan ke sana.

**Untuk menyambung ke instans Anda**

Anda dapat menyambung ke instans menggunakan klien berbasis browser dengan memilih instans dari konsol Amazon EC2 dan memilih untuk menyambung menggunakan Amazon EC2 Instance Connect. Instance Connect menangani izin dan menyediakan koneksi yang berhasil.

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di menu sebelah kiri, pilih **Instans.**

1. Pilih instans, lalu pilih **Hubungkan**.

1. **Pilih **Instans Amazon EC2 Connect, Connect**.**

Anda sekarang harus memiliki jendela **Amazon EC2 Instance Connect** yang masuk ke instans Amazon EC2 baru Anda.

## Instal Git, Node.js dan konfigurasikan AWS CLI
<a name="install-git-node"></a>

Di bagian ini, Anda akan menginstal Git dan Node.js pada instance Linux Anda.

**Untuk menginstal Git**

1. Di jendela **Amazon EC2 Instance Connect**, perbarui instans Anda dengan menggunakan perintah berikut.

   ```
   sudo yum update -y
   ```

1. Di jendela **Amazon EC2 Instance Connect**, instal Git dengan menggunakan perintah berikut.

   ```
   sudo yum install git -y
   ```

1. Untuk memeriksa apakah Git telah diinstal dan versi Git saat ini, jalankan perintah berikut:

   ```
   git --version
   ```

**Untuk menginstal Node.js**

1. Di jendela **Amazon EC2 Instance Connect**, instal node version manager (nvm) dengan menggunakan perintah berikut.

   ```
   curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
   ```

   Kami akan menggunakan nvm untuk menginstal Node.js karena nvm dapat menginstal beberapa versi Node.js dan memungkinkan Anda untuk beralih di antara mereka. 

1. Di jendela **Amazon EC2 Instance Connect**, aktifkan nvm dengan menggunakan perintah ini.

   ```
   . ~/.nvm/nvm.sh
   ```

1. Di jendela **Amazon EC2 Instance Connect**, gunakan nvm untuk menginstal versi terbaru Node.js dengan menggunakan perintah ini.

   ```
   nvm install 16
   ```
**catatan**  
Ini menginstal rilis LTS terbaru dari Node.js.

   Menginstal Node.js juga menginstal Node Package Manager (npm) sehingga Anda dapat menginstal modul tambahan sesuai kebutuhan.

1. Di jendela **Amazon EC2 Instance Connect**, uji apakah Node.js diinstal dan berjalan dengan benar menggunakan perintah ini.

   ```
   node -e "console.log('Running Node.js ' + process.version)"
   ```

    Tutorial ini membutuhkan Node v10.0 atau yang lebih baru. Untuk informasi selengkapnya, lihat [Tutorial: Menyiapkan Node.js di Instans Amazon EC2](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-up-node-on-ec2-instance.html).

**Untuk mengkonfigurasi AWS CLI**

Instans Amazon EC2 Anda sudah dimuat sebelumnya dengan file. AWS CLI Namun, Anda harus melengkapi AWS CLI profil Anda. Untuk informasi selengkapnya tentang cara mengonfigurasi CLI Anda, lihat [Mengonfigurasi](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) CLI. AWS CLI

1. Contoh berikut menunjukkan nilai sampel. Gantilah dengan nilai-nilai Anda sendiri. Anda dapat menemukan nilai-nilai ini di [AWS konsol Anda di info akun Anda di bawah **Kredensi keamanan**](https://console.aws.amazon.com//iam/home#/security_credentials).

   Di jendela **Amazon EC2 Instance Connect**, masukkan perintah ini:

   ```
   aws configure
   ```

   Kemudian masukkan nilai dari akun Anda pada petunjuk yang ditampilkan.

   ```
   AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
   AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   Default region name [None]: us-west-2
   Default output format [None]: json
   ```

1. Anda dapat menguji AWS CLI konfigurasi Anda dengan perintah ini:

   ```
   aws iot describe-endpoint --endpoint-type iot:Data-ATS
   ```

   Jika Anda AWS CLI dikonfigurasi dengan benar, perintah harus mengembalikan alamat titik akhir dari alamat Anda Akun AWS.

## Buat AWS IoT sumber daya untuk perangkat virtual Anda
<a name="ec2-create-certificate"></a>

Bagian ini menjelaskan cara menggunakan AWS CLI untuk membuat objek benda dan file sertifikatnya langsung di perangkat virtual. Ini dilakukan langsung pada perangkat untuk menghindari potensi komplikasi yang mungkin timbul dari menyalinnya ke perangkat dari komputer lain. Di bagian ini, Anda akan membuat sumber daya berikut untuk perangkat virtual Anda:
+ Objek benda untuk mewakili perangkat virtual Anda AWS IoT.
+ Sertifikat untuk mengautentikasi perangkat virtual Anda.
+ Dokumen kebijakan untuk mengotorisasi perangkat virtual Anda untuk terhubung ke AWS IoT, dan untuk mempublikasikan, menerima, dan berlangganan pesan.

**Untuk membuat objek AWS IoT benda di instance Linux Anda**

Perangkat yang terhubung ke AWS IoT diwakili oleh *benda benda* dalam AWS IoT registri. *Objek benda* mewakili perangkat tertentu atau entitas logis. Dalam hal ini, *objek benda* Anda akan mewakili perangkat virtual Anda, instans Amazon EC2 ini.

1. Di jendela **Amazon EC2 Instance Connect**, jalankan perintah berikut untuk membuat objek benda Anda.

   ```
   aws iot create-thing --thing-name "MyIotThing"
   ```

1. Respons JSON akan terlihat seperti ini:

   ```
   {
       "thingArn": "arn:aws:iot:your-region:your-aws-account:thing/MyIotThing", 
       "thingName": "MyIotThing",
       "thingId": "6cf922a8-d8ea-4136-f3401EXAMPLE"
   }
   ```

**Untuk membuat dan melampirkan AWS IoT kunci dan sertifikat di instance Linux Anda**

**[create-keys-and-certificate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/create-keys-and-certificate.html)**Perintah tersebut membuat sertifikat klien yang ditandatangani oleh otoritas sertifikat Amazon Root. Sertifikat ini digunakan untuk mengautentikasi identitas perangkat virtual Anda.

1. Di jendela **Amazon EC2 Instance Connect**, buat direktori untuk menyimpan sertifikat dan file kunci Anda.

   ```
   mkdir ~/certs
   ```

1. Di jendela **Amazon EC2 Instance Connect**, unduh salinan sertifikat Amazon Certificate Authority (CA) dengan menggunakan perintah ini.

   ```
   curl -o ~/certs/Amazon-root-CA-1.pem \
       https://www.amazontrust.com/repository/AmazonRootCA1.pem
   ```

1. Di jendela **Amazon EC2 Instance Connect**, jalankan perintah berikut untuk membuat kunci pribadi, kunci publik, dan file sertifikat X.509. Perintah ini juga mendaftarkan dan mengaktifkan sertifikat dengan. AWS IoT

   ```
   aws iot create-keys-and-certificate \
       --set-as-active \
       --certificate-pem-outfile "~/certs/device.pem.crt" \
       --public-key-outfile "~/certs/public.pem.key" \
       --private-key-outfile "~/certs/private.pem.key"
   ```

   Respon tersebut terlihat seperti berikut. Simpan `certificateArn` sehingga Anda dapat menggunakannya dalam perintah berikutnya. Anda akan memerlukannya untuk melampirkan sertifikat Anda ke barang Anda dan melampirkan kebijakan ke sertifikat di langkah selanjutnya.

   ```
   {
       "certificateArn": "arn:aws:iot:us-west-2:123456789012:cert/9894ba17925e663f1d29c23af4582b8e3b7619c31f3fbd93adcb51ae54b83dc2",
       "certificateId": "9894ba17925e663f1d29c23af4582b8e3b7619c31f3fbd93adcb51ae54b83dc2",
       "certificatePem": "
   -----BEGIN CERTIFICATE-----
   MIICiTCCEXAMPLE6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMC
   VVMxCzAJBgNVBAgEXAMPLEAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6
   b24xFDASBgNVBAsTC0lBTSEXAMPLE2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAd
   BgkqhkiG9w0BCQEWEG5vb25lQGFtYEXAMPLEb20wHhcNMTEwNDI1MjA0NTIxWhcN
   MTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCEXAMPLEJBgNVBAgTAldBMRAwDgYD
   VQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDAEXAMPLEsTC0lBTSBDb25z
   b2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEXAMPLE25lQGFt
   YXpvbi5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMaK0dn+aEXAMPLE
   EXAMPLEfEvySWtC2XADZ4nB+BLYgVIk60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9T
   rDHudUZEXAMPLELG5M43q7Wgc/MbQITxOUSQv7c7ugFFDzQGBzZswY6786m86gpE
   Ibb3OhjZnzcvQAEXAMPLEWIMm2nrAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4
   nUhVVxYUntneD9+h8Mg9qEXAMPLEyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0Fkb
   FFBjvSfpJIlJ00zbhNYS5f6GuoEDEXAMPLEBHjJnyp378OD8uTs7fLvjx79LjSTb
   NYiytVbZPQUQ5Yaxu2jXnimvw3rrszlaEXAMPLE=
   -----END CERTIFICATE-----\n",
       "keyPair": {
           "PublicKey": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkEXAMPLEQEFAAOCAQ8AMIIBCgKCAQEAEXAMPLE1nnyJwKSMHw4h\nMMEXAMPLEuuN/dMAS3fyce8DW/4+EXAMPLEyjmoF/YVF/gHr99VEEXAMPLE5VF13\n59VK7cEXAMPLE67GK+y+jikqXOgHh/xJTwo+sGpWEXAMPLEDz18xOd2ka4tCzuWEXAMPLEahJbYkCPUBSU8opVkR7qkEXAMPLE1DR6sx2HocliOOLtu6Fkw91swQWEXAMPLE\GB3ZPrNh0PzQYvjUStZeccyNCx2EXAMPLEvp9mQOUXP6plfgxwKRX2fEXAMPLEDa\nhJLXkX3rHU2xbxJSq7D+XEXAMPLEcw+LyFhI5mgFRl88eGdsAEXAMPLElnI9EesG\nFQIDAQAB\n-----END PUBLIC KEY-----\n",
           "PrivateKey": "-----BEGIN RSA PRIVATE KEY-----\nkey omitted for security reasons\n-----END RSA PRIVATE KEY-----\n"
       }
   }
   ```

1. Di jendela **Amazon EC2 Instance Connect** Anda, lampirkan objek benda Anda ke sertifikat yang baru saja Anda buat dengan menggunakan perintah berikut dan *certificateArn* dalam respons dari perintah sebelumnya.

   ```
   aws iot attach-thing-principal \
       --thing-name "MyIotThing" \
       --principal "certificateArn"
   ```

   Jika berhasil, perintah ini tidak menampilkan output apapun.

**Untuk membuat dan melampirkan kebijakan**

1. Di jendela **Amazon EC2 Instance Connect**, buat file kebijakan dengan menyalin dan menempelkan dokumen kebijakan ini ke file bernama. **\$1/policy.json**

   Jika Anda tidak memiliki editor Linux favorit, Anda dapat membuka**nano**, dengan menggunakan perintah ini.

   ```
   nano ~/policy.json
   ```

   Tempelkan dokumen kebijakan `policy.json` ke dalamnya. Masukkan ctrl-x untuk keluar dari **nano** editor dan simpan file.

   Isi dokumen kebijakan untuk`policy.json`.  
****  

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

1. Di jendela **Amazon EC2 Instance Connect**, buat kebijakan Anda dengan menggunakan perintah berikut.

   ```
   aws iot create-policy \
       --policy-name "MyIotThingPolicy" \
       --policy-document "file://~/policy.json"
   ```

   Output:  
****  

   ```
   {
       "policyName": "MyIotThingPolicy",
       "policyArn": "arn:aws:iot:us-east-1:your-aws-account:policy/MyIotThingPolicy",
       "policyDocument": "{
           \"Version\": \"2012-10-17\",
           \"Statement\": [
               {
                   \"Effect\": \"Allow\",
                   \"Action\": [
                       \"iot:Publish\",
                       \"iot:Receive\",
                       \"iot:Subscribe\",
                       \"iot:Connect\"
                   ],
                   \"Resource\": [
                       \"*\"
                   ]
           }
           ]
       }",
       "policyVersionId": "1"
   }
   ```

1. Di jendela **Amazon EC2 Instance Connect**, lampirkan kebijakan ke sertifikat perangkat virtual Anda dengan menggunakan perintah berikut.

   ```
   aws iot attach-policy \
       --policy-name "MyIotThingPolicy" \
       --target "certificateArn"
   ```

   Jika berhasil, perintah ini tidak menampilkan output apapun.

## Instal SDK AWS IoT Perangkat untuk JavaScript
<a name="ec2-sdk"></a>

Di bagian ini, Anda akan menginstal AWS IoT Device SDK untuk JavaScript, yang berisi kode yang dapat digunakan aplikasi untuk berkomunikasi dengan AWS IoT dan program sampel. Untuk informasi selengkapnya, lihat [SDK AWS IoT Perangkat untuk JavaScript GitHub repositori](https://github.com/aws/aws-iot-device-sdk-js-v2).

**Untuk menginstal AWS IoT Device SDK untuk JavaScript instans Linux Anda**

1. Di jendela **Amazon EC2 Instance Connect**, kloning AWS IoT Device SDK untuk JavaScript repositori ke `aws-iot-device-sdk-js-v2` direktori direktori home Anda dengan menggunakan perintah ini.

   ```
   cd ~
   git clone https://github.com/aws/aws-iot-device-sdk-js-v2.git
   ```

1. Arahkan ke `aws-iot-device-sdk-js-v2` direktori yang Anda buat pada langkah sebelumnya.

   ```
   cd aws-iot-device-sdk-js-v2
   ```

1. Gunakan npm untuk menginstal SDK.

   ```
   npm install
   ```

## Jalankan aplikasi sampel
<a name="ec2-run-app"></a>

 Perintah di bagian berikutnya mengasumsikan bahwa file kunci dan sertifikat Anda disimpan di perangkat virtual Anda seperti yang ditunjukkan dalam tabel ini.


**Nama berkas sertifikat**  

|  File  |  Jalur berkas  | 
| --- | --- | 
|  Kunci privat  |  `~/certs/private.pem.key`  | 
|  Sertifikat perangkat  |  `~/certs/device.pem.crt`  | 
|  Sertifikat Root CA  |  `~/certs/Amazon-root-CA-1.pem`  | 

Di bagian ini, Anda akan menginstal dan menjalankan aplikasi `pub-sub.js` sampel yang ditemukan di `aws-iot-device-sdk-js-v2/samples/node` direktori AWS IoT Device SDK untuk JavaScript. Aplikasi ini menunjukkan bagaimana perangkat, instans Amazon EC2 Anda, menggunakan pustaka MQTT untuk menerbitkan dan berlangganan pesan MQTT. Aplikasi `pub-sub.js` sampel berlangganan topik,`topic_1`, menerbitkan 10 pesan ke topik itu dan menampilkan pesan saat diterima dari broker pesan.

**Untuk menginstal dan menjalankan aplikasi sampel**

1. Di jendela **Amazon EC2 Instance Connect**, navigasikan ke `aws-iot-device-sdk-js-v2/samples/node/pub_sub` direktori yang dibuat SDK dan instal aplikasi sampel dengan menggunakan perintah ini.

   ```
   cd ~/aws-iot-device-sdk-js-v2/samples/node/pub_sub
   npm install
   ```

1. Di jendela **Amazon EC2 Instance Connect**, dapatkan *your-iot-endpoint* dari AWS IoT dengan menggunakan perintah ini.

   ```
   aws iot describe-endpoint --endpoint-type iot:Data-ATS
   ```

1. Di jendela **Amazon EC2 Instance Connect**, masukkan *your-iot-endpoint* seperti yang ditunjukkan dan jalankan perintah ini.

   ```
   node dist/index.js --topic topic_1 --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key --endpoint your-iot-endpoint
   ```

Aplikasi sampel:

1. Terhubung ke AWS IoT Core akun Anda.

1. Berlangganan topik pesan, **topic\$11**, dan menampilkan pesan yang diterimanya pada topik itu.

1. Menerbitkan 10 pesan ke topik, **topic\$11**.

1. Menampilkan output yang mirip dengan berikut ini:

   ```
   Publish received. topic:"topic_1" dup:false qos:1 retain:false
   {"message":"Hello world!","sequence":1}
   Publish received. topic:"topic_1" dup:false qos:1 retain:false
   {"message":"Hello world!","sequence":2}
   Publish received. topic:"topic_1" dup:false qos:1 retain:false
   {"message":"Hello world!","sequence":3}
   Publish received. topic:"topic_1" dup:false qos:1 retain:false
   {"message":"Hello world!","sequence":4}
   Publish received. topic:"topic_1" dup:false qos:1 retain:false
   {"message":"Hello world!","sequence":5}
   Publish received. topic:"topic_1" dup:false qos:1 retain:false
   {"message":"Hello world!","sequence":6}
   Publish received. topic:"topic_1" dup:false qos:1 retain:false
   {"message":"Hello world!","sequence":7}
   Publish received. topic:"topic_1" dup:false qos:1 retain:false
   {"message":"Hello world!","sequence":8}
   Publish received. topic:"topic_1" dup:false qos:1 retain:false
   {"message":"Hello world!","sequence":9}
   Publish received. topic:"topic_1" dup:false qos:1 retain:false
   {"message":"Hello world!","sequence":10}
   ```

Jika Anda mengalami masalah dalam menjalankan aplikasi sampel, tinjau[Memecahkan masalah dengan aplikasi sampel](gs-device-troubleshoot.md).

Anda juga dapat menambahkan `--verbosity debug` parameter ke baris perintah sehingga aplikasi sampel menampilkan pesan terperinci tentang apa yang dilakukannya. Informasi itu mungkin memberi Anda bantuan yang Anda butuhkan untuk memperbaiki masalah.

## Melihat pesan dari aplikasi sampel di AWS IoT konsol
<a name="ec2-view-msg"></a>

**Anda dapat melihat pesan aplikasi sampel saat mereka melewati broker pesan dengan menggunakan **klien pengujian MQTT di konsol**.AWS IoT **

**Untuk melihat pesan MQTT yang diterbitkan oleh aplikasi sampel**

1. Ulasan[Lihat pesan MQTT dengan klien MQTT AWS IoT](view-mqtt-messages.md). Ini membantu Anda mempelajari cara menggunakan **klien pengujian MQTT** di **AWS IoT konsol** untuk melihat pesan MQTT saat mereka melewati broker pesan.

1. **Buka **klien pengujian MQTT di konsol**.AWS IoT **

1. Di **Berlangganan topik**, Berlangganan topik, **topic\$11**.

1. **Di jendela **Amazon EC2 Instance Connect**, jalankan aplikasi sampel lagi dan tonton pesan di klien **pengujian MQTT** di konsol.AWS IoT **

   ```
   cd ~/aws-iot-device-sdk-js-v2/samples/node/pub_sub
   node dist/index.js --topic topic_1 --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key --endpoint your-iot-endpoint
   ```

[Untuk informasi selengkapnya tentang MQTT dan cara AWS IoT Core mendukung protokol, lihat MQTT.](https://docs.aws.amazon.com//iot/latest/developerguide/mqtt.html)

# Gunakan Windows atau Linux PC atau Mac Anda sebagai AWS IoT perangkat
<a name="using-laptop-as-device"></a>

Dalam tutorial ini, Anda akan mengkonfigurasi komputer pribadi untuk digunakan dengan AWS IoT. Instruksi ini mendukung Windows dan Linux PCs dan Mac. Untuk mencapai ini, Anda perlu menginstal beberapa perangkat lunak di komputer Anda. Jika Anda tidak ingin menginstal perangkat lunak di komputer Anda, Anda dapat mencoba[Buat perangkat virtual dengan Amazon EC2](creating-a-virtual-thing.md), yang menginstal semua perangkat lunak pada mesin virtual.

**Topics**
+ [Siapkan komputer pribadi Anda](#gs-pc-prereqs)
+ [Instal Git, Python, dan AWS IoT Device SDK untuk Python](#gs-pc-sdk-node)
+ [Menyiapkan kebijakan dan menjalankan contoh aplikasi](#gs-pc-python-app-run)
+ [Melihat pesan dari aplikasi sampel di AWS IoT konsol](#gs-pc-view-msg)
+ [Jalankan contoh Berlangganan Bersama dengan Python](#gs-pc-shared-subscription-example)

## Siapkan komputer pribadi Anda
<a name="gs-pc-prereqs"></a>

Untuk menyelesaikan tutorial ini, Anda memerlukan PC Windows atau Linux atau Mac dengan koneksi ke internet.

Sebelum Anda melanjutkan ke langkah berikutnya, pastikan Anda dapat membuka jendela baris perintah di komputer Anda. Gunakan **cmd.exe** pada PC Windows. Pada PC Linux atau Mac, gunakan**Terminal**.

## Instal Git, Python, dan AWS IoT Device SDK untuk Python
<a name="gs-pc-sdk-node"></a>

Di bagian ini, Anda akan menginstal Python, dan AWS IoT Device SDK untuk Python di komputer Anda. 

### Instal versi terbaru Git dan Python
<a name="gs-pc-node-runtime"></a>

Prosedur ini menjelaskan cara menginstal versi terbaru Git dan Python di komputer pribadi Anda.

**Untuk mengunduh dan menginstal Git dan Python di komputer Anda**

1. Periksa untuk melihat apakah Anda telah menginstal Git di komputer Anda. Masukkan perintah ini di baris perintah.

   ```
   git --version
   ```

   Jika perintah menampilkan versi Git, Git diinstal dan Anda dapat melanjutkan ke langkah berikutnya.

   Jika perintah menampilkan kesalahan, buka [https://git-scm.com/download](https://git-scm.com/download)dan instal Git untuk komputer Anda.

1. Periksa untuk melihat apakah Anda telah menginstal Python. Masukkan perintah di baris perintah.

   ```
   python -V
   ```
**catatan**  
Jika perintah ini memberikan kesalahan:`Python was not found`, mungkin karena sistem operasi Anda memanggil Python v3.x yang dapat dieksekusi sebagai. `Python3` Dalam hal ini, ganti semua contoh `python` dengan `python3` dan lanjutkan sisa tutorial ini.

   Jika perintah menampilkan versi Python, Python sudah diinstal. Tutorial ini membutuhkan Python v3.7 atau yang lebih baru.

1. Jika Python diinstal, Anda dapat melewati langkah-langkah lainnya di bagian ini. Jika tidak, lanjutkan.

1. Buka [https://www.python.org/downloads/](https://www.python.org/downloads/) dan unduh installer untuk komputer Anda.

1. Jika unduhan tidak secara otomatis mulai diinstal, jalankan program yang diunduh untuk menginstal Python.

1. Verifikasi instalasi Python.

   ```
   python -V
   ```

   Konfirmasikan bahwa perintah menampilkan versi Python. Jika versi Python tidak ditampilkan, coba unduh dan instal Python lagi.

### Instal AWS IoT Device SDK untuk Python
<a name="gs-pc-python-intall-sdk"></a>

**Untuk menginstal AWS IoT Device SDK untuk Python di komputer Anda**

1. Instal v2 dari AWS IoT Device SDK untuk Python.

   ```
   python3 -m pip install awsiotsdk
   ```

1. Kloning AWS IoT Device SDK untuk repositori Python ke direktori aws-iot-device-sdk -python-v2 direktori home Anda. Prosedur ini mengacu pada direktori dasar untuk file yang Anda instal sebagai*home*.

   Lokasi sebenarnya dari *home* direktori tergantung pada sistem operasi Anda.

------
#### [ Linux/macOS ]

   Di macOS dan Linux, *home* direktorinya adalah. `~`

   ```
   cd ~ 
   git clone https://github.com/aws/aws-iot-device-sdk-python-v2.git
   ```

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

   Di Windows, Anda dapat menemukan jalur *home* direktori dengan menjalankan perintah ini di `cmd` jendela.

   ```
   echo %USERPROFILE%
   cd %USERPROFILE%
   git clone https://github.com/aws/aws-iot-device-sdk-python-v2.git
   ```

------
**catatan**  
Jika Anda menggunakan Windows PowerShell sebagai lawan dari**cmd.exe**, maka gunakan perintah berikut.  

   ```
   echo $home
   ```

Untuk informasi selengkapnya, lihat [AWS IoT Device SDK for GitHub Python repositori](https://github.com/aws/aws-iot-device-sdk-python-v2).

### Bersiaplah untuk menjalankan aplikasi sampel
<a name="gs-pc-python-config-app"></a>

**Untuk mempersiapkan sistem Anda untuk menjalankan aplikasi sampel**
+ Buatlah direktori `certs`. Ke dalam `certs` direktori, salin kunci pribadi, sertifikat perangkat, dan file sertifikat CA root yang Anda simpan saat Anda membuat dan mendaftarkan objek benda[Buat AWS IoT sumber daya](create-iot-resources.md). Nama file dari setiap file di direktori tujuan harus cocok dengan yang ada di tabel.

   Perintah di bagian berikutnya mengasumsikan bahwa file kunci dan sertifikat Anda disimpan di perangkat Anda seperti yang ditunjukkan dalam tabel ini.

------
#### [ Linux/macOS ]

  Jalankan perintah ini untuk membuat `certs` subdirektori yang akan Anda gunakan ketika Anda menjalankan aplikasi sampel.

  ```
  mkdir ~/certs
  ```

  Ke subdirektori baru, salin file ke jalur file tujuan yang ditunjukkan pada tabel berikut.  
**Nama berkas sertifikat**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/using-laptop-as-device.html)

  Jalankan perintah ini untuk membuat daftar file dalam `certs` direktori dan membandingkannya dengan yang tercantum dalam tabel.

  ```
  ls -l ~/certs
  ```

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

  Jalankan perintah ini untuk membuat `certs` subdirektori yang akan Anda gunakan ketika Anda menjalankan aplikasi sampel.

  ```
  mkdir %USERPROFILE%\certs
  ```

  Ke subdirektori baru, salin file ke jalur file tujuan yang ditunjukkan pada tabel berikut.  
**Nama berkas sertifikat**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/using-laptop-as-device.html)

  Jalankan perintah ini untuk membuat daftar file dalam `certs` direktori dan membandingkannya dengan yang tercantum dalam tabel.

  ```
  dir %USERPROFILE%\certs
  ```

------

## Menyiapkan kebijakan dan menjalankan contoh aplikasi
<a name="gs-pc-python-app-run"></a>

Di bagian ini, Anda akan menyiapkan kebijakan dan menjalankan skrip `pubsub.py` sampel yang ditemukan di `aws-iot-device-sdk-python-v2/samples` direktori AWS IoT Device SDK for Python. Skrip ini menunjukkan bagaimana perangkat Anda menggunakan pustaka MQTT untuk menerbitkan dan berlangganan pesan MQTT.

Aplikasi `pubsub.py` sampel berlangganan topik`test/topic`, menerbitkan 10 pesan ke topik itu, dan menampilkan pesan saat diterima dari broker pesan.

Untuk menjalankan skrip `pubsub.py` sampel, Anda memerlukan informasi berikut:


**Nilai parameter aplikasi**  

|  Parameter  |  Di mana menemukan nilainya  | 
| --- | --- | 
| your-iot-endpoint |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/using-laptop-as-device.html)  | 

*your-iot-endpoint*Nilai memiliki format:`endpoint_id-ats.iot.region.amazonaws.com`, misalnya,`a3qj468EXAMPLE-ats.iot.us-west-2.amazonaws.com`.

Sebelum menjalankan skrip, pastikan kebijakan hal Anda memberikan izin untuk skrip sampel untuk terhubung, berlangganan, menerbitkan, dan menerima. 

**Untuk menemukan dan meninjau dokumen kebijakan untuk sumber daya sesuatu**

1. Di [AWS IoT konsol](https://console.aws.amazon.com//iot/home#/thinghub), di daftar **Things**, temukan sumber daya benda yang mewakili perangkat Anda.

1. Pilih tautan **Nama** dari sumber daya benda yang mewakili perangkat Anda untuk membuka halaman **Detail hal**.

1. Di halaman **Detail hal**, di tab **Sertifikat**, pilih sertifikat yang dilampirkan ke sumber daya benda. Seharusnya hanya ada satu sertifikat dalam daftar. Jika ada lebih dari satu, pilih sertifikat yang filenya diinstal pada perangkat Anda dan yang akan digunakan untuk terhubung AWS IoT Core.

   Di halaman Detail **sertifikat**, di tab **Kebijakan**, pilih kebijakan yang dilampirkan pada sertifikat. Seharusnya hanya ada satu. Jika ada lebih dari satu, ulangi langkah berikutnya untuk masing-masing untuk memastikan bahwa setidaknya satu kebijakan memberikan akses yang diperlukan.

1. Di halaman Ringkasan **kebijakan**, temukan editor JSON dan pilih **Edit dokumen kebijakan** untuk meninjau dan mengedit dokumen kebijakan sesuai kebutuhan.

1. Kebijakan JSON ditampilkan dalam contoh berikut. Dalam `"Resource"` elemen, ganti `region:account` dengan Anda Wilayah AWS dan Akun AWS di setiap `Resource` nilai.  
****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "iot:Publish",
                   "iot:Receive"
               ],
               "Resource": [
               "arn:aws:iot:us-east-1:123456789012:topic/test/topic"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "iot:Subscribe"
               ],
               "Resource": [
               "arn:aws:iot:us-east-1:123456789012:topicfilter/test/topic"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "iot:Connect"
               ],
               "Resource": [
               "arn:aws:iot:us-east-1:123456789012:client/test-*"
               ]
           }
       ]
   }
   ```

------
#### [ Linux/macOS ]

**Untuk menjalankan skrip sampel di Linux/macOS**

1. Di jendela baris perintah Anda, arahkan ke `~/aws-iot-device-sdk-python-v2/samples/node/pub_sub` direktori yang dibuat SDK dengan menggunakan perintah ini.

   ```
   cd ~/aws-iot-device-sdk-python-v2/samples
   ```

1. Di jendela baris perintah Anda, ganti *your-iot-endpoint* seperti yang ditunjukkan dan jalankan perintah ini.

   ```
   python3 pubsub.py --endpoint your-iot-endpoint --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key
   ```

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

**Untuk menjalankan aplikasi sampel pada PC Windows**

1. Di jendela baris perintah Anda, navigasikan ke `%USERPROFILE%\aws-iot-device-sdk-python-v2\samples` direktori yang dibuat SDK dan instal aplikasi sampel dengan menggunakan perintah ini.

   ```
   cd %USERPROFILE%\aws-iot-device-sdk-python-v2\samples
   ```

1. Di jendela baris perintah Anda, ganti *your-iot-endpoint* seperti yang ditunjukkan dan jalankan perintah ini.

   ```
   python3 pubsub.py --endpoint your-iot-endpoint --ca_file %USERPROFILE%\certs\Amazon-root-CA-1.pem --cert %USERPROFILE%\certs\device.pem.crt --key %USERPROFILE%\certs\private.pem.key
   ```

------

Contoh skrip:

1. Terhubung ke AWS IoT Core untuk akun Anda.

1. Berlangganan topik pesan, **uji/topik**, dan menampilkan pesan yang diterimanya pada topik itu.

1. Menerbitkan 10 pesan ke topik, **uji/topik**.

1. Menampilkan output yang mirip dengan berikut ini:

```
Connected!
Subscribing to topic 'test/topic'...
Subscribed with QoS.AT_LEAST_ONCE
Sending 10 message(s)
Publishing message to topic 'test/topic': Hello World! [1]
Received message from topic 'test/topic': b'"Hello World! [1]"'
Publishing message to topic 'test/topic': Hello World! [2]
Received message from topic 'test/topic': b'"Hello World! [2]"'
Publishing message to topic 'test/topic': Hello World! [3]
Received message from topic 'test/topic': b'"Hello World! [3]"'
Publishing message to topic 'test/topic': Hello World! [4]
Received message from topic 'test/topic': b'"Hello World! [4]"'
Publishing message to topic 'test/topic': Hello World! [5]
Received message from topic 'test/topic': b'"Hello World! [5]"'
Publishing message to topic 'test/topic': Hello World! [6]
Received message from topic 'test/topic': b'"Hello World! [6]"'
Publishing message to topic 'test/topic': Hello World! [7]
Received message from topic 'test/topic': b'"Hello World! [7]"'
Publishing message to topic 'test/topic': Hello World! [8]
Received message from topic 'test/topic': b'"Hello World! [8]"'
Publishing message to topic 'test/topic': Hello World! [9]
Received message from topic 'test/topic': b'"Hello World! [9]"'
Publishing message to topic 'test/topic': Hello World! [10]
Received message from topic 'test/topic': b'"Hello World! [10]"'
10 message(s) received.
Disconnecting...
Disconnected!
```

Jika Anda mengalami masalah dalam menjalankan aplikasi sampel, tinjau[Memecahkan masalah dengan aplikasi sampel](gs-device-troubleshoot.md).

Anda juga dapat menambahkan `--verbosity Debug` parameter ke baris perintah sehingga aplikasi sampel menampilkan pesan terperinci tentang apa yang dilakukannya. Informasi itu dapat membantu Anda memperbaiki masalah.

## Melihat pesan dari aplikasi sampel di AWS IoT konsol
<a name="gs-pc-view-msg"></a>

**Anda dapat melihat pesan aplikasi sampel saat mereka melewati broker pesan dengan menggunakan **klien pengujian MQTT di konsol**.AWS IoT **

**Untuk melihat pesan MQTT yang diterbitkan oleh aplikasi sampel**

1. Ulasan[Lihat pesan MQTT dengan klien MQTT AWS IoT](view-mqtt-messages.md). Ini membantu Anda mempelajari cara menggunakan **klien pengujian MQTT** di **AWS IoT konsol** untuk melihat pesan MQTT saat mereka melewati broker pesan.

1. **Buka **klien pengujian MQTT di konsol**.AWS IoT **

1. Di **Berlangganan topik**, berlangganan topik, **uji/topik**.

1. **Di jendela baris perintah Anda, jalankan aplikasi sampel lagi dan tonton pesan di **klien MQTT di konsol**.AWS IoT **

------
#### [ Linux/macOS ]

   ```
   cd ~/aws-iot-device-sdk-python-v2/samples
   python3 pubsub.py --topic test/topic --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key --endpoint your-iot-endpoint
   ```

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

   ```
   cd %USERPROFILE%\aws-iot-device-sdk-python-v2\samples
   python3 pubsub.py --topic test/topic --ca_file %USERPROFILE%\certs\Amazon-root-CA-1.pem --cert %USERPROFILE%\certs\device.pem.crt --key %USERPROFILE%\certs\private.pem.key --endpoint your-iot-endpoint
   ```

------

[Untuk informasi selengkapnya tentang MQTT dan cara AWS IoT Core mendukung protokol, lihat MQTT.](https://docs.aws.amazon.com//iot/latest/developerguide/mqtt.html)

## Jalankan contoh Berlangganan Bersama dengan Python
<a name="gs-pc-shared-subscription-example"></a>

AWS IoT Core mendukung [Langganan Bersama](mqtt.md#mqtt5-shared-subscription) untuk MQTT 3 dan MQTT 5. Langganan Bersama memungkinkan beberapa klien untuk berbagi langganan ke suatu topik dan hanya satu klien yang akan menerima pesan yang dipublikasikan ke topik tersebut menggunakan distribusi acak. Untuk menggunakan Langganan Bersama, klien berlangganan [filter topik](https://docs.aws.amazon.com//iot/latest/developerguide/topics.html#topicfilters) Langganan Bersama:`$share/{ShareName}/{TopicFilter}`. 

**Untuk menyiapkan kebijakan dan menjalankan contoh Langganan Bersama**

1. Untuk menjalankan contoh Berlangganan Bersama, Anda harus menyiapkan kebijakan hal Anda seperti yang didokumentasikan dalam Langganan Bersama [MQTT 5](https://github.com/aws/aws-iot-device-sdk-python-v2/blob/main/samples/mqtt5_shared_subscription.md#mqtt5-shared-subscription). 

1. Untuk menjalankan contoh Berlangganan Bersama, jalankan perintah berikut.

------
#### [ Linux/macOS ]

**Untuk menjalankan skrip sampel di Linux/macOS**

   1. Di jendela baris perintah Anda, arahkan ke `~/aws-iot-device-sdk-python-v2/samples` direktori yang dibuat SDK dengan menggunakan perintah ini.

      ```
      cd ~/aws-iot-device-sdk-python-v2/samples
      ```

   1. Di jendela baris perintah Anda, ganti *your-iot-endpoint* seperti yang ditunjukkan dan jalankan perintah ini.

      ```
      python3 mqtt5_shared_subscription.py --endpoint your-iot-endpoint --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key --group_identifier consumer
      ```

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

**Untuk menjalankan aplikasi sampel pada PC Windows**

   1. Di jendela baris perintah Anda, navigasikan ke `%USERPROFILE%\aws-iot-device-sdk-python-v2\samples` direktori yang dibuat SDK dan instal aplikasi sampel dengan menggunakan perintah ini.

      ```
      cd %USERPROFILE%\aws-iot-device-sdk-python-v2\samples
      ```

   1. Di jendela baris perintah Anda, ganti *your-iot-endpoint* seperti yang ditunjukkan dan jalankan perintah ini.

      ```
      python3 mqtt5_shared_subscription.py --endpoint your-iot-endpoint --ca_file %USERPROFILE%\certs\Amazon-root-CA-1.pem --cert %USERPROFILE%\certs\device.pem.crt --key %USERPROFILE%\certs\private.pem.key --group_identifier consumer
      ```

------
**catatan**  
Anda dapat secara opsional menentukan pengidentifikasi grup berdasarkan kebutuhan Anda saat menjalankan sampel (misalnya,`--group_identifier consumer`). Jika Anda tidak menentukannya, `python-sample` adalah pengidentifikasi grup default.

1. Output di baris perintah Anda dapat terlihat seperti berikut:

   ```
   Publisher]: Lifecycle Connection Success
   [Publisher]: Connected
   Subscriber One]: Lifecycle Connection Success
   [Subscriber One]: Connected
   Subscriber Two]: Lifecycle Connection Success
   [Subscriber Two]: Connected
   [Subscriber One]: Subscribed to topic 'test/topic' in shared subscription group 'consumer'.
   [Subscriber One]: Full subscribed topic is: '$share/consumer/test/topic' with SubAck code: [<SubackReasonCode.GRANTED_QOS_1: 1>]
   [Subscriber Two]: Subscribed to topic 'test/topic' in shared subscription group 'consumer'.
   [Subscriber Two]: Full subscribed topic is: '$share/consumer/test/topic' with SubAck code: [<SubackReasonCode.GRANTED_QOS_1: 1>]
   [Publisher]: Sent publish and got PubAck code: <PubackReasonCode.SUCCESS: 0>
   [Subscriber Two] Received a publish
           Publish received message on topic: test/topic
           Message: b'"Hello World!  [1]"'
   [Publisher]: Sent publish and got PubAck code: <PubackReasonCode.SUCCESS: 0>
   [Subscriber One] Received a publish
           Publish received message on topic: test/topic
           Message: b'"Hello World!  [2]"'
   [Publisher]: Sent publish and got PubAck code: <PubackReasonCode.SUCCESS: 0>
   [Subscriber Two] Received a publish
           Publish received message on topic: test/topic
           Message: b'"Hello World!  [3]"'
   [Publisher]: Sent publish and got PubAck code: <PubackReasonCode.SUCCESS: 0>
   [Subscriber One] Received a publish
           Publish received message on topic: test/topic
           Message: b'"Hello World!  [4]"'
   [Publisher]: Sent publish and got PubAck code: <PubackReasonCode.SUCCESS: 0>
   [Subscriber Two] Received a publish
           Publish received message on topic: test/topic
           Message: b'"Hello World!  [5]"'
   [Publisher]: Sent publish and got PubAck code: <PubackReasonCode.SUCCESS: 0>
   [Subscriber One] Received a publish
           Publish received message on topic: test/topic
           Message: b'"Hello World!  [6]"'
   [Publisher]: Sent publish and got PubAck code: <PubackReasonCode.SUCCESS: 0>
   [Subscriber Two] Received a publish
           Publish received message on topic: test/topic
           Message: b'"Hello World!  [7]"'
   [Publisher]: Sent publish and got PubAck code: <PubackReasonCode.SUCCESS: 0>
   [Subscriber One] Received a publish
           Publish received message on topic: test/topic
           Message: b'"Hello World!  [8]"'
   [Publisher]: Sent publish and got PubAck code: <PubackReasonCode.SUCCESS: 0>
   [Subscriber Two] Received a publish
           Publish received message on topic: test/topic
           Message: b'"Hello World!  [9]"'
   [Publisher]: Sent publish and got PubAck code: <PubackReasonCode.SUCCESS: 0>
   [Subscriber One] Received a publish
           Publish received message on topic: test/topic
           Message: b'"Hello World!  [10]"'
   [Subscriber One]: Unsubscribed to topic 'test/topic' in shared subscription group 'consumer'.
   [Subscriber One]: Full unsubscribed topic is: '$share/consumer/test/topic' with UnsubAck code: [<UnsubackReasonCode.SUCCESS: 0>]
   [Subscriber Two]: Unsubscribed to topic 'test/topic' in shared subscription group 'consumer'.
   [Subscriber Two]: Full unsubscribed topic is: '$share/consumer/test/topic' with UnsubAck code [<UnsubackReasonCode.SUCCESS: 0>]
   Publisher]: Lifecycle Disconnected
   [Publisher]: Lifecycle Stopped
   [Publisher]: Fully stopped
   Subscriber One]: Lifecycle Disconnected
   [Subscriber One]: Lifecycle Stopped
   [Subscriber One]: Fully stopped
   Subscriber Two]: Lifecycle Disconnected
   [Subscriber Two]: Lifecycle Stopped
   [Subscriber Two]: Fully stopped
   Complete!
   ```

1. **Buka **klien uji MQTT di konsol**.AWS IoT ** Di **Berlangganan topik**, berlangganan topik Langganan Bersama seperti:`$share/consumer/test/topic`. Anda dapat menentukan pengidentifikasi grup berdasarkan kebutuhan Anda saat menjalankan sampel (mis.,`--group_identifier consumer`). Jika Anda tidak menentukan pengidentifikasi grup, nilai defaultnya adalah`python-sample`. *Untuk informasi selengkapnya, lihat [contoh Python Berlangganan Bersama MQTT 5](https://github.com/aws/aws-iot-device-sdk-python-v2/blob/main/samples/mqtt5_shared_subscription.md#mqtt5-shared-subscription) dan Langganan [Bersama](mqtt.md#mqtt5-shared-subscription) dari Panduan Pengembang.AWS IoT Core *

   Di jendela baris perintah Anda, jalankan aplikasi sampel lagi dan saksikan distribusi pesan di **klien pengujian MQTT AWS IoT ** **konsol** dan baris perintah.  
![\[Halaman keluaran langganan bersama.\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/shared-subscription-output.png)

# Connect Raspberry Pi atau perangkat lain
<a name="connecting-to-existing-device"></a>

Di bagian ini, kita akan mengkonfigurasi Raspberry Pi untuk digunakan dengan AWS IoT. Jika Anda memiliki perangkat lain yang ingin Anda sambungkan, petunjuk untuk Raspberry Pi menyertakan referensi yang dapat membantu Anda menyesuaikan instruksi ini ke perangkat Anda.

Ini biasanya memakan waktu sekitar 20 menit, tetapi bisa memakan waktu lebih lama jika Anda memiliki banyak peningkatan perangkat lunak sistem untuk diinstal.

**Topics**
+ [Siapkan perangkat Anda](#gs-device-prereqs)
+ [Instal alat dan pustaka yang diperlukan untuk AWS IoT Device SDK](#gs-device-sdk-tools)
+ [Instal SDK AWS IoT Perangkat](#gs-device-install-sdk)
+ [Instal dan jalankan aplikasi sampel](#gs-device-node-app-run)
+ [Melihat pesan dari aplikasi sampel di AWS IoT konsol](#gs-device-view-msg)

**penting**  
Menyesuaikan instruksi ini ke perangkat dan sistem operasi lain dapat menjadi tantangan. Anda harus memahami perangkat Anda dengan cukup baik untuk dapat menafsirkan instruksi ini dan menerapkannya ke perangkat Anda.  
Jika Anda mengalami kesulitan saat mengonfigurasi perangkat AWS IoT, Anda dapat mencoba salah satu opsi perangkat lain sebagai alternatif, seperti [Buat perangkat virtual dengan Amazon EC2](creating-a-virtual-thing.md) atau[Gunakan Windows atau Linux PC atau Mac Anda sebagai AWS IoT perangkat](using-laptop-as-device.md).

## Siapkan perangkat Anda
<a name="gs-device-prereqs"></a>

Tujuan dari langkah ini adalah untuk mengumpulkan apa yang Anda perlukan untuk mengkonfigurasi perangkat Anda sehingga dapat memulai sistem operasi (OS), terhubung ke internet, dan memungkinkan Anda untuk berinteraksi dengannya di antarmuka baris perintah.

Untuk menyelesaikan tutorial ini, Anda memerlukan hal berikut:
+ Sebuah Akun AWS. Jika Anda tidak memilikinya, selesaikan langkah-langkah yang dijelaskan [Mengatur Akun AWS](setting-up.md) sebelum melanjutkan.
+ [Raspberry Pi 3 Model B](https://www.raspberrypi.com/products/) atau model yang lebih baru. Ini mungkin bekerja pada versi sebelumnya dari Raspberry Pi, tetapi mereka belum diuji.
+ [Raspberry Pi OS (32-bit)](https://www.raspberrypi.com/software/operating-systems/) atau yang lebih baru. Kami merekomendasikan menggunakan versi terbaru dari Raspberry Pi OS. Versi OS sebelumnya mungkin berfungsi, tetapi belum diuji.

  Untuk menjalankan contoh ini, Anda tidak perlu menginstal desktop dengan antarmuka pengguna grafis (GUI); Namun, jika Anda baru mengenal Raspberry Pi dan perangkat keras Raspberry Pi Anda mendukungnya, menggunakan desktop dengan GUI mungkin lebih mudah.
+ Ethernet atau WiFi koneksi.
+ Keyboard, mouse, monitor, kabel, catu daya, dan perangkat keras lain yang diperlukan oleh perangkat Anda.

**penting**  
Sebelum Anda melanjutkan ke langkah berikutnya, perangkat Anda harus menginstal, mengkonfigurasi, dan menjalankan sistem operasinya. Perangkat harus terhubung ke internet dan Anda harus dapat mengakses perangkat dengan menggunakan antarmuka baris perintahnya. Akses baris perintah dapat melalui keyboard, mouse, dan monitor yang terhubung langsung, atau dengan menggunakan antarmuka jarak jauh terminal SSH.

 Jika Anda menjalankan sistem operasi pada Raspberry Pi Anda yang memiliki antarmuka pengguna grafis (GUI), buka jendela terminal pada perangkat dan lakukan instruksi berikut di jendela itu. Jika tidak, jika Anda terhubung ke perangkat Anda dengan menggunakan terminal jarak jauh, seperti PuTTY, buka terminal jarak jauh ke perangkat Anda dan gunakan itu.

## Instal alat dan pustaka yang diperlukan untuk AWS IoT Device SDK
<a name="gs-device-sdk-tools"></a>

Sebelum Anda menginstal AWS IoT Device SDK dan kode sampel, pastikan sistem Anda mutakhir dan memiliki alat dan pustaka yang diperlukan untuk menginstal. SDKs

1. 

**Perbarui sistem operasi dan instal pustaka yang diperlukan**  
Sebelum Anda menginstal AWS IoT Device SDK, jalankan perintah ini di jendela terminal pada perangkat Anda untuk memperbarui sistem operasi dan menginstal pustaka yang diperlukan.

   ```
   sudo apt-get update
   ```

   ```
   sudo apt-get upgrade
   ```

   ```
   sudo apt-get install cmake
   ```

   ```
   sudo apt-get install libssl-dev
   ```

1. 

**Instal Git**  
Jika sistem operasi perangkat Anda tidak disertakan dengan Git yang diinstal, Anda harus menginstalnya untuk menginstal AWS IoT Device SDK. JavaScript 

   1. Uji untuk melihat apakah Git sudah diinstal dengan menjalankan perintah ini.

      ```
      git --version
      ```

   1. Jika perintah sebelumnya mengembalikan versi Git, Git sudah diinstal dan Anda dapat melompat ke Langkah 3.

   1. Jika kesalahan ditampilkan saat Anda menjalankan **git** perintah, instal Git dengan menjalankan perintah ini.

      ```
      sudo apt-get install git
      ```

   1. Uji lagi untuk melihat apakah Git diinstal dengan menjalankan perintah ini.

      ```
      git --version
      ```

   1. Jika Git diinstal, lanjutkan ke bagian berikutnya. Jika tidak, pecahkan masalah dan perbaiki kesalahan sebelum melanjutkan. Anda memerlukan Git untuk menginstal AWS IoT Device SDK untuk JavaScript.

## Instal SDK AWS IoT Perangkat
<a name="gs-device-install-sdk"></a>

Instal SDK AWS IoT Perangkat.

------
#### [ Python ]

Di bagian ini, Anda akan menginstal Python, alat pengembangannya, dan AWS IoT Device SDK untuk Python di perangkat Anda. Instruksi ini untuk Raspberry Pi yang menjalankan OS Raspberry Pi terbaru. Jika Anda memiliki perangkat lain atau menggunakan sistem operasi lain, Anda mungkin perlu menyesuaikan petunjuk ini untuk perangkat Anda.

1. 

**Instal Python dan alat pengembangannya**  
 AWS IoT Perangkat SDK untuk Python memerlukan Python v3.5 atau yang lebih baru untuk diinstal pada Raspberry Pi Anda.

   Di jendela terminal ke perangkat Anda, jalankan perintah ini.

   1. Jalankan perintah ini untuk menentukan versi Python yang diinstal pada perangkat Anda.

      ```
      python3 --version
      ```

      Jika Python diinstal, itu akan menampilkan versinya.

   1. Jika versi yang ditampilkan `Python 3.5` atau lebih besar, Anda dapat melompat ke Langkah 2.

   1. Jika versi yang ditampilkan kurang dari`Python 3.5`, Anda dapat menginstal versi yang benar dengan menjalankan perintah ini.

      ```
      sudo apt install python3
      ```

   1. Jalankan perintah ini untuk mengonfirmasi bahwa versi Python yang benar sekarang diinstal.

      ```
      python3 --version
      ```

1. 

**Uji untuk pip3**  
Di jendela terminal ke perangkat Anda, jalankan perintah ini.

   1. Jalankan perintah ini untuk melihat **pip3** apakah sudah diinstal.

      ```
      pip3 --version
      ```

   1. Jika perintah mengembalikan nomor versi, **pip3** diinstal dan Anda dapat melompat ke Langkah 3.

   1. Jika perintah sebelumnya mengembalikan kesalahan, jalankan perintah ini untuk menginstal**pip3**.

      ```
      sudo apt install python3-pip
      ```

   1. Jalankan perintah ini untuk melihat **pip3** apakah sudah diinstal.

      ```
      pip3 --version
      ```

1. 

**Instal SDK AWS IoT Perangkat saat ini untuk Python**  
Instal SDK AWS IoT Perangkat untuk Python dan unduh contoh aplikasi ke perangkat Anda.

   Di perangkat Anda, jalankan perintah ini.

   ```
   cd ~
   python3 -m pip install awsiotsdk
   ```

   ```
   git clone https://github.com/aws/aws-iot-device-sdk-python-v2.git
   ```

------
#### [ JavaScript ]

Di bagian ini, Anda akan menginstal Node.js, manajer paket npm, dan AWS IoT Device SDK untuk JavaScript di perangkat Anda. Instruksi ini untuk Raspberry Pi yang menjalankan Raspberry Pi OS. Jika Anda memiliki perangkat lain atau menggunakan sistem operasi lain, Anda mungkin perlu menyesuaikan petunjuk ini untuk perangkat Anda.

1. 

**Instal versi terbaru dari Node.js**  
 AWS IoT Perangkat SDK untuk JavaScript membutuhkan Node.js dan manajer paket npm untuk diinstal pada Raspberry Pi Anda.

   1. Unduh versi terbaru dari repositori Node dengan memasukkan perintah ini.

      ```
      cd ~
      curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
      ```

   1. Instal Node dan npm.

      ```
      sudo apt-get install -y nodejs
      ```

   1. Verifikasi instalasi Node.

      ```
      node -v
      ```

      Konfirmasikan bahwa perintah menampilkan versi Node. Tutorial ini membutuhkan Node v10.0 atau yang lebih baru. Jika versi Node tidak ditampilkan, coba unduh repositori Node lagi.

   1. Verifikasi instalasi npm.

      ```
      npm -v
      ```

      Konfirmasikan bahwa perintah menampilkan versi npm. Jika versi npm tidak ditampilkan, coba instal Node dan npm lagi.

   1. Mulai ulang perangkat.

      ```
      sudo shutdown -r 0
      ```

      Lanjutkan setelah perangkat restart.

1. 

**Instal SDK AWS IoT Perangkat untuk JavaScript**  
Instal AWS IoT Device SDK untuk JavaScript Raspberry Pi Anda.

   1. Kloning AWS IoT Device SDK untuk JavaScript repositori ke `aws-iot-device-sdk-js-v2` direktori direktori Anda. *home* Pada Raspberry Pi, *home* direktorinya adalah`~/`, yang digunakan sebagai *home* direktori dalam perintah berikut. Jika perangkat Anda menggunakan jalur yang berbeda untuk *home* direktori, Anda harus mengganti `~/` dengan jalur yang benar untuk perangkat Anda dalam perintah berikut.

      Perintah ini membuat `~/aws-iot-device-sdk-js-v2` direktori dan menyalin kode SDK ke dalamnya.

      ```
      cd ~
      git clone https://github.com/aws/aws-iot-device-sdk-js-v2.git
      ```

   1. Ubah ke `aws-iot-device-sdk-js-v2` direktori yang Anda buat pada langkah sebelumnya dan jalankan `npm install` untuk menginstal SDK. Perintah `npm install` akan memanggil build `aws-crt` perpustakaan yang dapat memakan waktu beberapa menit untuk menyelesaikannya.

      ```
      cd ~/aws-iot-device-sdk-js-v2
      npm install
      ```

------

## Instal dan jalankan aplikasi sampel
<a name="gs-device-node-app-run"></a>

Di bagian ini, Anda akan menginstal dan menjalankan aplikasi `pubsub` sampel yang ditemukan di AWS IoT Device SDK. Aplikasi ini menunjukkan bagaimana perangkat Anda menggunakan pustaka MQTT untuk mempublikasikan dan berlangganan pesan MQTT. Aplikasi sampel berlangganan topik`topic_1`, menerbitkan 10 pesan ke topik itu, dan menampilkan pesan saat diterima dari broker pesan.

**Instal file sertifikat**  
Aplikasi sampel memerlukan file sertifikat yang mengautentikasi perangkat yang akan diinstal pada perangkat.

**Untuk menginstal file sertifikat perangkat untuk aplikasi sampel**

1. Buat `certs` subdirektori di *home* direktori Anda dengan menjalankan perintah ini.

   ```
   cd ~
   mkdir certs
   ```

1. Ke `~/certs` direktori, salin kunci pribadi, sertifikat perangkat, dan sertifikat CA root yang Anda buat sebelumnya[Buat AWS IoT sumber daya](create-iot-resources.md).

   Cara Anda menyalin file sertifikat ke perangkat tergantung pada perangkat dan sistem operasi dan tidak dijelaskan di sini. Namun, jika perangkat Anda mendukung antarmuka pengguna grafis (GUI) dan memiliki browser web, Anda dapat melakukan prosedur yang dijelaskan [Buat AWS IoT sumber daya](create-iot-resources.md) dari browser web perangkat Anda untuk mengunduh file yang dihasilkan langsung ke perangkat Anda.

   Perintah di bagian berikutnya mengasumsikan bahwa file kunci dan sertifikat Anda disimpan di perangkat seperti yang ditunjukkan dalam tabel ini.  
**Nama berkas sertifikat**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/connecting-to-existing-device.html)

Untuk menjalankan aplikasi sampel, Anda memerlukan informasi berikut:


**Nilai parameter aplikasi**  

|  Parameter  |  Di mana menemukan nilainya  | 
| --- | --- | 
| your-iot-endpoint |  Di [AWS IoT konsol](https://console.aws.amazon.com/iot/home), pilih **Semua perangkat**, lalu pilih **Things**. Pada halaman **Pengaturan** di AWS IoT menu. Titik akhir Anda ditampilkan di bagian **titik akhir data Perangkat**.  | 

*your-iot-endpoint*Nilai memiliki format:`endpoint_id-ats.iot.region.amazonaws.com`, misalnya,`a3qj468EXAMPLE-ats.iot.us-west-2.amazonaws.com`.

------
#### [ Python ]

**Untuk menginstal dan menjalankan aplikasi sampel**

1. Arahkan ke direktori aplikasi contoh.

   ```
   cd ~/aws-iot-device-sdk-python-v2/samples
   ```

1. Di jendela baris perintah, ganti *your-iot-endpoint* seperti yang ditunjukkan dan jalankan perintah ini.

   ```
   python3 pubsub.py --topic topic_1 --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key --endpoint your-iot-endpoint
   ```

1. Perhatikan bahwa aplikasi sampel:

   1. Terhubung ke AWS IoT layanan untuk akun Anda.

   1. Berlangganan topik pesan, **topic\$11**, dan menampilkan pesan yang diterimanya pada topik itu.

   1. Menerbitkan 10 pesan ke topik, **topic\$11**.

   1. Menampilkan output yang mirip dengan berikut ini:

   ```
   Connecting to a3qEXAMPLEffp-ats.iot.us-west-2.amazonaws.com with client ID 'test-0c8ae2ff-cc87-49d2-a82a-ae7ba1d0ca5a'...
   Connected!
   Subscribing to topic 'topic_1'...
   Subscribed with QoS.AT_LEAST_ONCE
   Sending 10 message(s)
   Publishing message to topic 'topic_1': Hello World! [1]
   Received message from topic 'topic_1': b'Hello World! [1]'
   Publishing message to topic 'topic_1': Hello World! [2]
   Received message from topic 'topic_1': b'Hello World! [2]'
   Publishing message to topic 'topic_1': Hello World! [3]
   Received message from topic 'topic_1': b'Hello World! [3]'
   Publishing message to topic 'topic_1': Hello World! [4]
   Received message from topic 'topic_1': b'Hello World! [4]'
   Publishing message to topic 'topic_1': Hello World! [5]
   Received message from topic 'topic_1': b'Hello World! [5]'
   Publishing message to topic 'topic_1': Hello World! [6]
   Received message from topic 'topic_1': b'Hello World! [6]'
   Publishing message to topic 'topic_1': Hello World! [7]
   Received message from topic 'topic_1': b'Hello World! [7]'
   Publishing message to topic 'topic_1': Hello World! [8]
   Received message from topic 'topic_1': b'Hello World! [8]'
   Publishing message to topic 'topic_1': Hello World! [9]
   Received message from topic 'topic_1': b'Hello World! [9]'
   Publishing message to topic 'topic_1': Hello World! [10]
   Received message from topic 'topic_1': b'Hello World! [10]'
   10 message(s) received.
   Disconnecting...
   Disconnected!
   ```

   Jika Anda mengalami masalah dalam menjalankan aplikasi sampel, tinjau[Memecahkan masalah dengan aplikasi sampel](gs-device-troubleshoot.md).

   Anda juga dapat menambahkan `--verbosity Debug` parameter ke baris perintah sehingga aplikasi sampel menampilkan pesan terperinci tentang apa yang dilakukannya. Informasi itu mungkin memberi Anda bantuan yang Anda butuhkan untuk memperbaiki masalah.

------
#### [ JavaScript ]

**Untuk menginstal dan menjalankan aplikasi sampel**

1. Di jendela baris perintah Anda, navigasikan ke `~/aws-iot-device-sdk-js-v2/samples/node/pub_sub` direktori yang dibuat SDK dan instal aplikasi sampel dengan menggunakan perintah ini. Perintah `npm install` akan memanggil build `aws-crt` perpustakaan yang dapat memakan waktu beberapa menit untuk menyelesaikannya.

   ```
   cd ~/aws-iot-device-sdk-js-v2/samples/node/pub_sub
   npm install
   ```

1. Di jendela baris perintah, ganti *your-iot-endpoint* seperti yang ditunjukkan dan jalankan perintah ini.

   ```
   node dist/index.js --topic topic_1 --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key --endpoint your-iot-endpoint
   ```

1. Perhatikan bahwa aplikasi sampel:

   1. Terhubung ke AWS IoT layanan untuk akun Anda.

   1. Berlangganan topik pesan, **topic\$11**, dan menampilkan pesan yang diterimanya pada topik itu.

   1. Menerbitkan 10 pesan ke topik, **topic\$11**.

   1. Menampilkan output yang mirip dengan berikut ini:

   ```
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":1}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":2}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":3}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":4}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":5}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":6}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":7}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":8}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":9}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":10}
   ```

   Jika Anda mengalami masalah dalam menjalankan aplikasi sampel, tinjau[Memecahkan masalah dengan aplikasi sampel](gs-device-troubleshoot.md).

   Anda juga dapat menambahkan `--verbosity Debug` parameter ke baris perintah sehingga aplikasi sampel menampilkan pesan terperinci tentang apa yang dilakukannya. Informasi itu mungkin memberi Anda bantuan yang Anda butuhkan untuk memperbaiki masalah.

------

## Melihat pesan dari aplikasi sampel di AWS IoT konsol
<a name="gs-device-view-msg"></a>

**Anda dapat melihat pesan aplikasi sampel saat mereka melewati broker pesan dengan menggunakan **klien pengujian MQTT di konsol**.AWS IoT **

**Untuk melihat pesan MQTT yang diterbitkan oleh aplikasi sampel**

1. Ulasan[Lihat pesan MQTT dengan klien MQTT AWS IoT](view-mqtt-messages.md). Ini membantu Anda mempelajari cara menggunakan **klien pengujian MQTT** di **AWS IoT konsol** untuk melihat pesan MQTT saat mereka melewati broker pesan.

1. **Buka **klien pengujian MQTT di konsol**.AWS IoT **

1. Berlangganan topik, **topic\$11**.

1. **Di jendela baris perintah Anda, jalankan aplikasi sampel lagi dan tonton pesan di **klien MQTT di konsol**.AWS IoT **

------
#### [ Python ]

   ```
   cd ~/aws-iot-device-sdk-python-v2/samples
   python3 pubsub.py --topic topic_1 --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key --endpoint your-iot-endpoint
   ```

------
#### [ JavaScript ]

   ```
   cd ~/aws-iot-device-sdk-js-v2/samples/node/pub_sub
   node dist/index.js --topic topic_1 --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key --endpoint your-iot-endpoint
   ```

------

# Memecahkan masalah dengan aplikasi sampel
<a name="gs-device-troubleshoot"></a>

Jika Anda mengalami kesalahan saat mencoba menjalankan aplikasi sampel, berikut adalah beberapa hal yang perlu diperiksa.

## Periksa sertifikatnya
<a name="gs-device-ts-step-1"></a>

Jika sertifikat tidak aktif, tidak AWS IoT akan menerima upaya koneksi apa pun yang menggunakannya untuk otorisasi. Saat membuat sertifikat Anda, mudah untuk mengabaikan tombol **Aktifkan**. Untungnya, Anda dapat mengaktifkan sertifikat Anda dari [AWS IoT konsol](https://console.aws.amazon.com/iot/home).

**Untuk memeriksa aktivasi sertifikat Anda**

1. Di [AWS IoT konsol](https://console.aws.amazon.com/iot/home), di menu sebelah kiri, pilih **Aman**, lalu pilih **Sertifikat**.

1. Dalam daftar sertifikat, temukan sertifikat yang Anda buat untuk latihan dan periksa statusnya di kolom **Status**.

   Jika Anda tidak ingat nama sertifikat, periksa apakah ada yang **Tidak Aktif** untuk melihat apakah mereka mungkin yang Anda gunakan.

   Pilih sertifikat dalam daftar untuk membuka halaman detailnya. Di halaman detail, Anda dapat melihat **tanggal Buat** untuk membantu Anda mengidentifikasi sertifikat.

1. **Untuk mengaktifkan sertifikat tidak aktif**, dari halaman detail sertifikat, pilih **Tindakan**, lalu pilih **Aktifkan**. 

Jika Anda menemukan sertifikat yang benar dan aktif, tetapi Anda masih mengalami masalah dalam menjalankan aplikasi sampel, periksa kebijakannya seperti yang dijelaskan langkah selanjutnya.

Anda juga dapat mencoba membuat hal baru dan sertifikat baru dengan mengikuti langkah-langkah di[Buat objek benda](create-iot-resources.md#create-aws-thing). Jika Anda membuat hal baru, Anda harus memberinya nama hal baru dan mengunduh file sertifikat baru ke perangkat Anda.

## Periksa kebijakan yang dilampirkan pada sertifikat
<a name="gs-device-ts-step-2"></a>

Kebijakan mengotorisasi tindakan di AWS IoT. Jika sertifikat yang digunakan untuk terhubung AWS IoT tidak memiliki kebijakan, atau tidak memiliki kebijakan yang memungkinkannya terhubung, koneksi akan ditolak, bahkan jika sertifikat aktif.

**Untuk memeriksa kebijakan yang dilampirkan pada sertifikat**

1. Temukan sertifikat seperti yang dijelaskan pada item sebelumnya dan buka halaman detailnya.

1. Di menu sebelah kiri halaman detail sertifikat, pilih **Kebijakan** untuk melihat kebijakan yang dilampirkan pada sertifikat.

1. Jika tidak ada kebijakan yang dilampirkan pada sertifikat, tambahkan satu dengan memilih menu **Tindakan**, lalu pilih **Lampirkan kebijakan**. 

   Pilih kebijakan yang Anda buat sebelumnya[Buat AWS IoT sumber daya](create-iot-resources.md).

1. Jika ada kebijakan yang dilampirkan, pilih ubin kebijakan untuk membuka halaman detailnya.

   Di halaman detail, tinjau **dokumen Kebijakan** untuk memastikan dokumen tersebut berisi informasi yang sama dengan yang Anda buat[Buat AWS IoT kebijakan](create-iot-resources.md#create-iot-policy).

## Periksa baris perintah
<a name="gs-device-ts-step-3"></a>

Pastikan Anda menggunakan baris perintah yang benar untuk sistem Anda. Perintah yang digunakan pada sistem Linux dan macOS seringkali berbeda dari yang digunakan pada sistem Windows.

## Periksa alamat titik akhir
<a name="gs-device-ts-step-4"></a>

[Tinjau perintah yang Anda masukkan dan periksa kembali alamat titik akhir dalam perintah Anda ke yang ada di konsol Anda AWS IoT .](https://console.aws.amazon.com/iot/home)

## Periksa nama file dari file sertifikat
<a name="gs-device-ts-step-5"></a>

Bandingkan nama file dalam perintah yang Anda masukkan ke nama file file sertifikat di `certs` direktori.

Beberapa sistem mungkin memerlukan nama file dalam tanda kutip agar berfungsi dengan benar.

## Periksa instalasi SDK
<a name="gs-device-ts-step-6"></a>

Pastikan penginstalan SDK Anda selesai dan benar.

Jika ragu, instal ulang SDK di perangkat Anda. Dalam kebanyakan kasus, itu masalah menemukan bagian tutorial berjudul **Install the AWS IoT Device SDK untuk **SDK language**** dan mengikuti prosedur lagi.

Jika Anda menggunakan **AWS IoT Device SDK untuk JavaScript**, ingatlah untuk menginstal contoh aplikasi sebelum Anda mencoba menjalankannya. Menginstal SDK tidak secara otomatis menginstal aplikasi sampel. Contoh aplikasi harus diinstal secara manual setelah SDK diinstal.

# Lihat pesan MQTT dengan klien MQTT AWS IoT
<a name="view-mqtt-messages"></a>

Bagian ini menjelaskan cara menggunakan klien pengujian AWS IoT MQTT di [AWS IoT konsol](https://console.aws.amazon.com/iot/home) untuk menonton pesan MQTT yang dikirim dan diterima oleh. AWS IoT Contoh yang digunakan di bagian ini berkaitan dengan contoh yang digunakan[Memulai dengan AWS IoT Core tutorial](iot-gs.md); namun, Anda dapat mengganti yang *topicName* digunakan dalam contoh dengan [nama topik atau filter topik](topics.md) apa pun yang digunakan oleh solusi IoT Anda.

Perangkat menerbitkan pesan MQTT yang diidentifikasi berdasarkan [topik](topics.md) untuk mengkomunikasikan statusnya AWS IoT, dan AWS IoT menerbitkan pesan MQTT untuk menginformasikan perangkat dan aplikasi tentang perubahan dan peristiwa. Anda dapat menggunakan klien MQTT untuk berlangganan topik ini dan menonton pesan saat muncul. Anda juga dapat menggunakan klien pengujian MQTT untuk mempublikasikan pesan MQTT ke perangkat dan layanan berlangganan di perangkat dan layanan Anda. Akun AWS

**Topics**
+ [Melihat pesan MQTT di klien MQTT](#view-mqtt-subscribe)
+ [Menerbitkan pesan MQTT dari klien MQTT](#view-mqtt-publish)
+ [Menguji Langganan Bersama di klien MQTT](#view-mqtt-shared-subscriptions)

## Melihat pesan MQTT di klien MQTT
<a name="view-mqtt-subscribe"></a>

[Prosedur berikut menjelaskan cara berlangganan topik MQTT tertentu tempat perangkat Anda memublikasikan pesan dan melihat pesan tersebut di konsol.AWS IoT](https://console.aws.amazon.com/iot/home)

**Untuk melihat pesan MQTT di klien pengujian MQTT**

1. Di [AWS IoT konsol](https://console.aws.amazon.com/iot/home), di menu sebelah kiri, pilih **Test** dan kemudian pilih **MQTT** test client.  
![\[Pilih klien pengujian MQTT dari menu konsol di navigasi kiri.\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/choose-test.png)

1. Di tab **Berlangganan ke topik**, masukkan *topicName* untuk berlangganan topik yang dipublikasikan perangkat Anda. Untuk aplikasi sampel yang memulai, berlangganan**\$1**, yang berlangganan semua topik pesan.

   Melanjutkan contoh memulai, pada tab **Berlangganan topik**, di bidang **Filter topik**, masukkan**\$1**, lalu pilih **Berlangganan**.  
![\[Berlangganan ke tab topik.\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/subscribe-button-topic.png)

   Halaman log pesan topik, **\$1** terbuka dan **\$1** muncul di daftar **Langganan**. Jika perangkat yang Anda [Konfigurasikan perangkat Anda](configure-device.md) konfigurasikan menjalankan program contoh, Anda akan melihat pesan yang dikirimnya AWS IoT di log pesan **\$1**. Entri log pesan akan muncul di bawah bagian **Publikasikan** saat pesan dengan topik berlangganan diterima oleh. AWS IoT  
![\[Bagian untuk menampilkan topik telah berhasil berlangganan.\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/subscribed-button-topic.png)

1. Pada halaman log pesan **\$1**, Anda juga dapat mempublikasikan pesan ke topik, tetapi Anda harus menentukan nama topik. Anda tidak dapat mempublikasikan ke topik **\$1**.

   Pesan yang dipublikasikan ke topik berlangganan muncul di log pesan saat diterima, dengan pesan terbaru terlebih dahulu.

### Memecahkan masalah pesan MQTT
<a name="view-mqtt-trouble"></a>

**Gunakan filter topik wild card**  
Jika pesan Anda tidak muncul di log pesan seperti yang Anda harapkan, coba berlangganan filter topik wild card seperti yang dijelaskan dalam[Filter nama topik](topics.md#topicfilters). **Filter topik wild card multi-level MQTT adalah tanda hash atau pound (`#`) dan dapat digunakan sebagai filter topik di bidang topik Langganan.**

Berlangganan filter `#` topik berlangganan setiap topik yang diterima oleh broker pesan. Anda dapat mempersempit filter dengan mengganti elemen jalur filter topik dengan karakter kartu liar `#` multi-level atau karakter kartu liar tingkat tunggal '\$1'.

**Saat menggunakan kartu liar dalam filter topik**
+ Karakter kartu liar multi-level harus menjadi karakter terakhir dalam filter topik.
+ Jalur filter topik hanya dapat memiliki satu karakter kartu liar tingkat tunggal per level topik.

Contoh:


|  Filter topik  |  Menampilkan pesan dengan  | 
| --- | --- | 
|   `#`   |   Nama topik apa pun   | 
|   `topic_1/#`   |   Nama topik yang dimulai dengan `topic_1/`  | 
|   `topic_1/level_2/#`   |   Nama topik yang dimulai dengan `topic_1/level_2/`  | 
|   `topic_1/+/level_3`   |   Nama topik yang dimulai dengan`topic_1/`, diakhiri dengan`/level_3`, dan memiliki satu elemen dengan nilai apa pun di antaranya.  | 

Untuk informasi selengkapnya tentang filter topik, lihat[Filter nama topik](topics.md#topicfilters).

**Periksa kesalahan nama topik**  
Nama topik dan filter topik MQTT peka huruf besar/kecil. Jika, misalnya, perangkat Anda menerbitkan pesan ke `Topic_1` (dengan huruf besar *T*) alih-alih `topic_1` topik yang Anda langgani, pesannya tidak akan muncul di klien pengujian MQTT. Namun, berlangganan filter topik wild card akan menunjukkan bahwa perangkat menerbitkan pesan dan Anda dapat melihat bahwa itu menggunakan nama topik yang bukan yang Anda harapkan.

## Menerbitkan pesan MQTT dari klien MQTT
<a name="view-mqtt-publish"></a>

**Untuk mempublikasikan pesan ke topik MQTT**

1. Pada halaman klien pengujian MQTT, di tab **Publikasikan ke topik**, di bidang **Nama topik**, masukkan pesan Anda. *topicName* Dalam contoh ini, gunakan**my/topic**. 
**catatan**  
Jangan gunakan informasi yang dapat diidentifikasi secara pribadi dalam nama topik, baik menggunakannya di klien pengujian MQTT atau dalam implementasi sistem Anda. Nama topik dapat muncul dalam komunikasi dan laporan yang tidak terenkripsi.

1. Di jendela payload pesan, masukkan JSON berikut:

   ```
   {
       "message": "Hello, world",
       "clientType": "MQTT test client"
   }
   ```

1. Pilih **Publikasikan** untuk mempublikasikan pesan Anda AWS IoT.
**catatan**  
Pastikan Anda berlangganan topik **saya/topik** sebelum mempublikasikan pesan Anda.  
![\[Publikasikan ke tab topik.\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/publish-to-topic.png)

1. Dalam daftar **Langganan**, pilih **topik saya/untuk** melihat pesan. Anda akan melihat pesan muncul di klien pengujian MQTT di bawah jendela payload pesan publikasi.  
![\[Layar yang menunjukkan topik yang diterbitkan telah diterima.\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/publish-to-topic-received.png)

**Anda dapat mempublikasikan pesan MQTT ke topik lain dengan mengubah bidang **Nama topik** dan memilih tombol Publikasikan. *topicName***

**penting**  
Saat Anda membuat beberapa langganan dengan topik yang tumpang tindih (misalnya, probe1/suhu dan probe1/\$1), ada kemungkinan satu pesan yang diterbitkan ke suatu topik yang cocok dengan kedua langganan akan dikirimkan beberapa kali, yakni satu kali untuk setiap langganan yang tumpang tindih. 

## Menguji Langganan Bersama di klien MQTT
<a name="view-mqtt-shared-subscriptions"></a>

Bagian ini menjelaskan cara menggunakan klien AWS IoT MQTT di [AWS IoT konsol](https://console.aws.amazon.com/iot/home) untuk menonton pesan MQTT yang dikirim dan diterima menggunakan Langganan Bersama. AWS IoT [Langganan bersama](mqtt.md#mqtt5-shared-subscription)memungkinkan beberapa klien untuk berbagi langganan ke topik dengan hanya satu klien menerima pesan yang dipublikasikan ke topik tersebut menggunakan distribusi acak. [Untuk mensimulasikan beberapa klien MQTT (dalam contoh ini, dua klien MQTT) berbagi langganan yang sama, Anda membuka klien AWS IoT MQTT di konsol dari beberapa browser web.AWS IoT](https://console.aws.amazon.com/iot/home) Contoh yang digunakan di bagian ini tidak berhubungan dengan contoh yang digunakan dalam[Memulai dengan AWS IoT Core tutorial](iot-gs.md). Untuk informasi selengkapnya, lihat [Langganan Bersama](mqtt.md#mqtt5-shared-subscription).

**Untuk berbagi langganan ke topik MQTT**

1. Di [AWS IoT konsol](https://console.aws.amazon.com/iot/home), di panel navigasi, pilih **Uji** dan kemudian pilih klien pengujian **MQTT**.

1. Di tab **Berlangganan ke topik**, masukkan *topicName* untuk berlangganan topik yang dipublikasikan perangkat Anda. Untuk menggunakan Langganan Bersama, berlangganan filter topik Langganan Bersama sebagai berikut:

   ```
   $share/{ShareName}/{TopicFilter}
   ```

   Contoh filter topik dapat berupa**\$1share/group1/topic1**, yang berlangganan topik **topic1** pesan.  
![\[Tab yang menunjukkan cara menentukan filter topik untuk langganan bersama.\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/shared-subscription-topicfilter.png)

1. Buka browser web lain dan ulangi langkah 1 dan langkah2. Dengan cara ini, Anda mensimulasikan dua klien MQTT berbeda yang berbagi langganan yang sama. **\$1share/group1/topic1**

1. Pilih satu klien MQTT, di tab **Publikasikan ke topik**, di bidang **Nama topik**, masukkan pesan Anda*topicName*. Dalam contoh ini, gunakan**topic1**. Cobalah mempublikasikan pesan beberapa kali. Dari daftar **Langganan** kedua klien MQTT, Anda harus dapat melihat bahwa klien menerima pesan menggunakan distribusi acak. Dalam contoh ini, kami menerbitkan pesan yang sama “Halo dari AWS IoT konsol” tiga kali. Klien MQTT di sebelah kiri menerima pesan dua kali dan klien MQTT di sebelah kanan menerima pesan satu kali.  
![\[Langganan bersama mengalir dengan dua klien untuk berbagi langganan ke topik dan hanya satu klien yang akan menerima pesan yang dipublikasikan ke topik tersebut menggunakan distribusi acak.\]](http://docs.aws.amazon.com/id_id/iot/latest/developerguide/images/shared_subscriptions_test.gif)