

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

# Pengaturan orientasi hub
<a name="managedintegrations-sdk-v2-cookbook-hubsetup"></a>

Selesaikan langkah-langkah penyiapan ini untuk setiap perangkat hub sebelum Anda memulai proses orientasi penyediaan armada. Bagian ini menjelaskan cara membuat hal-hal yang dikelola, mengatur struktur direktori, dan mengonfigurasi sertifikat yang diperlukan.

**Topics**
+ [Langkah 1: Daftarkan titik akhir kustom](#managedintegrations-sdk-v2-cookbook-acc)
+ [Langkah 2: Buat profil penyediaan](#managedintegrations-sdk-v2-cookbook-fleet-provision)
+ [Langkah 3: Buat hal yang dikelola (penyediaan armada)](#managedintegrations-sdk-v2-cookbook-managedthing)
+ [Langkah 4: Buat struktur direktori](#managedintegrations-sdk-v2-cookbook-hubdir)
+ [Langkah 5: Tambahkan bahan otentikasi ke perangkat hub](#managedintegrations-sdk-v2-cookbook-copycert)
+ [Langkah 6: Buat file konfigurasi perangkat](#managedintegrations-sdk-v2-cookbook-genconfig)
+ [Langkah 7: Salin file konfigurasi ke hub Anda](#managedintegrations-sdk-v2-cookbook-copyconfig)

## Langkah 1: Daftarkan titik akhir kustom
<a name="managedintegrations-sdk-v2-cookbook-acc"></a>

Buat titik akhir komunikasi khusus yang digunakan perangkat Anda untuk bertukar data dengan Integrasi Terkelola. Titik akhir ini menetapkan titik koneksi aman untuk semua pesan perangkat-ke-cloud, termasuk perintah perangkat, pembaruan status, dan pemberitahuan.

**Untuk mendaftarkan titik akhir**
+ Gunakan [RegisterCustomEndpoint](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_RegisterCustomEndpoint.html)API untuk membuat titik akhir komunikasi Integrasi Device-to-Managed.

  **RegisterCustomEndpointMinta contoh**

  ```
  aws iot-managed-integrations register-custom-endpoint  
  ```

  **Tanggapan:**

  ```
  {
    [{{ACCOUNT-PREFIX}}]-ats.iot.{{AWS-REGION}}.amazonaws.com
  }
  ```
**catatan**  
Simpan alamat titik akhir. Anda akan membutuhkannya untuk komunikasi perangkat masa depan.

  Untuk mengembalikan informasi titik akhir, gunakan `GetCustomEndpoint` API.

  Untuk informasi selengkapnya, lihat [RegisterCustomEndpoint](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_RegisterCustomEndpoint.html)API dan [GetCustomEndpoint](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_GetCustomEndpoint.html)API di *Panduan Referensi API* Integrasi Terkelola.

## Langkah 2: Buat profil penyediaan
<a name="managedintegrations-sdk-v2-cookbook-fleet-provision"></a>

Profil penyediaan berisi kredensil keamanan dan setelan konfigurasi yang dibutuhkan perangkat Anda untuk terhubung ke Integrasi Terkelola. 

**Untuk membuat profil penyediaan armada**
+ <a name="managedintegrations-sdk-v2-cookbook-provisioning"></a>Panggil [CreateProvisioningProfile](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_CreateProvisioningProfile.html)API untuk menghasilkan yang berikut:
  + Template penyediaan yang mendefinisikan setelan koneksi perangkat
  + Sertifikat klaim dan kunci pribadi untuk otentikasi perangkat
**penting**  
Simpan sertifikat klaim, kunci pribadi, dan ID templat dengan aman. Anda memerlukan kredensil ini ke perangkat onboard ke Integrasi Terkelola. Jika Anda kehilangan kredensil ini, Anda harus membuat profil penyediaan baru.

**`CreateProvisioningProfile`contoh permintaan**

```
aws iot-managed-integrations create-provisioning-profile \
    --provisioning-type FLEET_PROVISIONING \
    --name PROFILE_NAME
```

**Tanggapan:**

```
{
"Arn":"arn:aws:iotmanagedintegrations:{{AWS-REGION}}:{{ACCOUNT-ID}}:provisioning-profile/{{PROFILE-ID}}",
    "ClaimCertificate":
  "-----BEGIN CERTIFICATE-----
  MIICiTCCAfICCQD6m7.....w3rrszlaEXAMPLE=
  -----END CERTIFICATE-----",
    "ClaimCertificatePrivateKey":
  "-----BEGIN RSA PRIVATE KEY-----
  MIICiTCCAfICCQ...3rrszlaEXAMPLE=
 -----END RSA PRIVATE KEY-----",
    "Id": "{{PROFILE-ID}}",
    "{{PROFILE-NAME}}",
         "ProvisioningType": "FLEET_PROVISIONING"
}
```

## Langkah 3: Buat hal yang dikelola (penyediaan armada)
<a name="managedintegrations-sdk-v2-cookbook-managedthing"></a>

Gunakan `CreateManagedThing` API untuk membuat hal terkelola untuk perangkat hub Anda. Setiap hub membutuhkan hal yang dikelola sendiri dengan materi otentikasi yang unik. Untuk informasi selengkapnya, lihat [CreateManagedThing](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_CreateManagedThing.html)API di *Referensi API* Integrasi Terkelola.

Saat Anda membuat hal yang dikelola, tentukan parameter ini:
+ `Role`: Setel nilai ini ke `CONTROLLER` untuk hub yang tidak mendukung perintah dan kontrol, jika tidak diatur ke`DEVICE`.
+ `AuthenticationMaterialType`: Tetapkan nilai ini ke`WIFI_SETUP_QR_BAR_CODE`.
+ `AuthenticationMaterial`: Sertakan bidang berikut. Anda dapat menggunakan salah satu `UPC` atau `EAN` tetapi tidak keduanya.
  + `SN`: Nomor seri unik untuk perangkat ini
  + `UPC`: Kode produk universal untuk perangkat ini
  + `EAN`: Nomor artikel internasional untuk perangkat ini

**penting**  
Setiap perangkat harus memiliki nomor seri unik (SN) dalam materi otentikasi.

**`CreateManagedThing`Contoh permintaan**:

```
{ 
 "Role": "CONTROLLER",
 "AuthenticationMaterialType": "WIFI_SETUP_QR_BAR_CODE",
 "AuthenticationMaterial": "SN:123456789524;UPC:829576019524"
}
```

Untuk informasi selengkapnya, lihat [CreateManagedThing](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_CreateManagedThing.html)di *Referensi API* Integrasi Terkelola.

### (Opsional) Dapatkan hal yang dikelola
<a name="managedintegrations-sdk-v2-cookbook-managedthing-get"></a>

Hal `ProvisioningStatus` yang Anda kelola harus `PRE_ASSOCIATED` sebelum Anda dapat melanjutkan. Untuk informasi selengkapnya ProvisioningStatus, lihat [Penyediaan Perangkat](https://docs.aws.amazon.com/iot-mi/latest/devguide/device-provisioning.html). Gunakan `GetManagedThing` API untuk memverifikasi bahwa hal terkelola Anda ada dan siap untuk disediakan. Untuk informasi selengkapnya, lihat [GetManagedThing](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_GetManagedThing.html)di *Referensi API* Integrasi Terkelola.

## Langkah 4: Buat struktur direktori
<a name="managedintegrations-sdk-v2-cookbook-hubdir"></a>

Buat direktori untuk file konfigurasi dan sertifikat Anda. Secara default, proses orientasi hub menggunakan file. `/data/aws/iotmi/config/iotmi_config.json`

Anda dapat menentukan jalur kustom untuk sertifikat dan kunci pribadi dalam file konfigurasi. Panduan ini menggunakan jalur default`/data/aws/iotmi/certs`.

```
mkdir -p /data/aws/iotmi/config
mkdir -p /data/aws/iotmi/certs

/data/
    aws/
        iotmi/
            config/
            certs/
```

## Langkah 5: Tambahkan bahan otentikasi ke perangkat hub
<a name="managedintegrations-sdk-v2-cookbook-copycert"></a>

Salin sertifikat dan kunci ke perangkat hub Anda, lalu buat file konfigurasi khusus perangkat. File-file ini membangun komunikasi yang aman antara hub Anda dan Integrasi Terkelola selama proses penyediaan.

**Untuk menyalin sertifikat klaim dan kunci**
+ Salin file autentikasi ini dari respons `CreateProvisioningProfile` API Anda ke perangkat hub Anda:
  + `claim_cert.pem`: Sertifikat klaim (umum untuk semua perangkat)
  + `claim_pk.key`: Kunci pribadi untuk sertifikat klaim

  Tempatkan kedua file di `/data/aws/iotmi/certs` direktori.
**penting**  
 Saat menyimpan sertifikat dan kunci pribadi dalam format PEM, pastikan pemformatan yang tepat dengan menangani karakter baris baru dengan benar. Untuk PEM-encoded file, karakter baris baru `(\n)` harus diganti dengan pemisah baris yang sebenarnya, karena hanya menyimpan baris baru yang lolos tidak akan diambil dengan benar nanti. 
**catatan**  
Jika Anda menggunakan penyimpanan aman, simpan kredensil ini di lokasi penyimpanan aman Anda alih-alih sistem file. Untuk informasi selengkapnya, lihat [Buat handler sertifikat khusus untuk penyimpanan aman](managedintegrations-sdk-v2-cookbook-certhandler.md).

## Langkah 6: Buat file konfigurasi perangkat
<a name="managedintegrations-sdk-v2-cookbook-genconfig"></a>

Buat file konfigurasi yang berisi pengenal perangkat unik, lokasi sertifikat, dan pengaturan penyediaan. SDK menggunakan file ini selama orientasi hub untuk mengautentikasi perangkat Anda, mengelola status penyediaan, dan menyimpan setelan koneksi.

**catatan**  
Setiap perangkat hub memerlukan file konfigurasinya sendiri dengan nilai khusus perangkat yang unik.

Gunakan prosedur berikut untuk membuat atau memodifikasi file konfigurasi Anda, dan salin ke hub.
+ <a name="managedintegrations-sdk-v2-cookbook-modifyconfig-fleet"></a>**Membuat atau memodifikasi file konfigurasi (penyediaan armada).** 

  Konfigurasikan bidang wajib ini dalam file konfigurasi perangkat:
  + Jalur sertifikat

    1. `iot_claim_cert_path`: Lokasi sertifikat klaim Anda (`claim_cert.pem`)

    1. `iot_claim_pk_path`: Lokasi kunci pribadi Anda (`claim_pk.key`)

    1. Gunakan `SECURE_STORAGE` untuk kedua bidang saat menerapkan Secure Storage Cert Handler
  + Pengaturan koneksi

    1. `fp_template_name``ProvisioningProfile`Nama dari sebelumnya.

    1. `endpoint_url`: URL titik akhir Integrasi Terkelola Anda dari respons `RegisterCustomEndpoint` API (sama untuk semua perangkat di Wilayah).
  + Pengidentifikasi perangkat

    1. `SN`: Nomor seri perangkat yang cocok dengan panggilan `CreateManagedThing` API Anda (unik per perangkat)

    1. `UPC`Kode produk universal dari panggilan `CreateManagedThing` API Anda (sama untuk semua perangkat produk ini) 

  ```
  {
      "ro": {
          "iot_provisioning_method": "FLEET_PROVISIONING",
          "iot_claim_cert_path": "{{<SPECIFY_THIS_FIELD>}}",
          "iot_claim_pk_path": "{{<SPECIFY_THIS_FIELD>}}",
          "fp_template_name": "{{<SPECIFY_THIS_FIELD>}}",        
          "endpoint_url": "{{<SPECIFY_THIS_FIELD>}}",
          "SN": "{{<SPECIFY_THIS_FIELD>}}",
          "UPC": "{{<SPECIFY_THIS_FIELD>}}"        
      },
      "rw": {
          "iot_provisioning_state": "NOT_PROVISIONED"
      }
  }
  ```

### Isi file konfigurasi
<a name="managedintegrations-sdk-v2-cookbook-config-contents"></a>

Tinjau isi `iotmi_config.json` file.


**Daftar Isi**  

| Key | Nilai | Ditambahkan oleh pelanggan? | Catatan | 
| --- | --- | --- | --- | 
| iot\_provisioning\_method | FLEET\_PROVISIONING | Ya | Tentukan metode penyediaan yang ingin Anda gunakan. | 
| iot\_claim\_cert\_path | Jalur file yang Anda tentukan atauSECURE\_STORAGE. Sebagai contoh, /data/aws/iotmi/certs/claim\_cert.pem. | Ya | Tentukan jalur file yang ingin Anda gunakan atauSECURE\_STORAGE. | 
| iot\_claim\_pk\_path | Jalur file yang Anda tentukan atauSECURE\_STORAGE. Sebagai contoh, /data/aws/iotmi/certs/claim\_pk.pem. | Ya | Tentukan jalur file yang ingin Anda gunakan atauSECURE\_STORAGE. | 
| fp\_template\_name | Nama template penyediaan armada harus sama dengan nama ProvisioningProfile yang digunakan sebelumnya. | Ya | Sama dengan nama ProvisioningProfile yang digunakan sebelumnya | 
| endpoint\_url | URL titik akhir untuk Integrasi Terkelola. | Ya | Perangkat Anda menggunakan URL ini untuk terhubung ke cloud Integrasi Terkelola. Untuk mendapatkan informasi ini, gunakan [RegisterCustomEndpoint](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_RegisterCustomEndpoint.html)API. | 
| SN | Nomor seri perangkat. Misalnya, AIDACKCEVSQ6C2EXAMPLE. | Ya | Anda harus memberikan informasi unik ini untuk setiap perangkat. | 
| UPC | Kode produk universal perangkat. Misalnya, 841667145075. | Ya | Anda harus memberikan informasi ini untuk perangkat. | 
| managed\_thing\_id | ID dari hal yang dikelola. | Tidak | Informasi ini ditambahkan kemudian oleh proses orientasi setelah penyediaan hub. | 
| iot\_provisioning\_state | Status penyediaan. | Ya | Status penyediaan harus ditetapkan sebagai. NOT\_PROVISIONED | 
| iot\_permanent\_cert\_path | Jalur sertifikat IoT. Misalnya, /data/aws/iotmi/iot\_cert.pem. | Tidak | Informasi ini ditambahkan kemudian oleh proses orientasi setelah penyediaan hub. | 
| iot\_permanent\_pk\_path | Jalur file kunci pribadi IoT. Misalnya, /data/aws/iotmi/iot\_pk.pem. | Tidak | Informasi ini ditambahkan kemudian oleh proses orientasi setelah penyediaan hub. | 
| client\_id | ID klien yang akan digunakan untuk koneksi MQTT. | Tidak | Informasi ini ditambahkan kemudian oleh proses orientasi setelah penyediaan hub, agar komponen lain dapat dikonsumsi. | 
| mqtt\_keep\_alive\_interval | Rentang 30-1200, dan unit dalam hitungan detik. Nilai default adalah 300. | Ya | Gunakan ini untuk mengatur interval keep-alive untuk koneksi MQTT. | 
| event\_manager\_upper\_bound | Nilai default adalah 500. | Tidak | Informasi ini ditambahkan kemudian oleh proses orientasi setelah penyediaan hub, agar komponen lain dapat dikonsumsi. | 

## Langkah 7: Salin file konfigurasi ke hub Anda
<a name="managedintegrations-sdk-v2-cookbook-copyconfig"></a>

Salin file konfigurasi Anda ke `/data/aws/iotmi/config` atau jalur direktori kustom Anda. Anda akan memberikan jalur ini ke `HubOnboarding` biner selama proses orientasi.

**Untuk penyediaan armada**

```
/data/
    aws/
        iotmi/
            config/
                iotmi_config.json
            certs/
                claim_cert.pem
                claim_pk.key
```