

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

# Menyiapkan AWS IoT
<a name="iot-moisture-setup"></a>

Untuk menyelesaikan tutorial ini, Anda perlu membuat sumber daya berikut. Untuk menghubungkan perangkat AWS IoT, Anda membuat IoT, sertifikat perangkat, dan kebijakan. AWS IoT 
+  AWS IoT Sesuatu.

  Sesuatu mewakili perangkat fisik (dalam hal ini, Rasberry Pi Anda) dan berisi metadata statis tentang perangkat. 
+ Sertifikat perangkat.

  Semua perangkat harus memiliki sertifikat perangkat untuk terhubung dan mengautentikasi. AWS IoT
+ Sebuah AWS IoT kebijakan.

  Setiap sertifikat perangkat memiliki satu atau lebih AWS IoT kebijakan yang terkait dengannya. Kebijakan ini menentukan AWS IoT sumber daya mana yang dapat diakses perangkat. 
+ Sertifikat CA AWS IoT root.

  Perangkat dan klien lain menggunakan sertifikat CA AWS IoT root untuk mengautentikasi AWS IoT server yang dengannya mereka berkomunikasi. Untuk informasi selengkapnya, lihat [Otentikasi server](server-authentication.md).
+ Sebuah AWS IoT aturan.

  Aturan berisi kueri dan satu atau beberapa tindakan aturan. Kueri mengekstrak data dari pesan perangkat untuk menentukan apakah data pesan harus diproses. Tindakan aturan menentukan apa yang harus dilakukan jika data cocok dengan query.
+ Langganan topik dan topik Amazon SNS.

  Aturan mendengarkan data kelembaban dari Raspberry Pi Anda. Jika nilainya di bawah ambang batas, ia mengirim pesan ke topik Amazon SNS. Amazon SNS mengirimkan pesan itu ke semua alamat email yang berlangganan topik tersebut.

 



# Langkah 1: Buat AWS IoT kebijakan
<a name="iot-moisture-policy"></a>

Buat AWS IoT kebijakan yang memungkinkan Raspberry Pi Anda terhubung dan mengirim pesan AWS IoT.

1. Di [AWS IoT konsol](https://console.aws.amazon.com/iot), jika tombol **Mulai** muncul, pilih. Jika tidak, di panel navigasi, perluas **Keamanan**, lalu pilih **Kebijakan**.

1. Jika kotak dialog **Anda belum memiliki kebijakan apa pun** muncul, pilih **Buat kebijakan**. Jika tidak, pilih **Buat**.

1. Masukkan nama untuk AWS IoT kebijakan (misalnya,**MoistureSensorPolicy**).

1. Di bagian **Tambah pernyataan**, ganti kebijakan yang ada dengan JSON berikut. Ganti *region* dan *account* dengan Akun AWS nomor Wilayah AWS dan Anda.  
****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "iot:Connect",
               "Resource": "arn:aws:iot:us-east-1:123456789012:client/RaspberryPi"
           },
           {
               "Effect": "Allow",
               "Action": "iot:Publish",
               "Resource": [
                   "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/RaspberryPi/shadow/update",
                   "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/RaspberryPi/shadow/delete",
                   "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/RaspberryPi/shadow/get"
               ]
           },
           {
               "Effect": "Allow",
               "Action": "iot:Receive",
               "Resource": [
                   "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/RaspberryPi/shadow/update/accepted",
                   "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/RaspberryPi/shadow/delete/accepted",
                   "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/RaspberryPi/shadow/get/accepted",
                   "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/RaspberryPi/shadow/update/rejected",
                   "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/RaspberryPi/shadow/delete/rejected"
               ]
           },
           {
               "Effect": "Allow",
               "Action": "iot:Subscribe",
               "Resource": [
                   "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/things/RaspberryPi/shadow/update/accepted",
                   "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/things/RaspberryPi/shadow/delete/accepted",
                   "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/things/RaspberryPi/shadow/get/accepted",
                   "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/things/RaspberryPi/shadow/update/rejected",
                   "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/things/RaspberryPi/shadow/delete/rejected"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "iot:GetThingShadow",
                   "iot:UpdateThingShadow",
                   "iot:DeleteThingShadow"
               ],
               "Resource": "arn:aws:iot:us-east-1:123456789012:thing/RaspberryPi"
           }
       ]
   }
   ```

1. Pilih **Buat**.

# Langkah 2: Buat AWS IoT benda, sertifikat, dan kunci pribadi
<a name="iot-moisture-create-thing"></a>

Buat sesuatu di AWS IoT registri untuk mewakili Raspberry Pi Anda.

1. Di [AWS IoT konsol](https://console.aws.amazon.com/iot/home), di panel navigasi, pilih **Kelola**, lalu pilih **Things**.

1. Jika kotak dialog **Anda belum memiliki hal apa pun** ditampilkan, pilih **Daftarkan sesuatu**. Jika tidak, pilih **Buat**.

1. Pada halaman **Creating AWS IoT things**, pilih **Create a single**.

1. **Pada halaman **Tambahkan perangkat Anda ke registri perangkat**, masukkan nama untuk hal IoT Anda (misalnya,**RaspberryPi**), lalu pilih Berikutnya.** Anda tidak dapat mengubah nama sesuatu setelah Anda membuatnya. Untuk mengubah nama hal, Anda harus membuat hal baru, memberikan nama baru, dan kemudian menghapus hal lama.

1. Pada halaman **Tambahkan sertifikat untuk hal Anda**, pilih **Buat sertifikat**.

1. Pilih tautan **Unduh** untuk mengunduh sertifikat, kunci pribadi, dan sertifikat root CA.
**penting**  
Ini adalah satu-satunya waktu Anda dapat mengunduh sertifikat dan kunci pribadi Anda.

1. Untuk mengaktifkan sertifikat, pilih **Aktifkan**. Sertifikat harus aktif agar perangkat dapat terhubung AWS IoT.

1. Pilih **Lampirkan kebijakan**.

1. Untuk **Tambahkan kebijakan untuk barang Anda**, pilih **MoistureSensorPolicy**, lalu pilih **Register Thing**.

# Langkah 3: Buat topik dan langganan Amazon SNS
<a name="iot-moisture-create-sns-topic"></a>

Buat topik dan langganan Amazon SNS.

1. Dari [konsol AWS SNS](https://console.aws.amazon.com/sns/home), di panel navigasi, pilih **Topik**, lalu pilih **Buat** topik.

1. Pilih ketik sebagai **Standar** dan masukkan nama untuk topik (misalnya,**MoistureSensorTopic**).

1. Masukkan nama tampilan untuk topik (misalnya,**Moisture Sensor Topic**). Ini adalah nama yang ditampilkan untuk topik Anda di konsol Amazon SNS.

1. Pilih **Buat topik**.

1. Di halaman detail topik Amazon SNS, pilih **Buat** langganan.

1. Untuk **Protokol**, pilih **Email**.

1. Untuk **Titik Akhir**, masukkan alamat email Anda.

1. Pilih **Buat langganan**.

1. Buka klien email Anda dan cari pesan dengan subjek**MoistureSensorTopic**. Buka email dan klik tautan **Konfirmasi berlangganan**.
**penting**  
Anda tidak akan menerima peringatan email apa pun dari topik Amazon SNS ini sampai Anda mengonfirmasi langganan.

Anda harus menerima pesan email dengan teks yang Anda ketik.

# Langkah 4: Buat AWS IoT aturan untuk mengirim email
<a name="iot-moisture-create-rule"></a>

 AWS IoT Aturan mendefinisikan kueri dan satu atau beberapa tindakan yang harus diambil saat pesan diterima dari perangkat. Mesin AWS IoT aturan mendengarkan pesan yang dikirim oleh perangkat dan menggunakan data dalam pesan untuk menentukan apakah beberapa tindakan harus diambil. Untuk informasi selengkapnya, lihat [Aturan untuk AWS IoT](iot-rules.md). 

Dalam tutorial ini, Raspberry Pi Anda menerbitkan pesan di`aws/things/RaspberryPi/shadow/update`. Ini adalah topik MQTT internal yang digunakan oleh perangkat dan layanan Thing Shadow. Raspberry Pi menerbitkan pesan yang memiliki bentuk berikut:

```
{
    "reported": {
        "moisture" : moisture-reading,
        "temp" : temperature-reading
    }
}
```

Anda membuat kueri yang mengekstrak data kelembaban dan suhu dari pesan yang masuk. Anda juga membuat tindakan Amazon SNS yang mengambil data dan mengirimkannya ke pelanggan topik Amazon SNS jika pembacaan kelembaban di bawah nilai ambang batas.

**Buat aturan Amazon SNS**

1. Di [AWS IoT konsol](https://console.aws.amazon.com/iot/home), pilih **Perutean pesan,** lalu pilih **Aturan**. Jika kotak dialog **Anda belum memiliki aturan apa pun** muncul, pilih **Buat aturan**. Jika tidak, pilih **Buat aturan**.

1. Di halaman **properti Aturan**, masukkan **nama Aturan** seperti**MoistureSensorRule**, dan berikan **deskripsi Aturan** singkat seperti**Sends an alert when soil moisture level readings are too low**.

1. Pilih **Berikutnya** dan konfigurasikan pernyataan SQL Anda. Pilih **versi SQL** sebagai **2016-03-23**, dan masukkan pernyataan query SQL berikut: AWS IoT 

   ```
   SELECT * FROM '$aws/things/RaspberryPi/shadow/update/accepted' WHERE state.reported.moisture < 400
   ```

   Pernyataan ini memicu tindakan aturan ketika `moisture` pembacaan kurang dari`400`.
**catatan**  
Anda mungkin harus menggunakan nilai yang berbeda. Setelah kode berjalan pada Raspberry Pi Anda, Anda dapat melihat nilai yang Anda dapatkan dari sensor Anda dengan menyentuh sensor, menempatkannya di air, atau menempatkannya di penanam. 

1. Pilih **Berikutnya** dan lampirkan tindakan aturan. Untuk **Tindakan 1**, pilih **Layanan Pemberitahuan Sederhana**. Deskripsi untuk tindakan aturan ini adalah **Kirim pesan sebagai pemberitahuan push SNS**.

1. Untuk **topik SNS**, pilih topik yang Anda buat [Langkah 3: Buat topik dan langganan Amazon SNS](iot-moisture-create-sns-topic.md) **MoistureSensorTopic**, dan biarkan **format Pesan** sebagai **RAW**. Untuk **Peran IAM**, pilih **Buat Peran Baru**. Masukkan nama untuk peran, misalnya**LowMoistureTopicRole**, lalu pilih **Buat peran**.

1. Pilih **Berikutnya** untuk meninjau dan kemudian pilih **Buat** untuk membuat aturan.